Skip to main content
НачалоБлогДокументация за UPS Tracking API: 7 ключови функции, които разработчиците трябва да познават

Документация за UPS Tracking API: 7 ключови функции, които разработчиците трябва да познават

17TRACK

Документацията за UPS tracking API е най-полезна, когато помага на разработчика да премине от номер за проследяване към надеждно изживяване за статуса на пратката. Седемте области, които трябва да се разгледат, са удостоверяване, заявки за проследяване, схеми на отговорите, история на събитията, обработка на грешки, оперативни ограничения и тестване. UPS предоставя собствена платформа за разработчици за директни интеграции с UPS, докато услуга за множество превозвачи като 17TRACK Tracking API може да е по-подходяща, когато една интеграция трябва да поддържа UPS и други превозвачи.

Документация за UPS Tracking API: 7 ключови функции, които разработчиците трябва да познават

Правилната реализация зависи от системата, която изграждате. Търговецът може да се нуждае от актуализации за доставката на страницата на поръчката, складовият екип може да се нуждае от предупреждения за изключения, а корпоративната платформа може да се нуждае от нормализирани данни за проследяване от множество превозвачи. Преглеждането на документацията през призмата на тези случаи на употреба помага да се избегне често срещана грешка: успешният отговор от API да се приема за същото като цялостно решение за видимост на пратките.

На какви въпроси трябва да ви помогне да отговорите документацията за UPS tracking API

Преди да пишете код, изяснете четири въпроса:

  • Интегрирате ли само UPS, или системата ще проследява множество превозвачи?
  • Нуждаете ли се от текущия статус на пратката, от пълната история на сканиранията или и от двете?
  • Ще заявява ли приложението ви актуализации при поискване, ще получава ли известия или ще използва комбинация от двата подхода?
  • Какво трябва да виждат клиентите и вътрешните екипи, когато пратката е забавена, доставена, върната или все още не е намерена?

Документацията на UPS е основният източник за актуалните идентификационни данни, поддържаните операции, изискванията към заявките, полетата в отговорите и условията за търговски достъп. Тези подробности могат да се променят в зависимост от API продукта, конфигурацията на акаунта или версията на платформата за разработчици, затова производственият код трябва да следва текущия портал за разработчици на UPS, вместо да разчита на стар примерен код.

7 ключови функции, които разработчиците трябва да разбират

1. Удостоверяване и достъп на приложението

Удостоверяването е първата практическа функция, защото определя как приложението доказва своята самоличност и получава разрешение да извиква API. Документацията за разработчици на UPS описва текущия процес за регистриране на приложение, създаване на идентификационни данни, заявяване на достъп и управление на токени. Документацията описва достъп, базиран на OAuth, за UPS API, но разработчиците трябва да потвърдят текущия поток за предоставяне, обхватите, срока на валидност на токените и изискванията към средата в активния портал преди реализацията.

Съхранявайте идентификационните данни от страната на сървъра. Те не трябва да се вграждат в JavaScript кода на браузъра, мобилни компилации, публични хранилища или код на страница за проследяване, видим за клиента. По-безопасната архитектура поставя backend услуга между приложението, насочено към клиента, и UPS. Тази услуга може да се удостоверява сигурно, да налага ограничения на заявките, да записва технически резултати без разкриване на тайни и да връща само данните за пратката, от които се нуждае front end-ът.

Също така отделяйте идентификационните данни за разработка от тези за продукция, когато платформата на UPS поддържа отделни среди. Контролният списък за внедряване трябва да включва съхранение на тайни, ротация, собственост върху достъпа, обработка на изтекли токени и предупреждение, когато броят на грешките при удостоверяване започне да нараства.

2. Заявки с номера за проследяване и контекст на превозвача

Интеграцията за проследяване се нуждае от предвидим начин за изпращане на идентификатор за проследяване и заявяване на информация за пратката. Важните въпроси не се ограничават до адреса на endpoint-а. Те включват поддържания формат на номера за проследяване, дали заявката поддържа един или множество номера, как се идентифицира превозвачът и как API отговаря, когато номерът е непълен или все още не е разпознат.

