Download OpenAPI specification:
Большинство запросов API требуют аутентификации или возвращают общедоступные данные только в том случае, если аутентификация не предусмотрена. Если аутентификация не требуется, это отдельно указано в документации точки. Если информация аутентификации недействительна или отсутствует, TMS вернет сообщение об ошибке с кодом 401.
Для аутентификации используется персональный API Token компании, для его использования добавьте его в заголовок запроса:
Authorization: Token YOUR_API_KEY
200 OK - Запрос успешно выполнен, и сервер вернул запрашиваемые данные.
201 Created - Запрос успешно выполнен, и в результате был создан новый ресурс.
204 No Content - Запрос успешно выполнен, но сервер не возвращает никаких данных.
401 Unauthorized - Запрос требует аутентификации. Это может означать, что API ключ недействителен или отсутствует.
403 Forbidden - Сервер понял запрос, но отказывается его выполнять из-за недостаточных прав доступа.
404 Not Found - Запрашиваемый ресурс не найден. Это может означать, что указанный URL неверен.
422 Unprocessable Entity - Сервер понимает содержимое запроса, но не может обработать его из-за ошибок. Это означает, что запрос корректен, но не может быть выполнен из-за проблем с логикой или данными, которые он содержит.
429 Too Many Requests - Клиент отправил слишком много запросов за определенный период времени. Это означает, что вы достигли лимита запросов API.
При работе с API вы можете столкнуться с ошибками проверки, в этом случае API возвращает ошибку HTTP 422. Подобные ошибки появляются в следующих случаях:
Ошибка входных данных. Отсутсвует обязательный атрибут, некорректный формат и тд. В таком случае вы получите что-то похожее на
{
"code": "DomainErrors::ContractValidationError",
"errors": {
"legal_entity": {
"name": [
"не может быть пустым"
]
}
}
}
DomainErrors::ContractValidationError означает, что произошла ошибка входных данных, а в errors содержится уточнение ошибок, контракт ошибок идентичен контракту входных данных
Логическая ошибка из-за чего запрос не может быть выполнен. Пример:
{
"code": "DomainErrors::OrderingContext::DigitalQueueIsNotAvailableForShipment"
}
Варианты все варианты кодов ошибок и их значение будут отдельно описаны в рамках конкретной точки API
Иногда получаемый результат может быть разделен на страницы, в таких случаях можно передавать параметры:
page - номер страницы, по-умолчанию 1items - кол-во объетов на странице, по-умолчанию 20, максимум 100В ответе в заголовке запроса вы получите информацию для пагинации:
current-page: 1 // Номер текущей страницы
page-items: 100 // Кол-во объектов на странице
total-count: 208 // Общее кол-во объектов
total-pages: 3 // Общее кол-во страниц
Для следующих эндпойнтов в API установлены лимиты на количеству запросов для одного API-токена:
В случае превышения указанных лимитов API возвращает ошибку HTTP 429. По истечению интервала времени лимита счетчики запросов обнуляются.
Для других эндпойнтов API ограничений на количество запросов нет.