Компании
Получите список перевозчиков, их SCAC-коды и поддерживаемые типы отслеживания
GET /v2/companies возвращает список поддерживаемых перевозчиков, их SCAC-коды и типы номеров, по которым доступно отслеживание. Используйте этот список для выбора company и type в одиночных и пакетных запросах.
В поле data находится объект: ключ — название компании, значение — { scac, cn, bl, bk }. Значение scac передавайте в параметре company. Поля cn, bl и bk показывают, какие типы отслеживания поддерживает перевозчик:
| Флаг поддержки | Значение type | Номер для отслеживания |
|---|---|---|
cn | container | Номер контейнера |
bl | bl | Номер коносамента |
bk | bk | Номер букинга |
Если флаг равен true, соответствующий тип поддерживается. Автоматическое определение перевозчика (company=AUTO) доступно только для type=container.
На данный момент ответ не содержит отдельного статуса работоспособности перевозчика. Если получение данных временно недоступно из-за работ над источником, запрос на отслеживание может вернуть LINE_IS_UNDER_MAINTENANCE. Повторите запрос позже. Менять SCAC-код из-за этого статуса не нужно.
Пример запроса
Пример получает список компаний, выбирает перевозчиков с поддержкой коносаментов (bl: true) и выводит их названия и SCAC-коды.
// Находим перевозчиков, которые поддерживают отслеживание коносаментов.
const res = await fetch("https://tracking.cargotime.ru/v2/companies?api_key=YOUR_TOKEN", {
headers: { Accept: "application/json" },
});
// Проверяем HTTP-ответ перед чтением результата.
if (!res.ok) throw new Error(`HTTP ${res.status}`);
// Читаем JSON; success и status уточняют результат запроса.
const body = await res.json();
if (body.success === false) throw new Error("Request failed");
// Выбираем только компании с поддержкой коносаментов.
const typeFlag = { container: "cn", bl: "bl", bk: "bk" };
const carriers = Object.entries(body.data)
.filter(([, flags]) => flags[typeFlag.bl])
.map(([name, flags]) => ({ name, scac: flags.scac }));
console.log(carriers);Подробнее об обработке HTTP-статусов и результатов API — в разделе «Обработка ошибок».
Обновлено