Не приемайте, че всеки низ, наподобяващ номер за проследяване, принадлежи на UPS. Ако приложението ви получава етикети от няколко транспортни системи, съхранявайте превозвача в отделно поле, когато е известен. Маршрутизирането според превозвача намалява фалшивите съвпадения и улеснява отстраняването на проблеми. То също така създава чист път за бъдещо разширяване, ако бизнесът ви добави друг превозвач.

Проверявайте входните данни преди изпращане на заявка, но избягвайте прекалено строгата валидация, която отхвърля легитимен идентификатор, защото форматът му се е променил или етикетът е създаден наскоро. Отговорът от API остава авторитетната проверка. Съхранявайте оригиналната стойност, нормализираната стойност, използвана за търсене, превозвача, референцията на поръчката и часа на последната успешна заявка.

3. Структурирана схема на отговора

Полезната документация за UPS tracking API обяснява как са организирани данните за пратката и кои полета са незадължителни. Разработчиците трябва да проверят модела на отговора за идентичност на пратката, текущ статус, описание на статуса, времеви отпечатъци на сканиранията, местоположения, оценки за доставка, информация за услугата и подробности на ниво пакет. Липсващото поле не е непременно същото като поле с празна стойност и нито едно от двете не трябва автоматично да се третира като неуспешна пратка.

Изградете нормализиран вътрешен модел, вместо да обвързвате цялото приложение директно със специфичните за доставчика имена на полета. Например базата ви данни може да поддържа идентификатор на пратката, превозвач, текущ статус, час на последното събитие, очакван час на доставка, час на доставяне, код на изключението и необработения payload от доставчика. Нормализираните полета поддържат отчетите и потребителските интерфейси, а необработеният payload подпомага одитите и бъдещите промени в съпоставянето.

Запазвайте времевите отпечатъци с информацията за отместването или часовата зона, когато е предоставена. Показването на сканиране от едно местоположение така, сякаш се е случило в местното време на зрителя, може да създаде объркващ разказ за доставката. По същия начин не преобразувайте подробния статус на превозвача в по-прост етикет, докато бизнес правилото не бъде документирано.

4. История на сканиранията и интерпретация на статуса

Стойността на UPS tracking често се състои в последователността от събития, а не в един-единствен текущ етикет. Пакетът може да премине през създаване на етикет, вземане, транзит, сканиране при пристигане, изключение, събитие „за доставка“ и доставка. Използваемата интеграция съхранява събитията по ред и запазва оригиналните им описания, когато е възможно.

Съпоставянето на статуси изисква редакторска и оперативна преценка. „В транзит“ може да обхваща няколко различни етапа, докато „изключение“ може да изисква обяснение, което е по-конкретно от името на статуса. Приложението ви трябва да различава поне нормално движение, дейност по доставката, доставено, изключение, върнато и статус, който все още не може да бъде определен. Точното съпоставяне трябва да следва полетата и кодовете, документирани от UPS, а не предположения, основани само на описания на английски език.

За страниците, насочени към клиентите, показвайте последното значимо събитие, неговия час и кратко обяснение. За вътрешните операции запазвайте пълната история на събитията и оригиналната формулировка на превозвача. Това позволява на служителите по поддръжката да проучат оплакване, без да искат от клиента да повтаря информация, която системата вече е получила.

5. Оценки за доставка и обработка на изключения

Разработчиците често се фокусират върху нормалния сценарий, но оценките за доставка и изключенията определят дали данните за проследяване са практично полезни. Пратката може да няма оценка, оценката може да се промени или изключение временно да прекъсне нормалното движение. Документацията трябва да се провери за полетата и условията, които представят тези случаи.

Никога не представяйте оценката като гаранция, освен ако съответните условия на услугата на UPS изрично не подкрепят такова тълкуване. В потребителския интерфейс обозначавайте оценката като оценка и показвайте датата или времевия интервал точно според наличните данни. Ако API не предостави оценка, покажете неутрално съобщение като „В момента няма налична оценка за доставка“, вместо да измисляте такава въз основа на общо правило за транзитно време.

