Skip to Content
API-referanseOrdrePOSTSend inn en ordre
Ordre

Send inn en ordre eller en forespørsel

POST/api/v1/orders
Virker

Blir en ordre i verkstedets liste med neste nummer, akkurat som en lapp, en ordre fra disken eller fra nettbutikken. En forespørsel (intent: request) venter på at verkstedet bekrefter. Et avrop på en godtatt avtale (agreementNumber og position-linjer, modulen Avtaler) blir Mottatt med avtalens priser; en kundenøkkel når bare sin egen kundes avtaler. Idempotency-Key gjør det trygt å prøve igjen.

Rettigheter
orders:write
Kundenøkkel
Ja, for sine egne
Grense
skriving, 30 i minuttet
Siden

Parametre

Overskrifter

  • Idempotency-KeystringMå med8–255 tegn
    8–255 tegn. Bruk en UUID per forsøk på en handling; samme nøkkel og samme innhold gir samme svar igjen.

Det du sender

application/jsonCreateOrderRequestMå med

  • intentstringMå med
    request: en Forespørsel verkstedet bekrefter («Ingenting er avtalt før du har bekreftet»). order: rett inn som Mottatt (bare verkstedets egne nøkler, med kunde).
    Verdierorderrequest
  • customer{ id } | { number } | { orgNr }kan være null
    Kunden: { "id" }, { "number" } (kundenummeret i registeret) eller { "orgNr" }.
    Vis 3 varianterSkjul 3 varianter
    1. 1{ id }
      • idstring · uuidMå med
        UUID
    2. 2{ number }
      • numberintegerMå medminst 1
    3. 3{ orgNr }
      • orgNrstringMå medmønster ^\d{3} ?\d{3} ?\d{3}$
  • contactContactInputkan være null
    Vis 5 feltSkjul 5 felt
    • namestringMå med1–200 tegn
    • companystringkan være nullhøyst 200 tegn
    • orgNrstringkan være nullhøyst 20 tegn
    • emailstringkan være nullhøyst 300 tegn
    • mobilestringkan være nullhøyst 30 tegn
      Norsk mobilnummer; sendes som +47…
  • createCustomerboolean
    Lag kunden i registeret fra contact (bare med en ekte nøkkel som er verkstedets egen).
  • agreementNumberintegerkan være nullminst 1
    Et avrop på en godtatt avtale (intent: "order", bare position-linjer). Kunden, prosjektet og prisene er avtalens; en kundenøkkel når bare sin egen kundes avtaler. Ordren får source: "avrop".
  • projectNostringkan være nullhøyst 60 tegn
  • ordererstringkan være nullhøyst 100 tegn
  • customerPostringkan være nullhøyst 100 tegn
  • titlestringkan være nullhøyst 200 tegn
  • notestringkan være nullhøyst 2000 tegn
  • deliveryobjectkan være null
    Vis 3 feltSkjul 3 felt
    • modestringkan være null
      Verdierhentinglevering
    • requestedDatestring · datekan være nulleks. 2026-12-18
      Dato på Oslo-kalenderen, ÅÅÅÅ-MM-DD
    • addressobjectkan være null
      Vis 3 feltSkjul 3 felt
      • linestringMå med1–300 tegn
      • postalCodestringkan være nullhøyst 10 tegn
      • citystringkan være nullhøyst 100 tegn
  • lines(TextLineInput | PositionLineInput)[]høyst 1000
    Vis 2 varianterSkjul 2 varianter
    1. 1TextLineInput
      • kindstringMå med
        Alltid "text"
      • descriptionstringMå med1–2000 tegn
      • quantitynumberMå med
        1–500
      • unitstring
        Verdierstkmm2
    2. 2PositionLineInput
      • kindstringMå med
        Alltid "position"
      • positionIdstring · uuidMå med
        Posisjonen fra GET /agreements/{number} (positions[].id).
      • lengthMmintegerMå med
        Platelengden i mm. Høyst avtalens maxLengthMm.
      • quantityintegerMå med
        Antall stykk.
  • externalRefstringkan være nullhøyst 100 tegn
    Din egen id (for eksempel woo-18822). Unik per nøkkel: samme id igjen gir 409 med ordrenummeret.

Svaret

201CreatedOrdren er lagret. Location peker på den.

Overskrifter

  • Locationstring
    /api/v1/orders/<nummer>

application/jsonOrder

