Un AWB respins înseamnă o comandă plătită care nu pleacă, un client care așteaptă și un om din echipă care corectează manual o adresă. De cele mai multe ori, motivul nu e un bug în integrare, ci o adresă care nu seamănă cu ce știe curierul: un cod poștal lipsă, un sector nespecificat, un sat cu același nume ca altul din același județ sau un număr de stradă pe care sistemul îl respinge.
Am integrat mai mulți curieri în platforma noastră de expedieri, iar ghidul de mai jos adună cauzele pe care le-am văzut cel mai des, împreună cu felul în care le prevenim înainte ca adresa să ajungă la curier. Dacă ai nevoie de imaginea de ansamblu, pornește de la ghidul despre integrarea curierilor într-un magazin online.
Pe scurt: majoritatea AWB-urilor respinse vin din nomenclator, nu din API. Preia județul și localitatea din liste, nu din text liber, deduce codul poștal din localitate (la București, din sector), păstrează numărul de stradă și detaliile separate, normalizează telefonul și arată operatorului un mesaj clar, nu eroarea brută a curierului.
Cum arată de fapt un AWB respins
Un răspuns de eroare nu arată la fel la toți curierii. Unii îți dau un cod HTTP de eșec. Alții, ca GLS, răspund cu HTTP 200 și pun eroarea într-o listă din corpul răspunsului, deci un apel care pare reușit poate fi, de fapt, un eșec. De aceea, prima regulă este să citești corpul răspunsului, nu doar codul HTTP. A doua este să nu afișezi omului din magazin textul brut al curierului, ci un mesaj în română care spune ce are de corectat.
Cele 9 cauze frecvente
- Cod poștal lipsă sau invalid. Unii curieri îl rutează după cod și îl validează strict. La GLS, un cod lipsă sau inexistent dă eroarea 13 (date obligatorii lipsă sau date invalide la codul poștal al destinatarului). Remediu: nu lăsa codul liber, deduce-l din localitate și validează-l față de nomenclatorul curierului.
- București fără sector. Capitala are coduri diferite pe sectoare, iar un cod generic pentru „București” nu e acceptat sau duce la ruta greșită. Remediu: cere sectorul în checkout și deduce codul din el; dacă lipsește, afișează o eroare clară, nu ghici.
- Localități omonime. România are multe sate cu același nume în același județ. În datele pe care le-am importat de la GLS, peste 340 de astfel de localități sunt diferențiate doar prin comuna scrisă între paranteze. Remediu: folosește o listă de localități care include comuna și lasă clientul să aleagă, nu scrie manual.
- Numărul de stradă. Documentația cere adesea număr numeric, în timp ce pe teren apar „12A”, „5 bis” sau adrese fără număr. La GLS, valoarea 0 e respinsă, iar „12A” a fost acceptată în testele noastre, în ciuda documentației. Remediu: separă numărul de detaliile suplimentare și testează pe adrese reale.
- Diacritici și grafii. Datele de la ANAF vin cu diacritice cu sedilă (Ş, Ţ), iar cele din magazin cu virgulă (Ș, Ț). Unii curieri îi acceptă pe amândouă, alții nu. Remediu: normalizează diacriticele într-un format unic înainte de trimitere.
- Județ lipsă sau greșit. Nomenclatorul GLS nu are un câmp separat de județ: acesta se deduce din sufixul numelui localității sau din primele două cifre ale codului poștal. Remediu: derivă județul din sursă sigură și verifică-l încrucișat.
- Telefon în format necorespunzător. Spații, prefixe, paranteze. Remediu: normalizează numerele într-un format unitar (E.164) și validează lungimea.
- Adresă într-un singur câmp de text. Strada, numărul, blocul, scara și apartamentul sunt amestecate. Remediu: câmpuri separate în checkout, sau un parser prudent, care cere confirmare când nu e sigur.
- Ramburs sau valoare incoerentă. Un ramburs care nu coincide cu totalul comenzii nu e mereu respins, dar poate produce o încasare greșită. Remediu: calculează rambursul din comandă, nu din câmpuri introduse manual.
Cum construiești adresa corect în checkout
Punctul de plecare este structura. Pune în checkout două liste de selecție, județ și localitate, alimentate din nomenclatorul curierilor, și separă strada, numărul și detaliile în câmpuri proprii. Dacă magazinul vinde și firmelor, păstrează adresa de livrare separată de cea de facturare, așa cum e explicat în ghidul despre persoane fizice și firme la checkout.
Pentru codul poștal, o abordare bună este să-l oferi ca sugestie, nu ca obligație. În dashboard-ul nostru, câmpul de cod poștal propune coduri din baza de date în funcție de localitate, permite totuși introducerea manuală și afișează doar un avertisment, fără să blocheze, când codul nu apare în localitatea aleasă. Astfel prinzi greșelile, fără să împiedici un client cu o adresă nouă sau neobișnuită să comande.
Orice schimbare a câmpurilor de adresă trebuie testată în varianta de checkout folosită, pentru că fluxul diferă între cel clasic și cel cu blocuri. Am descris diferențele în ghidul despre checkout cu blocuri sau clasic.
Ce faci când curierul respinge totuși adresa
Ține minte două principii. Primul: o singură reluare inteligentă, nu reluare oarbă. Dacă eroarea e legată de codul poștal, poți reîncerca o dată cu un cod dedus din nomenclator, în loc de cel din comandă. Al doilea: nu repeta aceeași cerere de mai multe ori la rând. Unii curieri o consideră abuz; GLS, de exemplu, are o eroare dedicată pentru aceeași cerere trimisă de cinci ori în cinci minute. Dacă reluarea nu rezolvă, oprește-te și arată operatorului ce are de corectat.
Pentru mesaje, tradu codurile de eroare în propoziții utile: „Adresa nu are cod poștal și nu l-am putut deduce: alege sectorul” este mai bun decât „Error 13”. Păstrează totuși eroarea brută în jurnal, pentru diagnostic.
Checklist înainte de a trimite AWB-ul
- Județul și localitatea vin dintr-o listă, nu din text liber.
- Codul poștal e dedus sau validat.
- La București, sectorul este cunoscut.
- Numărul de stradă este separat de detalii.
- Diacriticele sunt normalizate.
- Telefonul este în format unitar.
- Rambursul este calculat din total.
- Eroarea brută se salvează în jurnal, iar operatorul vede un mesaj clar.
Întrebări frecvente
De ce primesc eroare de cod poștal dacă adresa e corectă?
Pentru că unii curieri validează codul față de propriul nomenclator, iar un cod valid pentru poștă poate lipsi sau diferi în lista lor. Deduce codul din localitate sau alege unul din sugestii.
Cum tratez Bucureștiul?
Cere sectorul și deduce codul din el. Un cod generic pentru „București” nu ajunge, pentru că fiecare sector are propriile coduri.
Trebuie să las clientul să scrie adresa liber?
Lasă-l să completeze strada și numărul, dar alege județul și localitatea din liste. Astfel elimini cele mai frecvente erori.
Pot reîncerca automat un AWB respins?
O singură dată, cu o corecție clară (de exemplu un cod poștal dedus). O reluare oarbă poate crea duplicate sau poate declanșa limitele curierului.
Diacriticele contează pentru curier?
Unii le acceptă și le tipăresc corect, alții nu. Normalizează-le într-un format unic, ca să nu depinzi de comportamentul fiecăruia.
Dacă vrei să reduci AWB-urile respinse în magazinul tău, vezi cum arată o integrare cu curierii construită la comandă sau cum lucrăm în logistică și transport.
