Skip to main content
HjemBloggNormalisering av sporingsstatus for transportører: Slik tilordner du transportørhendelser til én statusmodell

Normalisering av sporingsstatus for transportører: Slik tilordner du transportørhendelser til én statusmodell

17TRACK

Normalisering av sporingsstatus betyr å oversette transportørspesifikke skannekoder og meldinger til en konsistent forsendelsesmodell, samtidig som de opprinnelige bevisene bevares. For å implementere dette pålitelig må hver hendelse knyttes til en kanonisk status og årsak, og deretter må forsendelsens nåværende tilstand beregnes ved hjelp av hendelsestidspunkt, forsendelseskontekst og eksplisitte overgangsregler. Ikke behandle automatisk den sist mottatte meldingen som forsendelsens nåværende status.

Normalisering av transportørers sporingsstatus Slik tilordner du transportørhendelser

Denne veiledningen er for utviklere, logistikkteam og produkteiere som bygger sporing inn i et ordrebehandlingssystem, et supportdashboard eller en arbeidsflyt for kundemeldinger. Modellen nedenfor er et foreslått implementasjonsmønster, ikke en offisiell transportørstandard eller en gjengivelse av statustaksonomien til en bestemt sporingstjeneste.

Skill transportørhendelsen fra forsendelsestilstanden

En sporingshendelse beskriver noe som er rapportert om en forsendelse: en etikett er opprettet, en pakke har nådd et anlegg, eller et leveringsforsøk mislyktes. En forsendelsestilstand er applikasjonens tolkning av de relevante bevisene på et bestemt tidspunkt. Disse konseptene bør lagres separat.

En pakke kan for eksempel ha en hendelse for mislykket leveringsforsøk etterfulgt av en hendelse for ankomst til et anlegg. Ankomsten er nyttig operasjonshistorikk, men betyr ikke nødvendigvis at tilstanden med mislykket forsøk er løst. Omvendt bør en forsinket skanning som mottas etter en leveringsbekreftelse, ikke automatisk flytte pakken tilbake til under transport.

En praktisk arkitektur har tre lag:

  1. Råbevis: den opprinnelige nyttelasten fra transportøren eller leverandøren, inkludert koder, tekst, tidsstempler og identifikatorer.
  2. Normaliserte hendelser: din tolkning av hver enkelt hendelse ved hjelp av en versjonert tilordningsregel.
  3. Gjeldende forsendelsesprojeksjon: tilstanden som er valgt fra hendelseshistorikken, samt aktive betingelser og kundetiltak.

Dette skillet gjør det mulig å korrigere tilordninger og bygge forsendelsestilstander på nytt uten å forkaste den opprinnelige posten.

Definer en kompakt statusmodell med separate betingelser

Det blir vanskelig å vedlikeholde ett enkelt statusfelt når det samtidig skal representere fysisk bevegelse, tollbehandling, leveringsproblemer og returer. Bruk en liten livssyklusmodell, og knytt deretter mer spesifikke betingelser og årsaker til den.

Kanonisk statusAnbefalt betydningGrense som må bevares
UNKNOWNBevisene kan ikke tilordnes med tilstrekkelig sikkerhet.Ikke det samme som tapt eller forsinket.
PRE_TRANSITElektronisk forsendelsesinformasjon finnes, uten bekreftet fysisk mottak.Opprettelse av etikett er ikke bevis på at transportøren har pakken.
IN_TRANSITForsendelsen beveger seg gjennom eller behandles i leveringsnettverket.Betyr ikke at levering vil skje samme dag.
OUT_FOR_DELIVERYKilden rapporterer uttrykkelig at forsendelsen er sendt ut for et leveringsforsøk.Ankomst til et lokalt anlegg er ikke tilstrekkelig.
READY_FOR_PICKUPForsendelsen er uttrykkelig tilgjengelig for henting av mottakeren.Ankomst til et hentested alene fastslår ikke nødvendigvis at den er klar.
DELIVEREDLevering er uttrykkelig bekreftet for den relevante forsendelsesetappen.En overlevering mellom transportører er ikke nødvendigvis levering til mottakeren.
CANCELEDKilden bekrefter uttrykkelig at forsendelsesposten er kansellert.En kansellering av ordren beviser ikke at pakken har sluttet å bevege seg.

Hold betingelser som CUSTOMS_PROCESSING, DELIVERY_ATTEMPT_FAILED, ADDRESS_ISSUE eller DELAY_REPORTED utenfor det primære livssyklusfeltet. En forsendelse kan fortsatt være IN_TRANSIT samtidig som et adresseproblem krever oppmerksomhet. Ikke merk vanlig tollbehandling som et avvik med mindre kilden rapporterer en tilbakeholdelse, et problem eller en nødvendig handling.

