Ошибки

Коды

Мы используем обычные коды ответов HTTP для обозначения результата выполнения запроса.

Коды группы 2** указывают на успех. Коды группы 4** указывают на ошибку запроса, который не удался с учетом предоставленной информации (например, обязательный параметр был пропущен, несуществующий идентификатор и др.). Коды группы 5** указывают на ошибки на серверах Пачки (они редки).

Коды ответов HTTP
200 - ОК Запрос отработал как положено, без ошибок
201 - Created Запрос отработал успешно, сущность создана
301 - Moved Permanently Запрошенный ресурс был на постоянной основе перемещён в новое месторасположение (такой ответ вы можете получить если выполните запрос по протоколу HTTP, а не по HTTPS)
400 - Bad Request Неприемлемый запрос (часто из-за отсутствия обязательного параметра)
401 - Unauthorized Предоставлен недействительный токен доступа
402 - Payment Required Параметры действительны, но запрос не выполнен
403 - Forbidden Предоставленный токен доступа не имеет разрешений на выполнение запроса
404 - Not Found Запрашиваемый ресурс не существует
409 - Conflict Запрос конфликтует с другим запросом (возможно, из-за использования того же идемпотентного ключа).
422 - Unprocessable Entity С запросом все хорошо, но правила сервиса не позволяют его обработать (например, при попытке создания контакта с уже существующим номером телефона в базе)
429 - Too Many Requests Слишком много запросов слишком быстро попадают в API.
500, 502, 503, 504 - Server Errors Что-то пошло не так на сервере Пачки (это редкость)

Пояснения ошибки

Вместе с кодом группы 4*** вы получите в теле ответа массив errors .

В этом массиве вы найдете список ошибок, которые помогут вам разобраться и повторить запрос с уже успешным исходом. Каждая ошибка представлена объектом с набором параметров.

Пояснения ошибки
key string Ключ параметра, в котором произошла ошибка
value string Значение ключа, которое вызвало ошибку
message string Ошибка текстом, который вы можете вывести пользователю
code string Внутренний код ошибки (коды ошибок представлены в описании каждого метода)
payload object Объект, который предоставляет любую дополнительную информацию (возможные дополнения представлены в описании каждого метода)