Skip to main content
HjemBloggSlik integrerer du et API for sporing av forsendelser i nettbutikken din

Slik integrerer du et API for sporing av forsendelser i nettbutikken din

17TRACK

For å integrere et API for forsendelsessporing i nettbutikken din kobler du ordresystemet til sporingsleverandøren, sender forsendelses- og transportørdata gjennom en sikker forespørsel på serversiden, lagrer normaliserte sporingshendelser og viser den resulterende statusen i kunde- og supportgrensesnitt. En pålitelig implementering handler om mer enn å legge til et felt for sporingsnummer: Den må håndtere valg av transportør, statusoppdateringer, leveringsavvik, nye forsøk, personvern og hvordan kundene faktisk bruker informasjon etter kjøpet.

How to Integrate a Shipment Tracking Api into Your E

​​Denne veiledningen forklarer en praktisk integrasjonstilnærming for butikkeiere, utviklere og driftsteam. Den bruker 17TRACKs offisielle dokumentasjon for Tracking API som referansepunkt, men de samme planleggingsprinsippene gjelder når du vurderer en annen leverandør med støtte for flere transportører.

Bestem hva integrasjonen må oppnå

Start med forretningsmålet i stedet for API-endepunktet. De fleste butikker ønsker å redusere henvendelser av typen «Hvor er bestillingen min?», gi kjøperne en tydelig oversikt over leveringen og hjelpe driften med å identifisere forsinkede forsendelser før kunden klager. Disse målene krever ulike data og arbeidsflyter.

  • Kundesynlighet: vis aktuell forsendelsesstatus, estimert leveringsinformasjon når den er tilgjengelig, transportørdetaljer og den siste meningsfulle hendelsen.
  • Operasjonell synlighet: la ansatte finne forsinkede, fastlåste, returnerte eller avvikende forsendelser på tvers av transportører.
  • Automatisert kommunikasjon: utløse godkjente e-post-, SMS- eller andre varsler når en forsendelse når en definert tilstand.
  • Datakonsistens: konverter ulike etiketter for transportørhendelser til et mindre sett med statuser som butikken din kan bruke pålitelig.

Definer disse resultatene før du velger implementeringsmetode. Et sporings-API kan levere forsendelsesdata, men det avgjør ikke automatisk hvilke hendelser som fortjener et kundevarsel, eller hvordan butikken din skal håndtere et adresseproblem.

Velg riktig integrasjonsarkitektur

En typisk arkitektur har fire lag: handelsplattformen, en integrasjonstjeneste, sporingsleverandøren og kundeopplevelsen. Integrasjonstjenesten kan være en backend-applikasjon, et ordrebehandlingssystem eller en serverløs arbeidsflyt. Det er vanligvis sikrere å holde denne logikken på serveren enn å plassere API-legitimasjon i nettleserkode.

Den grunnleggende flyten ser slik ut:

  1. En betalt ordre blir sendt til behandling og får et sporingsnummer og en transportør.
  2. Backend-systemet ditt sender forsendelsesdetaljene til sporingsleverandøren.
  3. Leverandøren returnerer en sporingsidentifikator eller sporingsdata i henhold til API-designet.
  4. Systemet ditt lagrer leverandørreferansen og kobler forsendelseshendelser til interne statuser.
  5. En planlagt oppdateringsprosess eller et støttet hendelsesvarsel oppdaterer forsendelsen.
  6. Nettbutikken, ordresiden, supportverktøyene og varslingstjenesten leser fra dine egne normaliserte data.

Ikke la hvert sidevisning foreta et kall til transportøren eller sporings-API-et. En slik utforming kan føre til tregere kundeopplevelser, dupliserte forespørsler, problemer med hastighetsbegrensninger og inkonsistente resultater. Lagre den sist godkjente sporingstilstanden i databasen, og oppdater den gjennom kontrollerte bakgrunnsjobber eller leverandørens støttede oppdateringsmekanisme.

Bekreft leverandørens dokumentasjon før du koder

