Specificație de integrare API
Integrare: Comenzi din magazinul online către contabilitate
Versiune: 1.0
Întocmit de: Hamza Idrissi
Data: 5 aprilie 2029
1. Scop
Trimite fiecare comandă plătită din magazinul online către sistemul de contabilitate ca factură de vânzare, astfel încât departamentul financiar să nu o introducă din nou.
2. Sisteme
- Trimite date: Magazin online (API v2)
- Primește date: Sistem de contabilitate (API REST)
3. Flux de date
1. Un client plătește o comandă.
2. Magazinul trimite un webhook către serviciul de integrare.
3. Serviciul transformă comanda în factură și apelează API-ul de contabilitate.
4. Sistemul de contabilitate returnează un număr de factură, pe care serviciul îl salvează pe comandă.
4. Endpointuri și mesaje
| Metodă și cale | Ce face | Câmpuri principale | Ce returnează |
|---|---|---|---|
| POST /invoices | Creează o factură | Corp: client, linii, taxe, total | Returnează: id și număr factură |
| GET /customers?email= | Găsește un client | Returnează: id client sau gol | |
| POST /customers | Creează un client | Corp: nume, email, adresă |
5. Maparea câmpurilor
order.total_paid → invoice.total
order.billing_email → customer.email
order.items[].sku → line.product_code
6. Autentificare și securitate
OAuth 2.0 cu credențiale de client. Tokenurile sunt valabile o oră. Secretele sunt păstrate în seif, niciodată în cod. Toate apelurile folosesc HTTPS. Webhookurile sunt semnate, iar semnătura este verificată.
Datele cu caracter personal se trimit doar atunci când este necesar, nu se scriu în jurnale și sunt acoperite de condițiile de confidențialitate ale ambelor sisteme.
7. Erori și reîncercări
Reîncearcă la 429 și 5xx de până la 5 ori, cu întârzieri crescătoare. Nu reîncerca erorile 4xx; înregistrează-le și anunță departamentul financiar. Fiecare factură are o cheie unică, astfel încât o reîncercare să nu creeze un duplicat.
8. Limite și volume
API-ul de contabilitate permite 60 de apeluri pe minut. Sunt așteptate 400 de comenzi pe zi, până la 2.000 în zilele cu reduceri.
9. Testare
Folosește mediul de test al sistemului de contabilitate. Testează o comandă normală, o comandă cu reducere, o rambursare, un client care există deja și o cădere a API-ului.
10. Responsabili și suport
Responsabil: echipa de e-commerce. Suport: Hamza Idrissi. Escaladare: serviciul de suport al furnizorului de contabilitate.
11. Modificări și versionare
Oricare parte anunță cu 30 de zile înainte o modificare care afectează compatibilitatea.