Skip to content
Navo24 Navo24

Начало работы

Начало работы

Быстрый старт с API отслеживания контейнеров: первый вызов Navo24 за две минуты без ключа, затем ключ API и отслеживаемая отправка.

Navo24 это грузовая аналитика, к которой вы обращаетесь напрямую: отслеживание контейнеров и авианакладных (AWB), расписания рейсов и их надежность, спотовые ставки и планирование загрузки. У каждого продукта есть REST API, а у большинства еще и MCP-сервер, и все это за одним bearer-ключом.

Вызов без аккаунта

Самый быстрый способ увидеть реальные данные это публичный endpoint API отслеживания контейнеров. Ключ не нужен.

curl -X POST https://api.trackingmcp.com/v1/track/public \
  -H "Content-Type: application/json" \
  -d '{"reference":"MEDU1234562"}'

В ответ вы получаете нормализованный статус, судно, этапы перевозки и ETA с пометкой, прогноз это или нет:

{
  "ok": true,
  "data": {
    "identifier": "MEDU1234562",
    "identifier_type": "container_id",
    "carrier_code": "MSCU",
    "carrier_name": "MSC",
    "status": "in_transit",
    "eta": "2026-07-03T06:00:00Z",
    "eta_is_estimated": true,
    "origin": "Ningbo",
    "destination": "Rotterdam",
    "vessel": { "name": "MSC TERESA", "lat": null, "lng": null },
    "events": [
      {
        "description": "Loaded on vessel",
        "location": "Ningbo",
        "event_code": "LOAD",
        "unlocode": "CNNGB",
        "datetime": "2026-06-18T22:10:00Z",
        "actual": true
      }
    ]
  }
}

Основной смысл несут четыре поля:

  • identifier_type показывает, чем на самом деле, по нашему мнению, является ваш номер. Это может отличаться от вашего предположения.
  • eta_is_estimated равно true, пока ETA является прогнозом, false, когда это фактическое прибытие, и null, когда ETA у нас нет вовсе. Сама по себе дата не обещание.
  • actual в событии равно true для того, что произошло, и false для запланированного. Никогда не принимайте запланированное перемещение за факт.
  • carrier_code, origin, destination и unlocode равны null, когда перевозчик не указал ничего, что мы смогли бы распознать. Мы не угадываем эти значения.

У публичных endpoint-ов есть лимит запросов на IP, и они предназначены для быстрой проверки. Для работы с целым портфелем отправок нужен ключ.

Получите ключ API

  1. Зарегистрируйтесь на trackingmcp.com.
  2. Откройте настройки разработчика и создайте ключ. У него есть префикс продукта, например tmcp_ для отслеживания.
  3. Передавайте его как bearer-токен в каждом аутентифицированном запросе.
curl https://api.trackingmcp.com/v1/containers/summary \
  -H "Authorization: Bearer tmcp_YOUR_API_KEY"
{
  "ok": true,
  "data": {
    "total_active": 128,
    "exceptions": 6,
    "arriving_this_week": 14,
    "demurrage_risk_usd": 4820.5,
    "containers": []
  }
}

Начните отслеживать отправку

Endpoint-ы с ключом принимают два обязательных поля: identifier и identifier_type. Тип может быть одним из: container_id, bill_of_lading или booking.

curl -X POST https://api.trackingmcp.com/v1/containers \
  -H "Authorization: Bearer tmcp_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"identifier":"MEDU1234562","identifier_type":"container_id"}'
{
  "ok": true,
  "data": {
    "id": "8f1c2d4e-6a3b-4f52-9c70-11ab22cd33ef",
    "identifier": "MEDU1234562",
    "status": "in_transit",
    "carrier_code": "MSCU",
    "source": "direct_carrier"
  }
}

Сохраните id. Это UUID, и все остальные endpoint-ы контейнеров используют в качестве ключа именно его, а не номер контейнера. Контейнер, который мы приняли, но не смогли распознать с первой попытки, возвращается с "status": "unknown" и полем warning, а данные заполняются в течение нескольких минут при повторном опросе.

Один и тот же ключ работает во всем семействе продуктов, если продукт принимает общие учетные данные. Полную информацию о префиксах и заголовках смотрите в руководстве по аутентификации.

Что дальше