Før implementering bør du gå gjennom leverandørens offisielle API-dokumentasjon for autentisering, forespørselsformater, svarfelter, støttede transportører, feilhåndtering, oppdateringsmekanismer og kontokrav. 17TRACK tilbyr en egen produktside for Tracking API og utviklerdokumentasjon. Betrakt disse sidene som autoritative for gjeldende API-atferd, i stedet for å basere deg på eksempler kopiert fra forum eller gamle integrasjonsveiledninger.

Lag en kort kravliste basert på dokumentasjonen:

  • Hvordan utstedes, lagres, roteres og tilbakekalles API-legitimasjon?
  • Krever forespørselen en transportørkode, eller kan tjenesten identifisere transportøren ut fra sporingsnummeret?
  • Hvilke svarfelter identifiserer forsendelsen, statusen, plasseringen, tidsstemplene og avviksmeldingen?
  • Hvordan leveres asynkrone oppdateringer hvis kontoen støtter dette?
  • Hva er de dokumenterte forespørselsgrensene, faktureringsreglene, forventningene til tidsavbrudd og feilkodene?
  • Hvordan skal du håndtere dupliserte sporingsnumre, ugyldige numre, ukjente transportører og leverte forsendelser?

Ikke anta en funksjon ut fra et produktnavn. «Sanntid» kan for eksempel beskrive produktets posisjonering, ikke en garanti for at alle transportørhendelser vises umiddelbart. Implementeringen din bør forklare at transportørskanninger kan være forsinket, og at et API ikke kan opprette en skanning som transportøren ikke har rapportert.

Forbered ordre- og forsendelsesdata

Det mest nyttige tidspunktet for å opprette sporing er vanligvis når forsendelsen behandles, ikke når ordren opprettes. En ordre kan være betalt, men ennå ikke pakket, og et sporingsnummer kan være generert før pakken er mottatt av transportøren. Bestem hvilken hendelse i behandlingsflyten som skal opprette sporingsposten.

Den interne forsendelsesposten bør som minimum skille mellom følgende verdier:

  • Intern ordre-ID og behandlings-ID
  • Sporingsnummer
  • Transportørnavn eller transportørkode
  • Destinasjonsland eller -region der det er operasjonelt nødvendig
  • Leverandørens sporings-ID eller abonnementsreferanse, hvis den returneres
  • Gjeldende normaliserte status
  • Tidsstempel for siste hendelse og siste synkronisering
  • Rått leverandørsvar eller en kontrollert revisjonsreferanse

Hold ordredata og forsendelsesdata atskilt. Én ordre kan inneholde flere pakker, delleveranser eller ulike transportører. En antakelse om én ordre til ett sporingsnummer fungerer ofte dårlig når et lager sender varer separat.

Bruk en idempotent prosess. Hvis behandlingssystemet prøver den samme forespørselen på nytt, bør integrasjonen oppdatere den eksisterende forsendelsen i stedet for å opprette dupliserte abonnementer eller dupliserte kundemeldinger. En praktisk idempotensnøkkel kan kombinere den interne behandlings-ID-en, transportøridentifikatoren og sporingsnummeret, med forbehold om leverandørens egne krav.

Normaliser transportørstatuser for kundene

Transportører bruker ulike etiketter og hendelsesforløp. Butikken din bør ha en liten intern statusmodell, for eksempel Informasjon mottatt, Under transport, På vei til levering, Levert, Avvik og Returnert. Bevar den opprinnelige transportørhendelsen for supportpersonalet, men bruk den normaliserte statusen i nettbutikkens logikk.

Reglene for normalisering bør være eksplisitte. En hendelse som «etikett opprettet» bør ikke presenteres som bevis på at pakken er i bevegelse. «Levert» bør behandles som en transportørrapportert hendelse, ikke som en garanti for at kunden fysisk har funnet pakken. Et avvik bør ikke i stillhet konverteres til «under transport» bare fordi forsendelsen kanskje fortsetter senere.

