Skip to main content
ПочетакБлогKako integrisati API za praćenje pošiljki u vašu e-trgovinu

Kako integrisati API za praćenje pošiljki u vašu e-trgovinu

17TRACK

Da biste integrisali API za praćenje pošiljaka u svoju e-trgovinu, povežite sistem porudžbina sa provajderom za praćenje, šaljite podatke o pošiljci i prevozniku putem bezbednog zahteva sa serverske strane, čuvajte normalizovane događaje praćenja i prikazujte dobijeni status u korisničkim interfejsima i interfejsima za podršku. Pouzdana implementacija podrazumeva više od dodavanja polja za broj za praćenje: mora da podrži izbor prevoznika, ažuriranja statusa, izuzetke pri isporuci, ponovne pokušaje, privatnost i način na koji kupci zaista koriste informacije nakon kupovine.

How to Integrate a Shipment Tracking Api into Your E

Ovaj vodič objašnjava praktičan pristup integraciji za vlasnike prodavnica, programere i operativne timove. Kao referentnu tačku koristi zvaničnu dokumentaciju za Tracking API kompanije 17TRACK, ali isti principi planiranja primenjuju se i pri proceni drugog provajdera sa podrškom za više prevoznika.

Odredite šta integracija treba da postigne

Počnite od poslovnog ishoda, a ne od API krajnje tačke. Većina prodavnica želi da smanji broj upita „Gde je moja porudžbina?“, pruži kupcima jasan pregled isporuke i pomogne operativnom timu da prepozna zakašnjele pošiljke pre nego što se kupac požali. Ti ciljevi zahtevaju različite podatke i radne tokove.

  • Vidljivost za kupce: prikažite trenutni status pošiljke, procenjene informacije o isporuci kada su dostupne, podatke o prevozniku i najnoviji relevantni događaj.
  • Operativna vidljivost: omogućite zaposlenima da pronađu zakašnjele, zaustavljene, vraćene pošiljke ili pošiljke sa izuzetkom kod različitih prevoznika.
  • Automatizovana komunikacija: pokrenite odobrene obaveštenja putem e-pošte, SMS-a ili drugih kanala kada pošiljka dostigne definisano stanje.
  • Doslednost podataka: pretvorite različite oznake događaja prevoznika u manji skup statusa koje vaša prodavnica može pouzdano da koristi.

Definišite ove ishode pre nego što izaberete metod implementacije. API za praćenje može da obezbedi podatke o pošiljci, ali ne odlučuje automatski koji događaji zaslužuju obaveštenje kupcu niti kako vaša prodavnica treba da reši problem sa adresom.

Izaberite odgovarajuću arhitekturu integracije

Tipična arhitektura ima četiri sloja: platformu za trgovinu, servis za integraciju, provajdera za praćenje i iskustvo namenjeno kupcu. Servis za integraciju može biti backend aplikacija, sistem za upravljanje porudžbinama ili serverless radni tok. Čuvanje ove logike na serveru obično je bezbednije nego postavljanje API akreditiva u kod pregledača.

Osnovni tok izgleda ovako:

  1. Plaćena porudžbina se realizuje i dobija broj za praćenje i prevoznika.
  2. Vaš backend šalje detalje o pošiljci provajderu za praćenje.
  3. Provajder vraća identifikator praćenja ili podatke o praćenju u skladu sa dizajnom svog API-ja.
  4. Vaš sistem čuva referencu provajdera i mapira događaje pošiljke na interne statuse.
  5. Zakazani proces ažuriranja ili podržano obaveštenje o događaju osvežava pošiljku.
  6. Vaša prodavnica, stranica porudžbine, alati za podršku i servis za obaveštenja čitaju podatke iz vaših sopstvenih normalizovanih podataka.

Nemojte dozvoliti da svaki prikaz stranice poziva prevoznika ili API za praćenje. Takav dizajn može da dovede do sporog korisničkog iskustva, dupliranih zahteva, problema sa ograničenjima broja zahteva i nedoslednih rezultata. Čuvajte poslednje prihvaćeno stanje praćenja u bazi podataka i osvežavajte ga putem kontrolisanih pozadinskih zadataka ili podržanog mehanizma za ažuriranje provajdera.

Potvrdite dokumentaciju provajdera pre kodiranja

