API-integrasjonsspesifikasjon
Integrasjon: Nettbutikkordrer til regnskap
Versjon: 1.0
Skrevet av: Hamza Idrissi
Dato: 5. april 2029
1. Formål
Send hver betalte nettbutikkordre til regnskapssystemet som en salgsfaktura, slik at økonomiavdelingen ikke må legge den inn på nytt.
2. Systemer
- Sender data: Nettbutikk (API v2)
- Mottar data: Regnskapssystem (REST API)
3. Dataflyt
1. En kunde betaler for en ordre.
2. Nettbutikken sender en webhook til integrasjonstjenesten.
3. Tjenesten gjør ordren om til en faktura og kaller regnskaps-API-et.
4. Regnskapssystemet returnerer et fakturanummer, som tjenesten lagrer på ordren.
4. Endepunkter og meldinger
| Metode og sti | Hva den gjør | Hovedfelt | Hva den returnerer |
|---|---|---|---|
| POST /invoices | Opprett en faktura | Body: kunde, linjer, mva, total | Returnerer: faktura-id og fakturanummer |
| GET /customers?email= | Finn en kunde | Returnerer: kunde-id eller tomt | |
| POST /customers | Opprett en kunde | Body: navn, e-post, adresse |
5. Feltmapping
order.total_paid → invoice.total
order.billing_email → customer.email
order.items[].sku → line.product_code
6. Autentisering og sikkerhet
OAuth 2.0 med client credentials. Tokens varer i én time. Hemmeligheter oppbevares i vaulten, aldri i koden. Alle kall bruker HTTPS. Webhooks signeres, og signaturen kontrolleres.
Personopplysninger sendes bare når det er nødvendig, skrives ikke til logger og er dekket av personvernvilkårene til begge systemene.
7. Feil og gjenforsøk
Gjenta forsøket ved 429 og 5xx opptil 5 ganger med økende forsinkelser. Ikke gjenta 4xx-feil; logg dem og varsle økonomi. Hver faktura har en unik nøkkel, slik at et gjenforsøk ikke kan opprette en dublett.
8. Begrensninger og volumer
Regnskaps-API-et tillater 60 kall per minutt. Forventet 400 ordrer per dag, opptil 2 000 på salgsdager.
9. Testing
Bruk sandkassemiljøet til regnskapet. Test en normal ordre, en ordre med rabatt, en refusjon, en kunde som allerede finnes, og et API-avbrudd.
10. Eiere og brukerstøtte
Eier: E-handelsteamet. Brukerstøtte: Hamza Idrissi. Eskalering: brukerstøtten til regnskapsleverandøren.
11. Endringer og versjonering
Hver part varsler 30 dager før en endring som bryter kompatibiliteten.