TMS API (1.0.1)

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": "contract_validation_error",
    "message": "Найдены ошибки при проверке данных для выполнения операции",
    "errors": {
        "name": [
            "не может быть пустым"
        ]
    },
    "meta": {
        "field": null,
        "meta": null,
        "error_path": null,
        "full_messages": false
    }

contract_validation_error означает, что произошла ошибка входных данных, а в errors содержится уточнение ошибок, контракт ошибок идентичен контракту входных данных

Пагинация

Иногда получаемый результат может быть разделен на страницы, в таких случаях можно передавать параметры:

  • page - номер страницы, по-умолчанию 1
  • items - кол-во объетов на странице, по-умолчанию 20, максимум 100

В ответе в заголовке запроса вы получите информацию для пагинации:

  current-page: 1 // Номер текущей страницы
  page-items: 100 // Кол-во объектов на странице
  total-count: 208 // Общее кол-во объектов
  total-pages: 3 // Общее кол-во страниц