Definer også statusprioritet og håndtering av tilbakegang. En forsinket transportørfeed kan komme i feil rekkefølge. Sammenlign hendelsestidsstempler når de er tilgjengelige, registrer råhendelsen og unngå å erstatte en nyere levert-status med en eldre status for transport. Hvis tidsstempler mangler eller er tvetydige, bør posten flagges for en konservativ oppdatering i stedet for at du finner opp en rekkefølge.

Bygg forespørselsflyten på serversiden

Backend-systemet bør validere innkommende behandlingsdata før det kaller sporingsleverandøren. Kontroller at sporingsnummeret finnes, fjern utilsiktede mellomrom, valider forventet format der det er hensiktsmessig, og bekreft at transportørverdien er akseptabel. Ikke avvis uvanlige, men gyldige sporingsnumre bare fordi de ikke samsvarer med et snevert lokalt mønster.

En leverandørnøytral forespørselsflyt kan representeres slik:

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

Bruk korte tidsavbrudd, begrensede nye forsøk og eksponentiell tilbakekobling ved midlertidige feil. Ikke prøv alle feil på nytt. En autentiseringsfeil, ugyldig forespørsel eller ikke-støttet transportør krever vanligvis korrigering i stedet for gjentatte kall. Loggfør en korrelasjons-ID, resultatet av forespørselen og leverandørens feilkategori, men unngå å skrive API-nøkler, fullstendige kundeadresser eller unødvendige personopplysninger til applikasjonslogger.

Hold leverandørsvaret atskilt fra kundemodellen. Dette gjør det enklere å bytte leverandør, korrigere en tilordningsregel og begrense informasjonen som eksponeres gjennom en offentlig ordreside.

Utform kundeopplevelsen for sporing

En sporingsside bør raskt svare på tre spørsmål: Hva er gjeldende status, hva skjedde sist, og hva bør kunden gjøre videre? Vis ordrehenvisning, forsendelsesnummer i en personvernbevisst form, transportørnavn, tidspunkt for siste hendelse og en tydelig forklaring på avvik.

Ikke vis en tom tidslinje som om det var en teknisk feil. Før den første transportørskanningen bør du forklare at fraktinformasjonen er mottatt, og at bevegelse kanskje ennå ikke er synlig. Ved et avvik bør du bare gi en forklaring i vanlig språk når kildedataene støtter den. Hvis transportøren rapporterer et adresseproblem, bør du lenke til supportprosessen eller kundeservicetiltaket som virksomheten faktisk kan tilby.

For butikker som er bygget på Shopify eller en annen handelsplattform, bør du undersøke hvordan behandlingshendelser, kundekontoer, ordrestatuser og varslingsmaler eksponeres av plattformen. Shopifys offisielle utviklerdokumentasjon inneholder ressurser for webhooks og behandlingsdata. Plattform-API-er og versjonert dokumentasjon kan endres, så bekreft hvilken versjon applikasjonen bruker før produksjonsarbeid.

Bruk varsler med omtanke

Forsendelseshendelser er nyttige utløsere, men en melding for hver transportørskanning kan føre til varselstretthet. Definer forretningsregler, for eksempel varsling ved opprettelse av forsendelse, meningsfull fremdrift under transport, når forsendelsen er på vei til levering, ved levering og ved utvalgte avvik. Undertrykk duplikater og legg til et minimumsintervall for gjentatte meldinger om forsinkelser.

Skill mellom driftsvarsler og kundevarsler. Et supportteam kan trenge å vite at en forsendelse ikke har endret seg på flere dager, mens kunden kanskje bare trenger en melding når transportøren rapporterer et konkret avvik. Tidsgrensen bør gjenspeile servicenivået, destinasjonen, transportøren og fraktmetoden, i stedet for et universelt tall uten operasjonelt grunnlag.

Test med virkelige leveringsscenarioer

