Shopify App

Ответы API

Все ответы представлены в формате JSON.

Формат ответа

В каждом ответе содержится два обязательных ключа:

Ключ Описание
code Код ответа (число)
payload Контент ответа, либо дополнительная информация об ошибках после обработки запроса (объект, строка или null, в зависимости от запроса и кода ответа)

Ниже будут приведены примеры успешных и неуспешных ответов.

Успешный ответ

        {
    "code": 200,
    "payload: null
}
    

Коды ошибочных ответов

Сопровождаются http-кодом состояния 400. Возможные значения:

Код Описание
900 Неверный формат трек-номера
901 Неверный ID службы доставки
902 Трек-номер уже был добавлен ранее
903 Невозможно обновить посылку. Вероятно, после прошлого обновления прошло слишком мало времени, либо посылка уже была доставлена. Сопровождается датой следующего возможного обновления в "payload", если обновление возможно
909 Невозможно обновить посылку, т.к. в данный момент обновляется максимально допустимое количество посылок. Необходимо дождаться окончания обновления очередной посылки и повторить запрос
910 Слишком частые запросы проверки прогресса обновления посылки. Повторите запрос позднее.
904 Не удалось автоматически определить службу доставки для переданного трек-номера
905 Исчерпан лимит добавления посылок по тарифу за расчетный период
400 Другая ошибка в переданных данных. Подробное описание будет передано в "payload"

Коды ошибок, возможные при http-коде состояния, отличном от 400:

Код Описание
401 Неверный ключ API
403 Доступ к запрашиваемому ресурсу запрещен
404 Запрашиваемый ресурс не найден или URL задан неверно
422 Ошибка валидации данных, отправленных POST-запросом
429 Превышен лимит количества запросов в секунду. Подробнее в разделе "Запросы"
500 - 504 Внутренняя ошибка сервера. Вероятно, на сервере проводятся технические работы, либо это временный сбой.

Примеры нестандартных неуспешных ответов:

Ошибка валидации данных, отправленных POST-запросом

В "payload" - массив "errors" со списком названий параметров, значения которых были переданы с ошибками, и описанием ошибок в них:

        {
    "code": 422,
    "payload": {
        "errors": [
             "field1": "Описание ошибки",
             "field2": "Еще одно описание ошибки"
        ]
    }
}
    

Ошибки с кодами 900 - 905

В "payload" - текст с описанием ошибки:

        {
    "code": 902,
    "payload": "Посылка с таким трек-номером была добавлена ранее"
}