Pre implementacije pregledajte zvaničnu API dokumentaciju provajdera u vezi sa autentifikacijom, formatima zahteva, poljima odgovora, podržanim prevoznicima, ponašanjem u slučaju grešaka, mehanizmima za ažuriranje i zahtevima naloga. 17TRACK pruža posebnu stranicu proizvoda Tracking API i dokumentaciju za programere. Te stranice smatrajte autoritetom za aktuelno ponašanje API-ja, umesto da se oslanjate na primere kopirane sa foruma ili iz starih vodiča za integraciju.

Na osnovu dokumentacije napravite kratku kontrolnu listu zahteva:

  • Kako se API akreditivi izdaju, čuvaju, rotiraju i opozivaju?
  • Da li zahtev zahteva kod prevoznika ili servis može da identifikuje prevoznika na osnovu broja za praćenje?
  • Koja polja odgovora identifikuju pošiljku, status, lokaciju, vremenske oznake i poruku o izuzetku?
  • Kako se isporučuju asinhrona ažuriranja, ako ih nalog podržava?
  • Koja su dokumentovana ograničenja zahteva, pravila naplate, očekivanja u pogledu vremenskog ograničenja i kodovi grešaka?
  • Kako treba postupati sa dupliranim brojevima za praćenje, nevažećim brojevima, nepoznatim prevoznicima i isporučenim pošiljkama?

Nemojte zaključivati o funkciji na osnovu naziva proizvoda. Na primer, „u realnom vremenu“ može opisivati pozicioniranje proizvoda, a ne garanciju da se svaki događaj prevoznika pojavljuje odmah. Vaša implementacija treba da objasni da skeniranja prevoznika mogu kasniti i da API ne može da kreira skeniranje koje prevoznik nije prijavio.

Pripremite podatke o porudžbini i pošiljci

Najkorisniji trenutak za kreiranje praćenja obično je realizacija pošiljke, a ne kreiranje porudžbine. Porudžbina može biti plaćena, ali još uvek neupakovana, a broj za praćenje može biti generisan pre nego što prevoznik prihvati paket. Odlučite koji događaj u vašem radnom toku realizacije treba da kreira zapis o praćenju.

Interni zapis o pošiljci najmanje treba da razlikuje sledeće vrednosti:

  • Interni ID porudžbine i ID realizacije
  • Broj za praćenje
  • Naziv prevoznika ili kod prevoznika
  • Zemlja ili region odredišta, kada je to operativno neophodno
  • ID praćenja provajdera ili referenca pretplate, ako je vraćena
  • Trenutni normalizovani status
  • Vremenska oznaka poslednjeg događaja i vremenska oznaka poslednje sinhronizacije
  • Sirovi odgovor provajdera ili kontrolisana revizijska referenca

Podatke o porudžbini i podatke o pošiljci čuvajte odvojeno. Jedna porudžbina može sadržati više paketa, podeljene pošiljke ili različite prevoznike. Pretpostavka da jedna porudžbina ima jedan broj za praćenje često ne funkcioniše kada magacin šalje artikle odvojeno.

Koristite idempotentan proces. Ako sistem za realizaciju ponovi isti zahtev, integracija treba da ažurira postojeću pošiljku umesto da kreira duplirane pretplate ili duplirane poruke kupcima. Praktičan idempotency ključ može kombinovati vaš interni ID realizacije, identifikator prevoznika i broj za praćenje, u skladu sa zahtevima samog provajdera.

Normalizujte statuse prevoznika za kupce

Prevoznici koriste različite oznake i redoslede događaja. Vaša prodavnica treba da održava mali interni model statusa, kao što su Informacije primljene, U tranzitu, Na dostavi, Isporučeno, Izuzetak i Vraćeno. Sačuvajte originalni događaj prevoznika za osoblje za podršku, ali koristite normalizovani status za logiku prodavnice.

Pravila normalizacije treba da budu eksplicitna. Događaj „etiketa kreirana“ ne treba predstavljati kao dokaz da se paket kreće. „Isporučeno“ treba tretirati kao događaj koji je prijavio prevoznik, a ne kao garanciju da je kupac fizički pronašao paket. Izuzetak ne treba neprimetno pretvarati u „u tranzitu“ samo zato što se pošiljka kasnije možda nastavi kretati.

