Order API
Skapa anpassade endpoints för att skicka och ta emot data till och från SeeRM.
Översikt
SeeRM erbjuder öppna API:er som låter dig skapa anpassade endpoints för tre huvudsyften:
- Inkommande order - Skapa nya order automatiskt (och kunder om de inte finns).
- Inkommande orderuppdateringar - Uppdatera befintliga order och kundinfo.
- Inkommande tasks - Skapa automatiskt en task på ett valt bräde.
- Utgående order - Hämta orderinformation från SeeRM till externa system.
Endast Admins kan skapa, ändra eller uppdatera API:er.
Hantering av API:er sker i Admin → API.
Inkommande Order API
När du skapar ett Inkommande Order API definierar du:
- Ordertyp och orderpartner
- Ett namn för API:et
- Valfri autentisering med hemligt värde för Bearer-autorisation
Du kan även konfigurera om du vill:
- Tillåta order att skapas om kunden finns - Lägger till ordern på befintlig kund
- Blockera order om kunden finns - Returnerar fel 409
Du kan också välja hur kunden ska valideras (oberoende av tillåt/blockera-inställningen ovan):
- E-post och telefonnummer (standard)
- Endast e-post
- Endast telefonnummer
När API:et har skapats får du en specifik endpoint för det.
Fält
- En lista på alla tillgängliga fält tillhandahålls
- Fält markerade med rött
*är obligatoriska - Du kan byta namn på fält för att matcha externa system
Example
- Obligatoriska fält:
ordername,name,email,phonenumber,street,zipcode,city - Valfria fält:
customer_info
{
"ordername": "order123",
"name": "Anna Svensson",
"email": "[email protected]",
"phonenumber": "46701234567",
"street": "Storgatan 12",
"zipcode": "11122",
"city": "Stockholm",
"customer_info": "Portkod 1234, leverans efter 16:00"
}Inkommande Order Uppdatera API
När du skapar ett Inkommande Order Uppdatera API definierar du:
- Ett namn för API:et
- Omfattning för ordertyper eller orderpartners (lämna tomt för att tillåta alla)
- Valfri autentisering med hemligt värde för Bearer-autorisation
Du kan sedan konfigurera vad du vill tillåta endpointen att uppdatera. Följande alternativ går att uppdatera:
- Customer info
- Order Adressen
- Kundens telefonnummer
- Kundens namn
- Kundens mailaddress
När API:et har skapats får du en specifik endpoint för det.
Fält
- En lista på alla tillgängliga fält tillhandahålls
- Du kan byta namn på fält för att matcha externa system
Example
- Alla fält är valfria vid uppdatering; skicka bara det du vill ändra.
{
"ordername": "order123",
"email": "[email protected]",
"phonenumber": "+46709876543",
"street": "Sveavägen 45",
"zipcode": "11359",
"city": "Stockholm"
}Inkommande Task API
För ett Inkommande Task API definierar du:
- Bräde där tasken skapas (tasken läggs i första kolumnen)
- API-namn
- Valfritt hemligt värde för Bearer-autorisation
Fält
- Titel (obligatorisk)
- Beskrivning (obligatorisk)
- Fältnamn kan anpassas
- Du får en specifik endpoint för detta API
Example
- Obligatoriska fält:
title,description
{
"title": "Installera innedel",
"description": "Boka installation för lgh 3B. Portkod 2580."
}Utgående Order API
Utgående Order API gör det möjligt att skicka data ut från SeeRM till externa system.
Du definierar:
- API-namn
- Valfri autentisering med hemligt värde för Bearer-autorisation
- Omfattning för ordertyper eller orderpartners (lämna tomt för att tillåta alla)
Användning av endpoint
Du får en specifik endpoint för API:et som kan användas på två sätt:
-
Hämta en specifik order
https://example.seerm.se/api/order/1752825914353?ordername=<ordername> -
Hämta flera order
https://example.seerm.se/api/order/1752825914353
Anmärkningar för flera order:
Maximalt svar är 100 order. Om du får exakt 100 kan det finnas fler. Justera filter/omfattning vid behov.
Du kan använda valfria query-parametrar för filtrering och sortering:
fromDate - Startdatum (rekommenderat format: YYYY-MM-DD, t.ex. 2025-12-24)
toDate - Slutdatum (samma format som fromDate)
sortField - Standard: createdAt, valbart: bookedAt
sortOrder - Standard: asc (stigande), valbart: desc (fallande)
Alla parametrar kan kombineras efter behov.
Example
JSON‑payloaden beror på vilka inkluderingsval du gör när du skapar API:et. Fält som inte är inkluderade utelämnas.
- En order: svaret ligger i
order: { ... } - Flera ordrar: svaret ligger i
orders: [ ... ]
Inkluderingsval och vad de visar:
- general info -
name,status,bookedAt,bookedAtEnd,bookedAtFixed,createdAt,markedAsDone,product,duration,orderPartner,orderType,assignedOn - customer info -
customer - address -
address - notes -
notes - customer notes -
customerInfo - info -
orderInfoData - control -
control - articles -
orderArticle,customArticleItem
Status är en siffra som betyder:
0= New1= Pending2= Contacted3= Waiting4= Booked5= Blocked6= Cancelled7= Completed
Mer om statusar finns i Order Statuses.
Duration är i minuter: 0 betyder fast tid (på bookedAt), och 60 betyder att den startar på bookedAt och varar 1 timme.
Nedan är ett exempel när alla inkluderingsval är aktiverade:
{
"order": {
"name": "SE-2026-000321",
"status": 4,
"notes": "Lämna paketet i receptionen.",
"customerInfo": "Föredragen kontakttid: eftermiddag.",
"bookedAt": "2026-01-12T08:00:00.000Z",
"bookedAtEnd": "2026-01-12T11:00:00.000Z",
"bookedAtFixed": true,
"createdAt": "2026-01-10T09:12:30.000Z",
"markedAsDone": false,
"product": "Installation av luftvärmepump",
"duration": 180,
"customer": {
"name": "Anna Svensson",
"email": "[email protected]",
"number": "46701234567",
"createdAt": "2025-11-02T10:15:00.000Z",
"squad": {
"name": "Stockholm North"
}
},
"orderPartner": {
"name": "Partner AB"
},
"orderType": {
"name": "Installation"
},
"address": {
"street": "Storgatan 12",
"zipcode": "11122",
"city": "Stockholm",
"country": "SE"
},
"assignedOn": {
"name": "Erik Johansson, Sara Lind"
},
"orderInfoData": [
{
"value": "Blue",
"orderInfo": {
"index": 1,
"keyword": "color",
"text": "Color",
"formattedText": "Color",
"sensitive": false,
"hidden": false,
"ssn": false,
"product": true
}
}
],
"control": [
{
"controlGroup": "Safety",
"user": "Erik Johansson",
"answers": [
{
"title": "Power off confirmed",
"subtitle": "Main switch",
"completed": true,
"notes": "Verifierat innan arbete",
"images": []
}
]
}
],
"orderArticle": [
{
"user": "Erik Johansson",
"name": "Mounting Kit",
"articleId": "ART-102",
"description": "Standard monteringskit",
"unit": "pcs",
"salesPrice": 450,
"userCommission": 35,
"installerCommission": 25
}
],
"customArticleItem": [
{
"user": "Sara Lind",
"name": "Extra kablage",
"articleId": "CUST-77",
"description": "10m extra kabel",
"unit": "m",
"salesPrice": 120,
"userCommission": 10,
"installerCommission": 8
}
]
}
}Assigned API
Assigned API gör det möjligt för varje användare att hämta orderdata för en eller flera order, men endast för order som är tilldelade den användaren.
Denna endpoint kräver Bearer-autorisation.
- Användare med rollen USER eller ADMIN kan hämta sin personliga access token (PAT) i Settings, som används för Bearer-autorisation
- Användare med rollen INSTALLER behöver be en Admin att skapa token åt dem
Endpoint Usage
Du kan använda endpointen på två sätt:
-
Hämta en specifik order
https://example.seerm.se/api/order/assigned?ordername=<ordername> -
Hämta flera order
https://example.seerm.se/api/order/assigned
Anmärkningar för flera order:
Maximalt svar är 100 order. Om du får exakt 100 kan det finnas fler. Justera filter/omfattning vid behov.
Du kan använda valfria query-parametrar för filtrering och sortering:
fromDate - Startdatum (rekommenderat format: YYYY-MM-DD, t.ex. 2025-12-24)
toDate - Slutdatum (samma format som fromDate)
sortField - Standard: createdAt, valbart: bookedAt
sortOrder - Standard: asc (stigande), valbart: desc (fallande)
Alla parametrar kan kombineras efter behov.
Example
JSON-payloaden beror på vilka inkluderingsval du gör när du skapar API:et. Fält som inte är inkluderade utelämnas.
- En order: svaret ligger i
order: { ... } - Flera ordrar: svaret ligger i
orders: [ ... ]
Inkluderingsval och vad de visar:
- general info -
name,status,bookedAt,bookedAtEnd,bookedAtFixed,createdAt,markedAsDone,product,duration,orderPartner,orderType,assignedOn - customer info -
customer - address -
address - notes -
notes - customer notes -
customerInfo - info -
orderInfoData - control -
control - articles -
orderArticle,customArticleItem
Status är en siffra som betyder:
0= New1= Pending2= Contacted3= Waiting4= Booked5= Blocked6= Cancelled7= Completed
Mer om statusar finns i Order Statuses.
Duration är i minuter: 0 betyder fast tid (på bookedAt), och 60 betyder att den startar på bookedAt och varar 1 timme.
Nedan är ett exempel när alla inkluderingsval är aktiverade:
{
"order": {
"name": "SE-2026-000321",
"status": 4,
"notes": "Lämna paketet i receptionen.",
"customerInfo": "Föredragen kontakttid: eftermiddag.",
"bookedAt": "2026-01-12T08:00:00.000Z",
"bookedAtEnd": "2026-01-12T11:00:00.000Z",
"bookedAtFixed": true,
"createdAt": "2026-01-10T09:12:30.000Z",
"markedAsDone": false,
"product": "Installation av luftvärmepump",
"duration": 180,
"customer": {
"name": "Anna Svensson",
"email": "[email protected]",
"number": "46701234567",
"createdAt": "2025-11-02T10:15:00.000Z",
"squad": {
"name": "Stockholm North"
}
},
"orderPartner": {
"name": "Partner AB"
},
"orderType": {
"name": "Installation"
},
"address": {
"street": "Storgatan 12",
"zipcode": "11122",
"city": "Stockholm",
"country": "SE"
},
"assignedOn": {
"name": "Erik Johansson, Sara Lind"
},
"orderInfoData": [
{
"value": "Blue",
"orderInfo": {
"index": 1,
"keyword": "color",
"text": "Color",
"formattedText": "Color",
"sensitive": false,
"hidden": false,
"ssn": false,
"product": true
}
}
],
"control": [
{
"controlGroup": "Safety",
"user": "Erik Johansson",
"answers": [
{
"title": "Power off confirmed",
"subtitle": "Main switch",
"completed": true,
"notes": "Verifierat innan arbete",
"images": []
}
]
}
],
"orderArticle": [
{
"user": "Erik Johansson",
"name": "Mounting Kit",
"articleId": "ART-102",
"description": "Standard monteringskit",
"unit": "pcs",
"salesPrice": 450,
"userCommission": 35,
"installerCommission": 25
}
],
"customArticleItem": [
{
"user": "Sara Lind",
"name": "Extra kablage",
"articleId": "CUST-77",
"description": "10m extra kabel",
"unit": "m",
"salesPrice": 120,
"userCommission": 10,
"installerCommission": 8
}
]
}
}