Работните потоци за изключения трябва да бъдат изрични. Решете дали ново изключение задейства имейл, задача за отдела за поддръжка, действие в системата за управление на поръчките или само промяна на статуса. Добавете дедупликация, така че повтарящото се извличане да не изпраща едно и също предупреждение многократно. Практическо правило е да сравнявате идентификатора на събитието или стабилна комбинация от часа на събитието, статуса и описанието, преди да създадете ново известие.

6. Грешки, повторни опити и оперативни ограничения

Документацията за API трябва да се разглежда като оперативен договор, а не само като списък с успешни примери. Разработчиците трябва да разбират грешките при удостоверяване, невалидните заявки, неизвестните номера за проследяване, временните сривове на услугата, изтичането на времето и отговорите за ограничаване на честотата. Всяка категория заслужава различна реакция.

  • Грешките при удостоверяване трябва да създават предупреждение към инженерния екип и не трябва да се повтарят безкрайно.
  • Грешките при валидация трябва да се записват с достатъчно контекст за коригиране на заявката.
  • Временните грешки могат да се повторят с експоненциално отстъпване и максимален брой опити.
  • Неизвестните или наскоро създадени номера за проследяване могат да бъдат проверени отново по-късно, но не трябва да се класифицират като изгубени.
  • Отговорите за ограничаване на честотата трябва да забавят графика за извличане и да спазват ограниченията, посочени в текущата документация на UPS.

Използвайте изчаквания, прекъсвачи, идентификатори на заявки и структурирани логове. Съхранявайте статуса на отговора от доставчика, вътрешния идентификатор на пратката и времевия отпечатък, като изключвате токените за достъп и ненужната лична информация. Ако документацията посочва заглавки на отговора или указания за повторен опит, включете тези инструкции вместо прилагане на обща политика.

7. Тестване, мониторинг и готовност за продукция

Интеграцията с API за проследяване трябва да се тества с повече от един успешен номер за проследяване. Създайте тестови случаи за новогенериран етикет, пратка с няколко сканирания, изключение, доставен пакет, неизвестен номер, изтекли идентификационни данни, неправилно форматирана заявка, изтичане на времето и дублирано събитие. Точните тестови данни и поведението на sandbox средата трябва да бъдат потвърдени в средата за разработчици на UPS, тъй като данните за реални пратки и тестовите среди не винаги се държат идентично.

Наблюдавайте както техническите, така и бизнес резултатите. Техническите показатели включват обем на заявките, латентност, честота на изтичане на времето, грешки при удостоверяване, честота на грешките от доставчика и брой повторни опити. Бизнес показателите включват процента пратки с последно събитие, възрастта на най-старата неактуализирана пратка и броя поръчки, засегнати от изключение. Една услуга може да има ниска честота на HTTP грешки и въпреки това да предоставя остаряла информация за проследяване, ако извличането или обработката на събития е спряла.

Преди старта документирайте как да спрете извличането, да ротирате идентификационните данни, да възпроизведете неуспешните отговори, да поправите неправилно съпоставяне на статуси и да се свържете с поддръжката на UPS. Съхранявайте payload-а от доставчика за контролиран период на съхранение, ако е необходим за разследване, и прегледайте изискванията за поверителност и съхранение на данни със съответния отговорен екип.

Директна интеграция с UPS или API за множество превозвачи?

Директната интеграция с UPS е разумен избор, когато UPS е единственият превозвач в обхвата, екипът иска да управлява специфичния за превозвача модел и необходимият достъп до UPS API е наличен. Тя може да осигури тясно съответствие с терминологията и оперативните процеси на UPS.

API за множество превозвачи може да е по-добър архитектурен избор, когато едно и също приложение трябва да проследява пратки от UPS, пощенски оператори и други логистични доставчици. 17TRACK API documentation трябва да бъде прегледана за текущия модел на удостоверяване, поддържаните операции, структурата на отговора, поведението на webhook-ите, условията за използване и обхвата на превозвачите, преди да бъде взето техническо решение. Стойността ѝ в този сценарий не е, че премахва необходимостта от документация, а че екипът по разработка може да оцени един интеграционен слой спрямо разходите за поддръжка на няколко специфични за превозвачите връзки.