Takođe definišite prioritet statusa i postupanje u slučaju vraćanja statusa unazad. Zakašnjeli podaci prevoznika mogu stići van redosleda. Uporedite vremenske oznake događaja kada su dostupne, zabeležite sirovi događaj i izbegavajte zamenu novijeg statusa „isporučeno“ starijim statusom „u tranzitu“. Ako vremenske oznake nedostaju ili su nejasne, označite zapis za konzervativno ažuriranje umesto da izmišljate redosled.

Izgradite tok zahteva sa serverske strane

Vaš backend treba da proveri dolazne podatke o realizaciji pre pozivanja provajdera za praćenje. Proverite da li je broj za praćenje prisutan, uklonite slučajne razmake, proverite očekivani format kada je to odgovarajuće i potvrdite da je vrednost prevoznika prihvatljiva. Nemojte odbacivati neuobičajene, ali važeće brojeve za praćenje samo zato što ne odgovaraju uskom lokalnom obrascu.

Tok zahteva nezavisan od provajdera može se predstaviti ovako:

receive fulfillment event
validate order and shipment fields
check for an existing idempotency key
send the documented tracking request from the server
store the provider response and internal shipment record
queue a refresh or process the supported update event
publish only approved fields to the storefront

Koristite kratka vremenska ograničenja, ograničene ponovne pokušaje i eksponencijalno odlaganje za privremene greške. Nemojte ponavljati svaki zahtev. Greška autentifikacije, nevažeći zahtev ili nepodržani prevoznik obično zahtevaju ispravku, a ne ponovljene pozive. Beležite ID korelacije, ishod zahteva i kategoriju greške provajdera, ali izbegavajte upisivanje API ključeva, punih adresa kupaca ili nepotrebnih ličnih podataka u dnevnike aplikacije.

Odgovor provajdera čuvajte odvojeno od modela namenjenog kupcu. Tako je lakše promeniti provajdera, ispraviti pravilo mapiranja i ograničiti informacije koje se izlažu na javnoj stranici porudžbine.

Dizajnirajte korisničko iskustvo praćenja

Stranica za praćenje treba brzo da odgovori na tri pitanja: koje je trenutno stanje, šta se poslednje dogodilo i šta kupac treba sledeće da uradi? Prikažite referencu porudžbine, broj pošiljke u obliku koji poštuje privatnost, naziv prevoznika, vreme poslednjeg događaja i jasno objašnjenje izuzetaka.

Ne prikazujte praznu vremensku liniju kao da je reč o tehničkom kvaru. Pre prvog skeniranja prevoznika objasnite da su informacije o slanju primljene i da kretanje možda još nije vidljivo. Za izuzetak navedite objašnjenje jednostavnim jezikom samo kada ga izvorni podaci podržavaju. Ako prevoznik prijavi problem sa adresom, povežite ga sa procesom podrške ili radnjom korisničke službe koju vaše poslovanje zaista može da pruži.

Za prodavnice izgrađene na platformi Shopify ili drugoj platformi za trgovinu, proverite kako platforma izlaže događaje realizacije, korisničke naloge, stranice statusa porudžbine i šablone obaveštenja. Zvanična dokumentacija za programere kompanije Shopify uključuje resurse za webhook-ove i podatke o realizaciji. API-ji platforme i verzionisana dokumentacija mogu se menjati, zato potvrdite verziju koju vaša aplikacija koristi pre rada u produkciji.

Pažljivo koristite obaveštenja

Događaji pošiljke korisni su okidači, ali slanje poruke za svako skeniranje prevoznika može izazvati zamor od obaveštenja. Definišite poslovna pravila, kao što su obaveštavanje pri kreiranju pošiljke, značajnom napretku u tranzitu, slanju na dostavu, isporuci i odabranim izuzecima. Potisnite duplikate i uvedite minimalni interval za ponovljene poruke o kašnjenju.

Odvojite operativna upozorenja od obaveštenja kupcima. Timu za podršku možda je potrebno da zna da se pošiljka nije promenila nekoliko dana, dok kupcu možda treba poslati poruku tek kada prevoznik prijavi konkretan izuzetak. Vremenski prag treba da odražava nivo usluge, odredište, prevoznika i način slanja, a ne univerzalni broj bez operativne osnove.

Testirajte stvarne scenarije isporuke

