SeeRM Docs

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:

  1. Inkommande order - Skapa nya order automatiskt (och kunder om de inte finns).
  2. Inkommande orderuppdateringar - Uppdatera befintliga order och kundinfo.
  3. Inkommande tasks - Skapa automatiskt en task på ett valt bräde.
  4. 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:

  1. Hämta en specifik order

    https://example.seerm.se/api/order/1752825914353?ordername=<ordername>
  2. 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 = New
  • 1 = Pending
  • 2 = Contacted
  • 3 = Waiting
  • 4 = Booked
  • 5 = Blocked
  • 6 = Cancelled
  • 7 = 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:

  1. Hämta en specifik order

    https://example.seerm.se/api/order/assigned?ordername=<ordername>
  2. 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 = New
  • 1 = Pending
  • 2 = Contacted
  • 3 = Waiting
  • 4 = Booked
  • 5 = Blocked
  • 6 = Cancelled
  • 7 = 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
      }
    ]
  }
}

On this page

Fråga AI