Vis alle 39 feltSkjul de 39 feltene
  • idstring · uuidMå med
    UUID
  • numberintegerMå med
    Ordrenummeret i verkstedets serie (testordre har sin egen serie).
  • numberDisplaystringMå med
    «004711», eller «T-000012» for en testordre.
  • isTestbooleanMå med
  • sourcestringMå med
    Hvor ordren kom fra (lapp, manuell, tilbud, avrop, nettbutikk, api, import). Kan få nye verdier: les en ukjent verdi som «annet».
    Verdierlappmanuelltilbudavropnettbutikkapiimportportalnettverk
  • channelstringMå medkan være null
    Navnet på nøkkelen eller butikkens «kilde»: der ordren kom fra.
  • statusstringMå med
    Lagret status: forespurt, mottatt, i_arbeid, klar, levert, fakturert, betalt, avbrutt. Stigen får aldri et nytt trinn uten v2.
    Verdierforespurtmottatti_arbeidklarlevertfakturertbetaltavbrutt
  • statusLabelstringMå med
    Statusen med appens ord: Forespørsel, Mottatt, I arbeid, Klar, Levert/Hentet, Fakturert, Betalt, Avbrutt/Avvist.
  • statusChangedAtstring · date-timeMå medeks. 2026-12-14T09:03:00.000Z
    Tidspunkt, ISO 8601 i UTC
  • customerobjectMå medkan være null
    Vis 3 feltSkjul 3 felt
    • idstring · uuidMå med
      UUID
    • numberintegerMå medkan være null
    • namestringMå med
  • contactobjectMå medkan være null
    Bare så lenge ordren ikke har en kunde (en forespørsel).
    Vis 5 feltSkjul 5 felt
    • namestringMå med
    • companystringMå medkan være null
    • orgNrstringMå medkan være null
    • emailstringMå medkan være null
    • mobilestringMå medkan være null
  • projectNostringMå medkan være null
  • ordererstringMå medkan være null
  • customerPostringMå medkan være null
  • titlestringMå medkan være null
  • notestringMå medkan være null
  • agreementobjectMå medkan være null
    Vis 1 feltSkjul 1 felt
    • idstring · uuidMå med
      UUID
  • deliveryobjectMå med
    Vis 4 feltSkjul 4 felt
    • modestringMå medkan være null
      Verdierhentinglevering
    • requestedDatestring · dateMå medkan være nulleks. 2026-12-18
      Dato på Oslo-kalenderen, ÅÅÅÅ-MM-DD
    • deliveryDatestring · dateMå medkan være nulleks. 2026-12-18
      Dato på Oslo-kalenderen, ÅÅÅÅ-MM-DD
    • addressobjectMå medkan være null
      Vis 3 feltSkjul 3 felt
      • linestringMå med
      • postalCodestringMå medkan være null
      • citystringMå medkan være null
  • linesOrderLine[]Må med
    Vis 13 feltSkjul 13 felt
    • lineNointegerMå med
    • kindstringMå med
      product (et beslag fra butikken), position (en avtaleposisjon), text (en linje i ord), fee (frakt, emballasje, gebyr). Kan få nye verdier.
      Verdierproductpositiontextfee
    • descriptionstringMå med
    • quantitynumberMå med
    • unitstringMå med
      Verdierstkmm2time
    • lengthMmintegerMå medkan være null
    • productIdstring · uuidMå medkan være null
      UUID
    • agreementPositionIdstring · uuidMå medkan være null
      UUID
    • profileobjectMå medkan være null
      Vis 5 feltSkjul 5 felt
      • familystringMå medkan være null
      • paramsRecord<string, number>Må mednøklene er tekst
      • materialstringMå medkan være null
      • colourstringMå medkan være null
      • colourSidestringMå medkan være null
    • priceStatusstringMå med
      pending: «Pris kommer»; hidden: en kundenøkkel og en butikk som skjuler prisene.
      Verdierpricedpendinghidden
    • unitPriceOreintegerMå medkan være null
      Hele øre (1 kr = 100 øre)
    • netOreintegerMå medkan være null
      Hele øre (1 kr = 100 øre)
    • vatBpintegerMå medkan være null0–10000
      Moms i basispunkter: 2500 = 25 %
  • totalsobjectMå med
    Vis 5 feltSkjul 5 felt
    • netOreintegerMå medkan være null
      Hele øre (1 kr = 100 øre)
    • vatOreintegerMå medkan være null
      Hele øre (1 kr = 100 øre)
    • grossOreintegerMå medkan være null
      Hele øre (1 kr = 100 øre)
    • currencystringMå med
      Alltid "NOK"
    • priceStatusstringMå med
      priced: alle linjer har pris; partial: noen linjer venter på pris; in_kalkyle: prisen står i kalkylen; hidden: skjult for en kundenøkkel. Beløpene er null når de ikke er kjent.
      Verdierpricedpartialin_kalkylehidden
  • hasKalkylebooleanMå medkan være null
    Om ordren er priset i en kalkyle; null for en kundenøkkel.
  • stickerNumbersinteger[]Må med
    Lappnumrene som er knyttet til ordren.
  • readyWithoutReceiptbooleanMå med
    «Klar uten mottak».
  • readySmsobjectMå medkan være null
    Klar-SMS-en: status og tider, aldri nummer eller tekst. Null for en kundenøkkel.
    Vis 3 feltSkjul 3 felt
    • statusstringMå med
      Verdierqueuedcancelledsendingsentdeliveredfailed
    • sendAfterstring · date-timeMå medkan være nulleks. 2026-12-14T09:03:00.000Z
      Tidspunkt, ISO 8601 i UTC
    • sentAtstring · date-timeMå medkan være nulleks. 2026-12-14T09:03:00.000Z
      Tidspunkt, ISO 8601 i UTC
  • invoiceobjectMå medkan være null
    Vis 5 feltSkjul 5 felt
    • idstring · uuidMå med
      UUID
    • kindstringMå med
      Verdierinvoicecredit_noteerp_mark
    • numberstringMå medkan være null
    • issuedAtstring · date-timeMå medkan være nulleks. 2026-12-14T09:03:00.000Z
      Tidspunkt, ISO 8601 i UTC
    • erpNostringMå medkan være null
  • attachmentsAttachment[]Må med
    Vis 5 feltSkjul 5 felt
    • idstring · uuidMå med
      UUID
    • kindstringMå med
      Verdierfototegningpdf
    • contentTypestringMå med
    • bytesintegerMå med
    • createdAtstring · date-timeMå medeks. 2026-12-14T09:03:00.000Z
      Tidspunkt, ISO 8601 i UTC
  • externalRefstringMå medkan være null
    Din egen id for ordren, unik per nøkkel.
  • createdAtstring · date-timeMå medeks. 2026-12-14T09:03:00.000Z
    Tidspunkt, ISO 8601 i UTC
  • receivedAtstring · date-timeMå medkan være nulleks. 2026-12-14T09:03:00.000Z
    Tidspunkt, ISO 8601 i UTC
  • inWorkAtstring · date-timeMå medkan være nulleks. 2026-12-14T09:03:00.000Z
    Tidspunkt, ISO 8601 i UTC
  • readyAtstring · date-timeMå medkan være nulleks. 2026-12-14T09:03:00.000Z
    Tidspunkt, ISO 8601 i UTC
  • deliveredAtstring · date-timeMå medkan være nulleks. 2026-12-14T09:03:00.000Z
    Tidspunkt, ISO 8601 i UTC
  • invoicedAtstring · date-timeMå medkan være nulleks. 2026-12-14T09:03:00.000Z
    Tidspunkt, ISO 8601 i UTC
  • paidAtstring · date-timeMå medkan være nulleks. 2026-12-14T09:03:00.000Z
    Tidspunkt, ISO 8601 i UTC
  • cancelledAtstring · date-timeMå medkan være nulleks. 2026-12-14T09:03:00.000Z
    Tidspunkt, ISO 8601 i UTC
  • cancelReasonstringMå medkan være null
  • updatedAtstring · date-timeMå medeks. 2026-12-14T09:03:00.000Z
    Tidspunkt, ISO 8601 i UTC
  • versionintegerMå med
    Øker ved hver endring. Send den tilbake i If-Match: "v<version>".
  • productionOrderProductionkan være null
    Bøyearkene på ordren, når verkstedet har Produksjon; null uten Produksjon og for en kundenøkkel. Med i svarene fra ordreoperasjonene, ikke i webhooks og GET /events. Et bøyd ark endrer ikke version, så når production ikke er null, svarer If-None-Match aldri 304.
    Vis 3 feltSkjul 3 felt
    • bendingSheetsintegerMå medminst 0
      Bøyearkene på ordren: den gjeldende versjonen av hvert, uten de avbrutte.
    • bentintegerMå medminst 0
      Hvor mange av dem som er bøyd.
    • waitingForCustomerintegerMå medminst 0
      Hvor mange som venter på at kunden godkjenner («Venter på kunden»).

Feilkoder

Alle feil har samme form. Velg handling etter code, aldri etter message. Les mer under Feil.

400Bad Request
401Unauthorized
  • unauthorizedNøkkelen mangler, er feil, er slått av eller har gått ut. En nøkkel som slås av, slutter å virke innen 1 minutt.
403Forbidden
409Conflict
422Unprocessable Entity
428Precondition Required
429Too Many Requests
  • rate_limitedFor mange kall. Vent retryAfterSeconds sekunder.
500Internal Server Error
  • internalNoe gikk galt hos oss. Feilen er meldt. Oppgi requestId hvis du spør.