Uspešan odgovor za jedan broj za praćenje nije dovoljan za pokretanje produkcije. Napravite matricu testiranja koja obuhvata više prevoznika, zemalja, tipova pošiljaka i stanja događaja. Testirajte najmanje:

  • Novokreiranu pošiljku bez skeniranja prevoznika
  • Uobičajenu pošiljku u tranzitu
  • Pošiljku poslatu na dostavu
  • Isporučenu pošiljku
  • Izuzetak ili događaj povezan sa adresom
  • Vraćenu pošiljku
  • Nevažeći broj za praćenje
  • Duplirani događaj realizacije
  • Zakašnjeli odgovor provajdera ili istek vremenskog ograničenja
  • Događaj van redosleda

Merite više od dostupnosti API-ja. Proverite da li se ažurira odgovarajuća porudžbina, da li kupac vidi razumljiv jezik, da li se duplirana obaveštenja potiskuju i da li osoblje za podršku može da identifikuje originalni događaj prevoznika. Najpre sprovedite ograničeno uvođenje, zadržite operativnu rezervnu opciju i pratite kategorije grešaka nakon objavljivanja.

Bezbednost, privatnost i održavanje

Akreditive čuvajte u menadžeru tajni ili zaštićenoj promenljivoj okruženja, a ne u kodu teme, mobilnom kodu, sistemu za kontrolu izvornog koda ili zahtevima pregledača. Ograničite pristup podacima o pošiljkama prema ulogama, koristite HTTPS i proverite koliko dugo se čuvaju sirovi odgovori i polja povezana sa kupcima.

Redovno pregledajte dokumentaciju provajdera i verziju API-ja vaše platforme za trgovinu. Podrška za prevoznike, nazivi događaja, zahtevi za autentifikaciju i ponašanje webhook-ova platforme mogu se menjati. Pravila mapiranja statusa učinite podesivim, dokumentujte pretpostavke na kojima se zasnivaju i omogućite ponovno pokretanje ili usklađivanje pošiljke bez slanja nove poruke kupcu.

API kompanije 17TRACK relevantna je opcija za procenu kada vašoj prodavnici treba namenska integracija praćenja za više prevoznika. Odgovarajući izbor ipak zavisi od prevoznika koje koristite, zemalja u kojima poslujete, ponašanja ažuriranja dokumentovanog za vaš nalog, očekivanog obima zahteva i operativnih kontrola koje vaš tim zahteva. Potvrdite te tačke u zvaničnoj dokumentaciji i kroz kontrolisani dokaz koncepta pre nego što se obavežete na produkcioni dizajn.

Česta pitanja

Da li praćenje treba kreirati kada je porudžbina postavljena?

Obično ne. Kreirajte ili aktivirajte zapis o pošiljci kada vaš radni tok realizacije ima prevoznika i broj za praćenje. Kreiranje pri plaćanju može proizvesti zapise za porudžbine koje su otkazane, nerealizovane ili kasnije podeljene.

Može li API za praćenje garantovati informacije o isporuci u realnom vremenu?

Ne. Nijedan API ne može garantovati da će svako skeniranje prevoznika biti odmah vidljivo. Provajder zavisi od podataka prevoznika, a sistemi prevoznika mogu prijavljivati događaje sa kašnjenjima ili prazninama. Precizno prikažite vremenske oznake i jezik statusa i izbegavajte obećavanje tačnog vremena osvežavanja osim ako relevantna dokumentacija i ugovor o usluzi podržavaju takvo obećanje.

Da li pregledač treba direktno da poziva API za praćenje?

U većini implementacija ne. Koristite integraciju sa serverske strane kako bi ak kreditive ostali zaštićeni, odgovori mogli da se normalizuju, ponovni pokušaji kontrolisali, a podaci namenjeni kupcima filtrirali. Prodavnica bi obično trebalo da čita odobreni prikaz pošiljke iz vaše aplikacije.

Kako prodavnica treba da postupa sa više paketa u jednoj porudžbini?

Modelujte svaku realizaciju ili paket kao zasebnu pošiljku, uz zadržavanje ID-a nadređene porudžbine. Stranica porudžbine može prikazati opšti pregled i zasebne vremenske linije za svaki paket. Tako se izbegava skrivanje zakašnjelog paketa iza statusa „isporučeno“ za drugi paket.

Koju prvu produkcionu metriku treba pratiti?

Pratite kompletan tok od kreiranja realizacije do tačnog ažuriranja vidljivog kupcu. Sam uspeh API-ja nije dovoljan. Pratite duplirane zapise, zastarele pošiljke, nemapirane događaje, neuspešna obaveštenja i procenat pošiljaka koje zahtevaju ručnu ispravku.

Izvori

Loading