SERVICII LGL SOLUTIONS
Integrări API care păstrează datele sincronizate
Contracte clare, idempotency keys și retry logic pentru integrarea sistemelor externe.
O integrare API de producție nu înseamnă doar un request HTTP. Definim contractul datelor, timeout-ul, autentificarea, idempotency key și politica de retry cu exponential backoff. Răspunsurile sunt validate și stocate suficient pentru audit și depanare.
Conectăm API SmartBill și API Oblio pentru facturi, Sameday și Fan Courier pentru AWB și tracking, iar Stripe pentru plăți și evenimente. Un job de reconciliere compară starea locală cu sistemul extern și semnalează diferențele fără să rescrie orbește datele.
Vezi structura de prețuri și ofertare
Contracte externe și identificatori
Pentru SmartBill și Oblio mapăm explicit clientul, produsele, TVA-ul, moneda și seria documentului. Nu presupunem că etichetele locale au aceeași semnificație în fiecare API. Păstrăm ID-ul local, ID-ul extern, payload-ul minim și versiunea contractului. Pentru Sameday și Fan Courier normalizăm AWB-ul, statusurile și evenimentele de tracking într-un model intern stabil.
Idempotency și retry logic
Fiecare comandă externă primește o idempotency key derivată din operațiune și ID-ul intern. Retry-ul cu exponential backoff se aplică doar erorilor tranzitorii și are limită; un 400 de validare merge într-o coadă de intervenție, nu este repetat la nesfârșit. Timeout-urile sunt separate pentru conectare și citirea răspunsului, iar circuit breaker-ul protejează aplicația când un furnizor cade.
Stripe și webhooks
Stripe este tratat event-driven: verificăm semnătura webhook-ului, stocăm event ID-ul și actualizăm plata numai după evenimentul autorizat. Pentru Stripe Connect, contul conectat și transferul sunt corelate cu comanda, iar refund-ul are propria stare. Nu considerăm redirectul din browser dovadă de plată. În cazul 3D Secure, clientul poate reveni mai târziu, iar serverul rămâne sursa de adevăr.
Reconciliere și baze de date
Un job de reconciliere compară periodic înregistrările locale cu SmartBill, Oblio, curierul sau Stripe. Diferențele sunt clasificate: întârziere, lipsă, sumă diferită sau status divergent. Nu reparăm automat o diferență financiară fără regulă explicită. PostgreSQL păstrează tranzacțiile, indexurile pe ID extern și istoricul schimbărilor; datele sunt suficient de precise pentru audit.
Testare în România
Folosim medii sandbox unde furnizorul le oferă și payloaduri contractuale versionate. Testăm TVA, lei, facturi stornate, numere de telefon românești, AWB duplicat, timeout și limitare de rată. Documentația de operare explică ce poate relua operatorul și ce necesită analiza unui dezvoltator.
Vezi structura de prețuri și ofertare
Întrebări frecvente
Cum evitați facturile duplicate?
Folosim idempotency keys, identificatori externi unici și reconciliere periodică.