Representer retningen separat med et felt som journey_type. En retur kan ha egne statuser for under transport og levert. Dette hindrer at levering tilbake til avsender tolkes som vellykket levering til kjøperen.

Bygg hendelsesposten før du skriver tilordningsregler

Den normaliserte posten bør inneholde nok kontekst til å forklare tilordningen og gjenskape resultatet. Et nyttig utgangspunkt for et skjema omfatter:

  • Identitet: intern forsendelses-ID, transportøridentifikator, sporingsnummer, kilde og forsendelsesetappe.
  • Opprinnelige bevis: rå hendelseskode, rå beskrivelse, kildehendelses-ID når den oppgis, og en referanse til den opprinnelige nyttelasten.
  • Tidspunkt: tidspunktet hendelsen inntraff, informasjon om tidssone, mottakstidspunkt og tidsstempelpresisjon.
  • Tolkning: kanonisk status, betingelse, årsakskode, reisetype og krav om handling.
  • Sporbarhet: ID for tilordningsregel, tilordningsversjon og tillitskategori.

Hold tidspunktet hendelsen inntraff, separat fra tidspunktet systemet mottok oppdateringen. En webhook som mottas på ettermiddagen, kan beskrive en skanning fra morgenen. Et svar fra periodisk henting kan også inneholde flere historiske hendelser i stedet for én ny hendelse.

Bruk et dokumentert tidsstempelformat som RFC 3339 når tidspunkt og forskyvning er kjent. Hvis kilden oppgir lokal tid uten en pålitelig forskyvning, må denne begrensningen bevares i stedet for å legge til en falsk UTC-betegnelse. Lagre hendelser som bare inneholder dato, som datobevis, i stedet for å finne på et presist skanningstidspunkt.

Lagre rå nyttelaster under passende tilgangskontroller og regler for oppbevaring. De kan inneholde mottakeropplysninger eller annen informasjon som ikke hører hjemme i en bredt tilgjengelig analysetabell.

Tilordne transportørkoder først, og bruk tekst med forsiktighet

Start med regler som er avgrenset til en bestemt kilde og transportør. En kode som 01 har ingen pålitelig betydning utenfor den dokumenterte konteksten. Når en kilde skiller mellom tjenester, regioner eller etapper, må disse dimensjonene inkluderes når de påvirker tolkningen.

Bruk denne tilordningsrekkefølgen som standard for implementeringen:

  1. Finn en dokumentert strukturert hendelseskode og eventuelle nødvendige kvalifikatorer.
  2. Bruk en dokumentert kildestatus eller understauts når den tydelig beskriver hendelsen som behandles.
  3. Bruk snevert avgrensede tekstregler for kjente meldinger som mangler tilstrekkelige strukturerte felt.
  4. La uløste hendelser forbli uten tilordning, og send gjentakende tilfeller til gjennomgang.

Fastslå først om en leverandørs statusfelt beskriver en individuell hendelse eller forsendelsens gjeldende sammendrag. Hvis et sammendrag på forsendelsesnivå kopieres til alle historiske hendelser, kan tidligere skanninger se ut som leveringsbekreftelser.

Unngå globale nøkkelordregler som «inneholder levert». Uttrykket «ikke levert» ville også bli truffet, og det samme kan en melding som beskriver levering til en logistikkpartner. Tekstregler trenger håndtering av negasjoner, språkkontekst og unntak. Maskinoversettelse kan hjelpe en saksbehandler med å forstå en melding, men den oversatte teksten bør ikke i det stille bli den autoritative definisjonen av hendelsen.

Illustrerende tilordninger og begrensningene deres

Eksemplene nedenfor bruker oppdiktede meldinger for å demonstrere utforming av regler. De er ikke verifiserte transportørkoder eller nøyaktige meldinger fra en bestemt transportør.

  • «Shipment details submitted»: tilordnes til PRE_TRANSIT når kildedefinisjonen angir at det kun finnes elektronisk informasjon.
  • «Accepted at origin facility»: tilordnes til IN_TRANSIT når hendelsen bekrefter fysisk mottak.
  • «Recipient unavailable; attempt unsuccessful»: registrer DELIVERY_ATTEMPT_FAILED og vurder livssyklusen ut fra de omkringliggende bevisene. Ikke utled at henting er tilgjengelig.
  • «Available for collection»: tilordnes til READY_FOR_PICKUP når kilden bekrefter at forsendelsen er klar for henting av mottakeren.
  • «Transferred to delivery partner»: registrer en overlevering og behold en passende transportstatus i stedet for å markere levering til mottakeren som fullført.

