Как отслеживать отправления из Китая в Европу и США с помощью одного API
Чтобы отслеживать отправления из Китая в Европу и США с помощью одного API, подключите свою систему заказов к сервису отслеживания нескольких перевозчиков, зарегистрируйте каждую посылку с её трек-номером и всеми необходимыми данными перевозчика, а затем объединяйте обновления отслеживания в общей записи об отправлении. Интеграция должна учитывать международные передачи, задержки сканирования и отдельные трек-номера для доставки на последней миле. Один API может объединить доступ к информации об отслеживании, но не может создавать события, о которых перевозчик не сообщил.
Для разработчиков и команд, занимающихся операциями в электронной коммерции, цель заключается не просто в отображении статуса. Необходимо связать каждую физическую посылку с правильным заказом, информировать клиентов, не отправляя вводящие в заблуждение обновления, и выявлять отправления, требующие вмешательства. В этом руководстве объясняется, как построить такой рабочий процесс и как оценить сервис, например 17TRACK Tracking API, с учётом ваших реальных маршрутов доставки.
Начинайте с маршрута доставки, а не только со страны назначения
Посылка, отправленная из Китая на адрес в Европе или США, может пройти через службу консолидации, международную транспортную сеть, таможенную обработку и перевозчика, осуществляющего доставку в стране назначения. Некоторые службы доставки отображают все эти перемещения под одним трек-номером. Другие предоставляют отдельный идентификатор доставки на более позднем этапе маршрута.
Именно поэтому покрытия на уровне страны недостаточно для проверки интеграции отслеживания. Провайдер может распознавать перевозчика, но не возвращать каждое событие, необходимое для конкретного продукта доставки. Аналогично, сканирование отправления в стране происхождения не означает, что будут доступны сканирования доставки в стране назначения.
Перед интеграцией создайте перечень маршрутов на основе отправлений, которые фактически отправляет ваша компания. Зафиксируйте исходного логистического провайдера, службу доставки, рынок назначения, известного перевозчика доставки и форматы трек-номеров. Во время тестирования рассматривайте европейские рынки по отдельности, а не предполагайте, что успешная доставка в одной стране подтверждает покрытие всего региона.
- Для операционных команд: определите, где пробелы в отслеживании сейчас приводят к ручной работе или обращениям клиентов.
- Для инженерных команд: определите, какие системы создают отправления и какие системы должны получать обновления.
- Для отдела закупок: проверьте поддержку конкретных перевозчиков и служб из перечня маршрутов.
Что должен делать единый API отслеживания — и чего он не может делать
Tracking API для нескольких перевозчиков предоставляет приложению общий интеграционный слой, избавляя от необходимости отдельно обрабатывать подключение каждого перевозчика. В зависимости от сервиса и способа интеграции приложение может получать обновления, принимать обратные вызовы или использовать оба механизма. Перед проектированием рабочего процесса для промышленной эксплуатации уточните поддерживаемые механизмы в документации провайдера.
Полезная абстракция — единая модель отправления. Система управления заказами не должна использовать разную бизнес-логику для формулировок каждого перевозчика, хотя исходную информацию следует сохранять для поддержки и расследований.
Консолидированное отслеживание не гарантирует непрерывную физическую видимость, расчётное время доставки или полную историю таможенного оформления. Подключение API может работать исправно, даже если перевозчик не сообщил о новом сканировании. Отслеживание также отличается от покупки транспортных этикеток, подготовки таможенных деклараций и организации услуг доставки. Не предполагайте, что эти функции включены.
Стройте интеграцию вокруг записи на уровне посылки
1. Разделяйте заказы, отправления и идентификаторы отслеживания
Один заказ в электронной коммерции может содержать несколько посылок, и эти посылки могут прибыть в разное время. Используйте внутренний идентификатор посылки или отправления как стабильный идентификатор. Свяжите заказ клиента с этой записью, а затем добавьте к ней идентификаторы отслеживания перевозчиков.
Практическая внутренняя модель должна включать:
- Внутренний ID заказа и ID посылки.
- Исходный трек-номер и идентификатор перевозчика, используемый API.
- Любой подтверждённый трек-номер перевозчика в стране назначения.
- Службу доставки и страну назначения.
- Текущий нормализованный статус и исходное описание перевозчика.
- Время события, место события, если оно предоставлено, и время получения обновления вашей системой.
- Состояние регистрации, последнюю успешную синхронизацию и нерешённые ошибки интеграции.
Это рекомендуемые поля приложения, а не утверждение, что каждый провайдер их возвращает. Храните внутреннюю схему отдельно от формата ответа провайдера, чтобы будущее изменение API не требовало переработки базы данных заказов.
2. Регистрируйте посылки на основе надёжного бизнес-события
Регистрируйте отслеживание после присвоения посылке действительного номера, а не каждый раз, когда кто-то открывает страницу заказа. Событие создания отправления на складе или в системе заказов обычно является более подходящим триггером. Если этикетка аннулирована или заменена, обновите связи идентификаторов посылки, а не оставляйте недействующий номер единственным идентификатором отслеживания.
Убедитесь, что номер присутствует и не был повреждён форматированием таблицы. Сохраняйте значимые ведущие нули. Если вашей системе доставки известен перевозчик, сохраняйте эту информацию вместо полной зависимости от автоматического определения: форматы номеров могут пересекаться.
Читайте ответ на регистрацию на уровне отдельного отправления. Успешный HTTP-запрос не обязательно означает, что каждый элемент пакетной операции был принят. Сохраняйте ошибки в очереди повторных попыток и предоставьте операционной команде возможность исправлять недействительные или неоднозначные отправления.
3. Спроектируйте доставку обновлений до подключения уведомлений для клиентов
Если выбранный сервис поддерживает вебхуки, используйте его документированный механизм обратных вызовов для получения обновлений. Проверьте доступный метод аутентификации или подписи, а не создавайте собственный заголовок проверки. Храните учётные данные на сервере, требуйте HTTPS и не включайте секреты API в код браузера или ссылки, доступные клиентам.
Ваш обработчик должен надёжно принять обновление до отправки подтверждения, а затем обработать его асинхронно. Учитывайте повторную доставку и события, поступающие не по порядку. Используйте ID события провайдера, если он доступен; в противном случае определите документированное правило дедупликации на основе стабильных атрибутов события.
Если требуется опрос, планируйте его в пределах документированных ограничений провайдера и ваших операционных потребностей. После ответов об ограничении частоты снижайте интенсивность запросов, избегайте синхронных всплесков повторных попыток и прекращайте ненужные проверки завершённых отправлений в соответствии с политикой хранения и сверки. Плановая задача сверки также может помочь обнаруживать пропущенные обновления, если сервис разрешает их получение.
4. Нормализуйте статусы, не теряя смысл
Используйте небольшой набор внутренних статусов, которые ваша система заказов и команда поддержки смогут одинаково интерпретировать. Примеры: информация получена, в пути, передано курьеру для доставки, доставлено, исключение при доставке и возвращено. Это рекомендуемые категории приложения, а не описание точных кодов статусов какого-либо провайдера.
Храните подробное событие перевозчика вместе с нормализованным статусом. Неудачная попытка доставки, проблема с адресом и задержка, связанная с таможней, могут требовать внимания, но не обязательно одинаковой реакции. Сведение всего к общему исключению упростит хранение данных, но снизит их практическую ценность.
Не переводите создание этикетки в физический факт забора посылки. Аналогично, не помечайте посылку как прошедшую таможню лишь потому, что событие упоминает таможенный объект. Используйте формулировки, соответствующие фактическому смыслу события.
Явно обрабатывайте международные передачи
Самым важным интеграционным тестом часто является переход между сетью страны отправления и службой доставки в стране назначения. Сохраняйте исходный идентификатор и любой подтверждённый идентификатор последней мили. Новый трек-номер должен становиться ещё одним идентификатором той же посылки, а не автоматически вторым отправлением.
Связывайте идентификаторы только в том случае, если связь получена из надёжного источника, например от логистического провайдера, из ответа отслеживания или из вашей системы доставки. Сходства во времени событий или совпадения стран назначения недостаточно, чтобы доказать принадлежность двух номеров одной посылке.
Разделяйте время события и время его получения системой. Более старое событие может поступить в вашу систему после более нового, особенно когда информация перемещается между сетями. Сохраняйте переданные смещения часового пояса, нормализуйте временные метки для обработки и оставляйте неоднозначные исходные значения без присвоения неподтверждённого часового пояса.
Для клиентов показывайте последний значимый статус с видимым временем обновления. Если перевозчик в стране назначения ещё не сообщил о сканировании, объясните, что отслеживание ожидает следующего обновления. Не делайте вывод, что посылка потеряна, всё ещё физически находится в месте последнего сканирования или уже находится в стране назначения.
Роль 17TRACK в этом рабочем процессе
Предложение Tracking API от 17TRACK актуально, когда вашему приложению требуется интеграция отслеживания нескольких перевозчиков. Его официальная документация API должна служить основой для реализации аутентификации, регистрации, обработки ответов и поддерживаемых рабочих процессов обновления. Используйте документированный контракт API, а не рассматривайте пользовательскую страницу отслеживания как интерфейс интеграции.
Оценивайте его по тем же операционным требованиям, которые применяли бы к собственной реализации: корректность идентификации перевозчика, полезные события на ваших маршрутах, непрерывность передачи, восстановление после ошибок и управляемая доставка обновлений. До принятия промышленного решения подтвердите коммерческие условия, учёт использования, ограничения запросов и необходимые настройки аккаунта.
Главная причина выбрать консолидированный API — снижение сложности интеграции для реально используемых вами маршрутов. Однако это преимущество всё равно необходимо подтвердить на репрезентативных посылках. Не следует выбирать провайдера только потому, что его общее описание покрытия звучит широко.
Проведите пилот на основе маршрутов до запуска
Используйте набор тестов, включающий обычные доставки и сложные случаи. Исторические отправления помогают проверить сопоставление статусов, а реальные отправления показывают доставку обновлений и операционные сроки. Ни один из этих тестов по отдельности не отвечает на все вопросы.
- Доставка из Китая в США: проверьте события в стране отправления, возможную международную передачу и финальное событие доставки.
- Доставка из Китая в Европу: протестируйте страны назначения и службы доставки, которые вы действительно используете.
- Новая этикетка: убедитесь, что посылка без физического сканирования не отображается как находящаяся в движении.
- Изменённый идентификатор доставки: убедитесь, что связь остаётся привязанной к правильной посылке.
- Исключение при доставке: проверьте, что подробная причина попадает в соответствующую операционную очередь.
- Разделённый заказ: убедитесь, что доставка одной посылки не закрывает весь заказ.
- Дублирующееся или задержанное обновление: убедитесь, что оно не создаёт повторные сообщения и некорректно не перезаписывает более новый статус.
- Временный сбой интеграции: проверьте повторные попытки, сверку и видимость для службы поддержки.
Установите критерии приёмки до анализа результатов. Измеряйте успешность регистрации, ошибочные назначения перевозчиков, пропущенные этапы, задержки обработки обновлений и повторные сообщения клиентам. Определяйте приемлемые пороги для своего бизнеса, а не используйте неподтверждённый универсальный норматив. Прежде чем связывать пропущенное событие с API, проверьте его наличие в собственной записи перевозчика.
Отслеживайте актуальность данных отдельно от доступности API
Мониторинг API должен отвечать на два разных вопроса: работает ли интеграция и полезна ли информация об отправлении? Успешные запросы отвечают только на первый вопрос. Также необходимо знать, не накапливаются ли ошибки регистрации, не завершаются ли обратные вызовы с ошибками и не перестал ли маршрут выдавать ожидаемые этапы.
- Состояние интеграции: ошибки аутентификации, ошибки запросов, ответы об ограничении частоты, сбои обратных вызовов и очереди с накопившимися заданиями.
- Качество данных: неизвестные статусы, некорректные временные метки, неразрешённые идентификаторы перевозчиков и неожиданные изменения идентификаторов.
- Актуальность отправлений: время с момента последнего события перевозчика с разбивкой по маршруту и службе доставки.
- Влияние на бизнес: объём работы с исключениями, неудачные уведомления и заказы, ошибочно отмеченные как завершённые.
Длительный период без сканирования может быть нормальным для одной службы доставки и необычным для другой. Используйте ожидания для конкретного маршрута и историю фактических отправлений, чтобы расставлять приоритеты в расследованиях. Отделяйте оповещение об ошибке интеграции от оповещения о задержке отправления, чтобы его получил нужный специалист.
Уведомления клиентам должны основываться на подтверждённых этапах, а не на каждом необработанном событии. Подавляйте дубликаты, различайте попытку доставки и завершённую доставку и не обещайте даты прибытия, которые не подтверждаются исходными данными. Ограничивайте доступ к данным отслеживания и храните персональную информацию только там, где это необходимо для рабочего процесса.
FAQ
Может ли один API отслеживать как перевозчика в Китае, так и перевозчика доставки в стране назначения?
Сервис для нескольких перевозчиков может объединять события из обеих частей маршрута, если поддерживаются соответствующие службы и связи между идентификаторами. Проверяйте весь маршрут на реальных посылках. Одно лишь распознавание исходного трек-номера не доказывает, что информация о доставке в стране назначения будет доступна.
Почему отслеживание перестаёт обновляться после того, как посылка покидает Китай?
Возможные причины включают промежуток между физическими сканированиями, задержку передачи данных или переход к другому идентификатору доставки. Проверьте исходные события и предоставленный номер последней мили, а затем сравните их с записью соответствующего перевозчика. Сам по себе пробел в отслеживании не доказывает, что посылка потеряна или задержана таможней.
Следует ли приложению использовать вебхуки или опрос?
Используйте механизмы, описанные вашим провайдером. Если вебхуки поддерживаются, они могут сократить количество повторных проверок, а разрешённые запросы на получение данных могут помочь при сверке. В любом случае до использования обновлений для коммуникации с клиентами реализуйте обработку дубликатов, контроль повторных попыток и мониторинг.
Может ли API отслеживания гарантировать дату доставки или прохождение таможни?
Данные отслеживания не являются гарантией ни того, ни другого. Если указана расчётная дата доставки, сохраняйте её источник и представляйте её как оценку. Описывайте события, связанные с таможней, в соответствии с их фактической формулировкой и не трактуйте их как прохождение таможни, если они явно не указывают на такой результат.
Что следует проверить перед выбором тарифного плана API?
Подтвердите поддерживаемых перевозчиков и службы доставки, требования к регистрации, методы обновления, учёт использования, ограничения запросов, доступность данных и условия поддержки. Уточните, как с коммерческой точки зрения обрабатываются заменённые номера, повторные регистрации и запросы исторических данных. Для требований, влияющих на бюджет или архитектуру, используйте актуальную документацию и письменное подтверждение.
Источники
- 17TRACK Tracking API — официальная информация о продукте для API отслеживания.
- Документация 17TRACK API — официальная техническая документация по реализации интеграции. Перед разработкой уточните здесь точные форматы запросов, поддерживаемые рабочие процессы и ограничения.