Et vellykket svar for ett sporingsnummer er ikke nok for en produksjonslansering. Lag en testmatrise som inkluderer flere transportører, land, forsendelsestyper og hendelsestilstander. Test minst:

  • En nylig opprettet forsendelse uten transportørskanning
  • En normal forsendelse under transport
  • En forsendelse på vei til levering
  • En levert forsendelse
  • En hendelse med avvik eller knyttet til adresse
  • En returnert forsendelse
  • Et ugyldig sporingsnummer
  • En duplisert behandlingshendelse
  • Et forsinket leverandørsvar eller tidsavbrudd
  • En hendelse i feil rekkefølge

Mål mer enn API-tilgjengelighet. Kontroller om riktig ordre oppdateres, om kunden ser forståelig språk, om dupliserte varsler undertrykkes, og om supportpersonalet kan identifisere den opprinnelige transportørhendelsen. Start med en begrenset utrulling, behold en operasjonell reserveplan og følg med på feilkategorier etter lansering.

Sikkerhet, personvern og vedlikehold

Lagre legitimasjon i en hemmelighetshåndteringstjeneste eller en beskyttet miljøvariabel, ikke i temakode, mobilkode, kildekontroll eller nettleserforespørsler. Begrens tilgangen til forsendelsesdata etter rolle, bruk HTTPS og gjennomgå hvor lenge råsvar og kundeopplysninger lagres.

Gå regelmessig gjennom leverandørens dokumentasjon og handelsplattformens API-versjon. Transportørstøtte, hendelsesnavn, autentiseringskrav og plattformens webhook-atferd kan endres. Hold reglene for statustilordning konfigurerbare, dokumenter antakelsene bak dem, og gjør det mulig å spille av eller avstemme en forsendelse uten å sende en ny kundemelding.

17TRACKs API er et relevant alternativ å vurdere når butikken din trenger en dedikert sporingsintegrasjon på tvers av transportører. Det riktige valget avhenger likevel av transportørene du bruker, landene du betjener, oppdateringsatferden som er dokumentert for kontoen din, forventet forespørselsvolum og hvilke operasjonelle kontroller teamet ditt trenger. Bekreft disse punktene i den offisielle dokumentasjonen og i et kontrollert konseptbevis før du forplikter deg til et produksjonsdesign.

Vanlige spørsmål

Bør sporing opprettes når en ordre legges inn?

Vanligvis ikke. Opprett eller aktiver forsendelsesposten når behandlingsflyten din har en transportør og et sporingsnummer. Hvis du oppretter den ved utsjekking, kan det oppstå poster for ordrer som senere kanselleres, ikke behandles eller deles opp.

Kan et sporings-API garantere leveringsinformasjon i sanntid?

Nei. Ingen API kan garantere at alle transportørskanninger blir synlige umiddelbart. Leverandøren er avhengig av transportørdata, og transportørsystemer kan rapportere hendelser med forsinkelser eller hull. Presenter tidsstempler og statusformuleringer nøyaktig, og unngå å love et nøyaktig oppdateringstidspunkt med mindre den relevante dokumentasjonen og tjenesteavtalen støtter dette løftet.

Bør nettleseren kalle sporings-API-et direkte?

I de fleste implementeringer, nei. Bruk en integrasjon på serversiden slik at legitimasjonen forblir beskyttet, svar kan normaliseres, nye forsøk kan kontrolleres og kundedata kan filtreres. Nettbutikken bør normalt lese en godkjent forsendelsesvisning fra applikasjonen din.

Hvordan bør en butikk håndtere flere pakker i én ordre?

Modeller hver behandling eller pakke som en separat forsendelse, samtidig som den overordnede ordre-ID-en beholdes. Ordresiden kan vise en samlet oversikt og separate tidslinjer for hver pakke. Dette hindrer at en forsinket pakke skjules bak statusen «levert» for en annen pakke.

Hva er det første produksjonsmålet som bør overvåkes?

Overvåk hele flyten fra opprettelse av behandlingen til en korrekt oppdatering som er synlig for kunden. API-suksess alene er ikke nok. Følg med på dupliserte poster, foreldede forsendelser, hendelser uten tilordning, mislykkede varsler og andelen forsendelser som krever manuell korrigering.

Kilder

Loading