Hver regel bør ha en kort begrunnelse og en ansvarlig eier. Når en driftsspesialist bestrider en tilordning, bør teamet kunne identifisere den nøyaktige regelen i stedet for å rekonstruere en kundevendt etikett.

Beregn gjeldende tilstand med en deterministisk reduksjonsfunksjon

Reduksjonsfunksjonen evaluerer normaliserte hendelser og produserer den gjeldende forsendelsesprojeksjonen. Den bør returnere samme resultat for samme bevis og regelversjon, uavhengig av hvor mange ganger inndataene spilles av på nytt.

Fjern duplikater uten å slette meningsfulle skanninger

Foretrekk en stabil kildehendelsesidentifikator når en slik finnes. Ellers kan du konstruere en dedupliseringsnøkkel fra tilgjengelige attributter som forsendelsesidentitet, transportør, kode, tidspunktet hendelsen inntraff og sted. Ta hensyn til tidsstempelpresisjon og kildeatferd. To skanninger med identiske beskrivelser er ikke nødvendigvis duplikater, særlig hvis pakken besøker et anlegg på nytt.

Sorter hendelser uten å anta perfekte klokker

Bruk pålitelige tidspunkt for når hendelsen inntraff og dokumentert sekvensinformasjon når dette er tilgjengelig. Mottakstidspunkt kan bidra til å løse likheter, men bør ikke rutinemessig overstyre et tidligere tidspunkt for når hendelsen inntraff. Hvis tidsstempler er i konflikt eller ikke kan sammenlignes pålitelig, må tvetydigheten bevares i stedet for å skape falsk sikkerhet.

Valider overganger i stedet for å tildele en universell rangering

En enkel numerisk rangering av statuser kan ikke representere alle forsendelsesforløp. En pakke kan gå fra ute til levering tilbake til under transport etter et mislykket forsøk. Tilgjengelighet for henting kan utløpe. En eksplisitt korrigering kan ugyldiggjøre en leveringsbekreftelse.

Definer tillatte overganger og hvilke bevis hver av dem krever. Beskytt levert mot vanlige eldre skanninger, men tillat en dokumentert korrigering eller en autorisert driftsmessig overstyring. Registrer årsaken til og kilden for enhver overstyring.

Følg aktive betingelser separat

En senere bevegelsesskanning kan vise fremdrift uten å bevise at et betalings- eller adresseproblem er løst. Definer regler for fjerning av hver betingelse: eksplisitt løsning, en hendelse som logisk løser problemet, eller en autorisert manuell handling. Ikke fjern alle betingelser bare fordi en annen hendelse har ankommet.

Skill også mellom en forsinkelse rapportert av transportøren og ditt eget varsel om inaktivitet. Fravær av nye skanninger er en observasjon om dataenes aktualitet, ikke et bevis på at pakken er tapt.

Håndter transportøroverleveringer og returer som sammenknyttede reiser

Grensekryssende sporing kan involvere flere transportører og identifikatorer. Behold en intern forsendelsesidentitet og knytt transportørspesifikke sporingsreferanser til de relevante etappene. Knytt referanser sammen ved hjelp av relasjoner fra kilden eller verifiserte driftsdata, ikke bare på grunnlag av lignende destinasjoner eller nærliggende tidsstempler.

En leveringshendelse på etappenivå må tolkes i kontekst. Levering til et konsolideringsanlegg eller et partnernettverk kan fullføre den aktuelle etappen uten å fullføre leveringen til kjøperen. Forsendelsesprojeksjonen må vite hvilken destinasjon hendelsen gjelder.

Skill på samme måte mellom «retur forespurt», «returbevegelse startet» og «returnert til avsender». Dette beskriver ulike milepæler. En returforspørsel beviser ikke at pakken fysisk beveger seg tilbake, og leveringsbekreftelsen for en returreise bør angi returdestinasjonen.

Bruk et sporings-API uten å gi avkall på forretningsreglene dine

En integrasjon med flere transportører kan tilby et felles mottakspunkt, men et felles svarformat fjerner ikke behovet for en tydelig intern kontrakt. Når du vurderer 17TRACK Tracking API, bør du bruke den offisielle dokumentasjonen til å kontrollere betydningen av feltene og grensesnittene som er relevante for implementeringen. Ikke anta at de foreslåtte statusene i denne veiledningen samsvarer med den opprinnelige taksonomien.