Направете сравнението с proof of concept. Използвайте един и същ жизнен цикъл на пратката за всяка опция и измерете усилията за реализация, пълнотата на полетата, актуалността на събитията, поведението при повторни опити, изискванията за webhook или извличане, наблюдаемостта и работата, необходима при промяна на отговора на превозвача. Не избирайте доставчик единствено защото примерната заявка е кратка. По-подходящ е този, който поддържа оперативния резултат, който приложението ви трябва да предостави.

Практическа последователност за реализация

  1. Определете потребителските и оперативните резултати, като страница за проследяване на клиента или опашка за изключения.
  2. Потвърдете дали обхватът е само UPS или включва множество превозвачи.
  3. Прочетете актуалната официална документация за удостоверяване, заявки за проследяване, полета в отговорите, грешки, ограничения и тестване.
  4. Създайте неутрален спрямо доставчика модел на пратка и събитие.
  5. Реализирайте сигурно удостоверяване от страната на сървъра и валидация на входните данни.
  6. Съхранявайте необработените отговори и нормализираните полета отделно.
  7. Добавете извличане или приемане на събития с дедупликация и отстъпване.
  8. Тествайте нормални, забавени, изключителни, неизвестни и неуспешни заявки.
  9. Стартирайте с мониторинг на актуалността, грешките и остарелите пратки.

Тази последователност не позволява извикването на API да се превърне в целия дизайн. Проследяването е непрекъснат процес на работа с данни: приложението трябва да получава събития, да ги интерпретира внимателно, да ги представя ясно и да се възстановява, когато доставчикът или мрежата не са достъпни.

Често задавани въпроси

Какво трябва да прочета първо в документацията за UPS tracking API?

Започнете с удостоверяването и операцията за проследяване. След това прегледайте изискванията към заявките, полетата в отговорите, поведението при грешки, ограниченията за използване и инструкциите за тестване. Тези раздели показват дали API съответства на вашия модел за сигурност и изискванията ви към данните, преди да инвестирате в пълна интеграция.

Мога ли да използвам UPS tracking API за страница за проследяване, насочена към клиента?

Да, API може да предоставя данни за страница, насочена към клиента, но страницата трябва да се обслужва чрез вашия backend, вместо да излага идентификационните данни за API в браузъра. Проектирайте страницата така, че да разграничава текущия статус, историята на сканиранията, оценките и изключенията, и избягвайте представянето на оценките като гаранции.

Трябва ли номерата за проследяване да се извличат непрекъснато?

Не непременно. Честотата на извличане трябва да отразява етапа на пратката, бизнес спешността, документираните ограничения за използване и наличието на опция, базирана на събития. Използвайте отстъпване за пратки без промяна и спрете или намалете извличането след доставка или окончателен статус за връщане.

Каква е разликата между неизвестен номер за проследяване и изгубен пакет?

Неизвестен номер за проследяване означава, че текущата заявка не е върнала разпознат резултат за пратката. Той може да е създаден наскоро, въведен неправилно, насочен към грешния превозвач или временно недостъпен. Не трябва да бъде обозначаван като изгубен без отделен бизнес процес и подкрепящи доказателства.

Кога си струва да се обмисли API за проследяване на множество превозвачи?

Струва си да бъде оценено, когато приложението ви трябва да поддържа няколко превозвача или когато поддръжката на отделни удостоверявания, схеми, съпоставяния на статуси и политики за грешки би създала значителна оперативна работа. Сравнявайте доставчиците чрез реални сценарии с пратки и проверявайте текущата информация за превозвачите и функциите в официалната им документация.

Източници

  • UPS Developer Portal — официална точка за достъп до UPS API продуктите, настройката на приложения, удостоверяването и ресурсите за разработчици.
  • UPS Tracking — официална услуга за проследяване на UPS и справочник по терминология.
  • 17TRACK Tracking API — официална продуктова страница за оценяване на интеграция за проследяване на множество превозвачи.
  • 17TRACK API Documentation — официална документация за разработчици относно текущите подробности за API и изискванията за интеграция.
Loading