Send inn en ordre eller en forespørsel
POST
Virker/api/v1/ordersBlir 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
- 8–255 tegn. Bruk en UUID per forsøk på en handling; samme nøkkel og samme innhold gir samme svar igjen.
Idempotency-KeystringMå med
Det du sender
application/jsonCreateOrderRequestMå med
intentstringMå medrequest: 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- Kunden:
customer{ id } | { number } | { orgNr }{ "id" },{ "number" }(kundenummeret i registeret) eller{ "orgNr" }.Vis 3 varianterSkjul 3 varianter
- 1
{ id }- UUID
idstring · uuidMå med
- 2
{ number }numberintegerMå med
- 3
{ orgNr }orgNrstringMå med
contactContactInputVis 5 feltSkjul 5 felt
namestringMå medcompanystringorgNrstringemailstring- Norsk mobilnummer; sendes som +47…
mobilestring
- Lag kunden i registeret fra
createCustomerbooleancontact(bare med en ekte nøkkel som er verkstedets egen). - Et avrop på en godtatt avtale (
agreementNumberintegerintent: "order", bareposition-linjer). Kunden, prosjektet og prisene er avtalens; en kundenøkkel når bare sin egen kundes avtaler. Ordren fårsource: "avrop". projectNostringordererstringcustomerPostringtitlestringnotestringdeliveryobjectVis 3 feltSkjul 3 felt
modestringVerdierhentinglevering- Dato på Oslo-kalenderen, ÅÅÅÅ-MM-DD
requestedDatestring · date addressobjectVis 3 feltSkjul 3 felt
linestringMå medpostalCodestringcitystring
lines(TextLineInput | PositionLineInput)[]Vis 2 varianterSkjul 2 varianter
- 1
TextLineInputkindstringMå medAlltid"text"descriptionstringMå med- 1–500
quantitynumberMå med unitstringVerdierstkmm2
- 2
PositionLineInputkindstringMå medAlltid"position"- Posisjonen fra
positionIdstring · uuidMå medGET /agreements/{number}(positions[].id). - Platelengden i mm. Høyst avtalens
lengthMmintegerMå medmaxLengthMm. - Antall stykk.
quantityintegerMå med
- Din egen id (for eksempel
externalRefstringwoo-18822). Unik per nøkkel: samme id igjen gir 409 med ordrenummeret.
Svaret
201CreatedOrdren er lagret.
Location peker på den.Overskrifter
- /api/v1/orders/<nummer>
Locationstring
application/jsonOrder
Vis alle 39 feltSkjul de 39 feltene
- UUID
idstring · uuidMå med - Ordrenummeret i verkstedets serie (testordre har sin egen serie).
numberintegerMå med - «004711», eller «T-000012» for en testordre.
numberDisplaystringMå med isTestbooleanMå med- Hvor ordren kom fra (
sourcestringMå medlapp,manuell,tilbud,avrop,nettbutikk,api,import). Kan få nye verdier: les en ukjent verdi som «annet».Verdierlappmanuelltilbudavropnettbutikkapiimportportalnettverk - Navnet på nøkkelen eller butikkens «kilde»: der ordren kom fra.
channelstringMå med - Lagret status:
statusstringMå medforespurt,mottatt,i_arbeid,klar,levert,fakturert,betalt,avbrutt. Stigen får aldri et nytt trinn uten v2.Verdierforespurtmottatti_arbeidklarlevertfakturertbetaltavbrutt - Statusen med appens ord: Forespørsel, Mottatt, I arbeid, Klar, Levert/Hentet, Fakturert, Betalt, Avbrutt/Avvist.
statusLabelstringMå med - Tidspunkt, ISO 8601 i UTC
statusChangedAtstring · date-timeMå med customerobjectMå medVis 3 feltSkjul 3 felt
- UUID
idstring · uuidMå med numberintegerMå mednamestringMå med
- Bare så lenge ordren ikke har en kunde (en forespørsel).
contactobjectMå medVis 5 feltSkjul 5 felt
namestringMå medcompanystringMå medorgNrstringMå medemailstringMå medmobilestringMå med
projectNostringMå medordererstringMå medcustomerPostringMå medtitlestringMå mednotestringMå medagreementobjectMå medVis 1 feltSkjul 1 felt
- UUID
idstring · uuidMå med
deliveryobjectMå medVis 4 feltSkjul 4 felt
modestringMå medVerdierhentinglevering- Dato på Oslo-kalenderen, ÅÅÅÅ-MM-DD
requestedDatestring · dateMå med - Dato på Oslo-kalenderen, ÅÅÅÅ-MM-DD
deliveryDatestring · dateMå med addressobjectMå medVis 3 feltSkjul 3 felt
linestringMå medpostalCodestringMå medcitystringMå med
linesOrderLine[]Må medVis 13 feltSkjul 13 felt
lineNointegerMå medkindstringMå medproduct(et beslag fra butikken),position(en avtaleposisjon),text(en linje i ord),fee(frakt, emballasje, gebyr). Kan få nye verdier.VerdierproductpositiontextfeedescriptionstringMå medquantitynumberMå medunitstringMå medVerdierstkmm2timelengthMmintegerMå med- UUID
productIdstring · uuidMå med - UUID
agreementPositionIdstring · uuidMå med profileobjectMå medVis 5 feltSkjul 5 felt
familystringMå medparamsRecord<string, number>Må medmaterialstringMå medcolourstringMå medcolourSidestringMå med
priceStatusstringMå medpending: «Pris kommer»;hidden: en kundenøkkel og en butikk som skjuler prisene.Verdierpricedpendinghidden- Hele øre (1 kr = 100 øre)
unitPriceOreintegerMå med - Hele øre (1 kr = 100 øre)
netOreintegerMå med - Moms i basispunkter: 2500 = 25 %
vatBpintegerMå med
totalsobjectMå medVis 5 feltSkjul 5 felt
- Hele øre (1 kr = 100 øre)
netOreintegerMå med - Hele øre (1 kr = 100 øre)
vatOreintegerMå med - Hele øre (1 kr = 100 øre)
grossOreintegerMå med currencystringMå medAlltid"NOK"priceStatusstringMå medpriced: 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 ernullnår de ikke er kjent.Verdierpricedpartialin_kalkylehidden
- Om ordren er priset i en kalkyle; null for en kundenøkkel.
hasKalkylebooleanMå med - Lappnumrene som er knyttet til ordren.
stickerNumbersinteger[]Må med - «Klar uten mottak».
readyWithoutReceiptbooleanMå med - Klar-SMS-en: status og tider, aldri nummer eller tekst. Null for en kundenøkkel.
readySmsobjectMå medVis 3 feltSkjul 3 felt
statusstringMå medVerdierqueuedcancelledsendingsentdeliveredfailed- Tidspunkt, ISO 8601 i UTC
sendAfterstring · date-timeMå med - Tidspunkt, ISO 8601 i UTC
sentAtstring · date-timeMå med
invoiceobjectMå medVis 5 feltSkjul 5 felt
- UUID
idstring · uuidMå med kindstringMå medVerdierinvoicecredit_noteerp_marknumberstringMå med- Tidspunkt, ISO 8601 i UTC
issuedAtstring · date-timeMå med erpNostringMå med
attachmentsAttachment[]Må medVis 5 feltSkjul 5 felt
- UUID
idstring · uuidMå med kindstringMå medVerdierfototegningpdfcontentTypestringMå medbytesintegerMå med- Tidspunkt, ISO 8601 i UTC
createdAtstring · date-timeMå med
- Din egen id for ordren, unik per nøkkel.
externalRefstringMå med - Tidspunkt, ISO 8601 i UTC
createdAtstring · date-timeMå med - Tidspunkt, ISO 8601 i UTC
receivedAtstring · date-timeMå med - Tidspunkt, ISO 8601 i UTC
inWorkAtstring · date-timeMå med - Tidspunkt, ISO 8601 i UTC
readyAtstring · date-timeMå med - Tidspunkt, ISO 8601 i UTC
deliveredAtstring · date-timeMå med - Tidspunkt, ISO 8601 i UTC
invoicedAtstring · date-timeMå med - Tidspunkt, ISO 8601 i UTC
paidAtstring · date-timeMå med - Tidspunkt, ISO 8601 i UTC
cancelledAtstring · date-timeMå med cancelReasonstringMå med- Tidspunkt, ISO 8601 i UTC
updatedAtstring · date-timeMå med - Øker ved hver endring. Send den tilbake i
versionintegerMå medIf-Match: "v<version>". - Bøyearkene på ordren, når verkstedet har Produksjon;
productionOrderProductionnulluten Produksjon og for en kundenøkkel. Med i svarene fra ordreoperasjonene, ikke i webhooks ogGET /events. Et bøyd ark endrer ikkeversion, så nårproductionikke ernull, svarerIf-None-Matchaldri 304.Vis 3 feltSkjul 3 felt
- Bøyearkene på ordren: den gjeldende versjonen av hvert, uten de avbrutte.
bendingSheetsintegerMå med - Hvor mange av dem som er bøyd.
bentintegerMå med - Hvor mange som venter på at kunden godkjenner («Venter på kunden»).
waitingForCustomerintegerMå med
Feilkoder
Alle feil har samme form. Velg handling etter code, aldri etter message. Les mer under Feil.
400Bad Request
- invalid_jsonInnholdet er ikke gyldig JSON.
- invalid_requestNoe i forespørselen er feil eller ukjent.
fieldssier hva.
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
- account_closedVerkstedet er stengt.
- customer_key_not_allowedEn kundenøkkel kan ikke gjøre dette.
- dpa_requiredVerkstedet må godta databehandleravtalen før koblinger kan brukes.
- feature_not_in_planVerkstedet har ikke slått på delen dette trenger.
featuresier hvilken. - insufficient_scopeNøkkelen har ikke lov til dette.
requiredScopesier hvilken rett som mangler. - test_key_not_allowedEn testnøkkel kan ikke dette: den endrer aldri kunderegisteret, og et avrop er alltid en ekte ordre.
409Conflict
- duplicate_external_refDu har allerede sendt en ordre med denne
externalRef.existingNumberer ordrenummeret. - idempotency_in_progressEn forespørsel med samme
Idempotency-Keyholder på. Prøv igjen om litt. - key_owner_missingBrukeren som laget nøkkelen finnes ikke lenger. Lag en ny nøkkel.
422Unprocessable Entity
- agreement_not_activeAvtalen tar ikke imot avrop: den er ikke godtatt, er utløpt eller erstattet, eller finnes ikke for denne nøkkelen.
reasonsier hvorfor. - contact_invalidKontakten trenger et navn og en e-post eller et norsk mobilnummer.
- content_requiredOrdren må ha minst en linje eller en merknad (
note) på minst 3 tegn. - customer_fixed_by_keyDenne nøkkelen hører til en kunde, og ordren må være for den kunden.
- customer_invalidNoe i kundefeltene er feil.
fieldssier hva. - customer_requiredOrdren må ha en kunde. Send
customer, ellercontactmedcreateCustomer: true. - date_invalidDatoen er ikke en gyldig dag (ÅÅÅÅ-MM-DD).
- delivery_date_not_allowedAvtalen leverer ikke den dagen.
nextPossibleDateer den første dagen som går. - idempotency_key_reusedDenne
Idempotency-Keyble brukt på en annen forespørsel. Bruk en ny nøkkel for ny handling. - intent_not_allowedEn kundenøkkel sender forespørsler (
"intent": "request"), eller avrop på en godtatt avtale (agreementNumber). - length_over_maxLengden er over det avtalen tillater (
maxLengthMm).fieldssier hvilken linje. - orderer_requiredDenne kunden krever bestiller (
orderer). - position_not_in_agreementPosisjonen hører ikke til denne avtalen. Hent posisjonene med
GET /agreements/{number}.fieldssier hvilken linje. - project_no_requiredDenne kunden krever prosjektnummer (
projectNo). - quantity_invalidAntallet må være mellom 1 og 500.
- too_many_linesOrdren kan ha høyst 100 linjer.
428Precondition Required
- idempotency_key_requiredSend
Idempotency-Keymed denne forespørselen.
429Too Many Requests
- rate_limitedFor mange kall. Vent
retryAfterSecondssekunder.
500Internal Server Error
- internalNoe gikk galt hos oss. Feilen er meldt. Oppgi
requestIdhvis du spør.