Før du kobler et API til kundemeldinger eller operasjonell automatisering, må du fastsette:

  • Hvilke felt som beskriver individuelle hendelser, og hvilke som beskriver det gjeldende sammendraget for forsendelsen.
  • Hvilke opprinnelige transportøropplysninger som eksponeres og kan bevares.
  • Hvordan tidsstempler, manglende verdier, korrigeringer og gjentatte oppdateringer representeres.
  • Hvordan returreiser og levering til mellomliggende partnere kan skilles fra hverandre.
  • Hvordan integrasjonen skal reagere på ukjente koder eller fremtidige endringer i skjemaet.

Behold en enkel adapter mellom det eksterne svaret og den kanoniske modellen. Dette lar resten av applikasjonen bruke én kontrakt for sporingsstatus uten å være avhengig av hvert feltnavn fra oppstrømskildene. Behandle varslingsregler som et eget lag: En ny normalisert hendelse bør ikke automatisk utløse en kundemelding.

Test hendelseshistorikk, ikke bare individuelle tilordninger

En tilordning kan være korrekt isolert sett og likevel produsere feil forsendelsestilstand. Test komplette historikker, inkludert oppdateringer som leveres i en annen rekkefølge enn tidspunktene de inntraff.

  • Forsinket historikk: leveringsbekreftelsen ankommer før en eldre transports skanning. Forsendelsen forblir levert.
  • Gjentatt inntak: den samme hendelsen behandles på nytt. Ingen duplikatkundemelding sendes.
  • Mislykket forsøk: et mislykket forsøk følger etter statusen ute til levering. Projeksjonen lover ikke lenger en aktiv leveringsrunde uten støttende bevis.
  • Klar for henting: en pakke når et hentested før tilgjengeligheten er bekreftet. Ingen forhåndsvarsel om henting sendes.
  • Ukjent hendelse: en ny kode vises. Råposten beholdes, og en tidligere etablert forsendelsestilstand erstattes ikke automatisk med ukjent.
  • Returbevegelse: en returreise ender hos avsenderen. Den opprinnelige leveringen til kjøperen markeres ikke som vellykket.
  • Korrigering: en eksplisitt kildekorrigering endrer utfallet gjennom en sporbar overgang.

Overvåk hendelser uten tilordning, bruk av tekstbasert reservebehandling, ugyldige overganger og forsøk på dupliserte varsler per transportør og kilde. Skill mellom fullstendighet i tilordningen og riktighet i tilordningen: Det er ikke nyttig å gjenkjenne hver kode hvis tolkningen er feil.

Før du setter en endring i tilordningen i produksjon, må du spille av representative historikker på nytt og sammenligne de gamle og nye projeksjonene. Gjennomgå forskjeller som påvirker leveringsbekreftelse, henteinstruksjoner, fullføring av retur eller kundens handling. Versjoner reglene slik at en supportmedarbeider kan forklare hvorfor systemet produserte et bestemt resultat.

Vanlige spørsmål

Bør hver sporingshendelse ha nøyaktig én status?

Hver hendelse kan ha én primær normalisert tolkning, men den kan også trenge en betingelse, årsak og reisekontekst. Hvis all betydning tvinges inn i én flat statusliste, blir modellen vanskeligere å bruke og vedlikeholde.

Bør en ukjent hendelse erstatte den gjeldende forsendelsesstatusen?

Vanligvis ikke. La hendelsens tilordning forbli uløst, samtidig som den sist støttede forsendelsestilstanden beholdes. Vis dataenes aktualitet separat, slik at brukerne ikke forveksler en gammel bekreftet tilstand med en nylig oppdatering.

Kan en levert forsendelse gå tilbake til under transport?

En eldre transportskanning bør ikke føre til denne endringen. En verifisert korrigering kan rettferdiggjøre den, mens en nylig startet returreise normalt bør representeres separat. Overgangen trenger en eksplisitt årsak, ikke bare et senere mottakstidspunkt.

Hvordan bør manglende sporingsoppdateringer representeres?

Bruk en intern indikator for aktualitet eller et inaktivitetsvarsel. Hold dette separat fra forsinkelse, tap eller avviksstatuser rapportert av transportøren. Enhver terskel for eskalering bør gjenspeile tjenesteforpliktelsene og driftsreglene dine, ikke en universell antakelse.

Hvem bør godkjenne endringer i tilordninger?

Teknisk team bør eie implementering og testing med avspilling; logistikkavdelingen bør validere betydningen for frakt; og den kundeopplevelsesansvarlige bør godkjenne konsekvensene for meldinger. Utpek en navngitt beslutningseier, slik at tvetydige hendelser ikke forblir uløste på ubestemt tid.

Kilder

Loading