Glitch
Документация API · Ошибки

Основы

Ошибки

Как выглядит отказ

Все отказы API выглядят одинаково.

JSON
{"code": 50027, "message": "Неверный ключ вебхука"}

code — это номер причины. Номера те же, что у Discord, поэтому код, который уже разбирает ошибки Discord, подойдёт и для Glitch. По этому полю программа решает, что делать дальше.

message — это пояснение для человека на языке запроса (см. Как устроено API). Его удобно писать в журнал, но разбирать его программой не нужно, текст может меняться.

Ошибки в полях

Если в запросе неверны поля, к отказу добавляется объект errors. Он повторяет устройство запроса и показывает, что не так с каждым полем.

JSON
{
  "code": 50035,
  "message": "Неверные данные",
  "errors": {
    "content": {
      "_errors": [{"code": "STRING_TYPE", "message": "Неверные данные"}]
    }
  }
}

Здесь поле content пришло не строкой. Ошибки во вложенных объектах описываются так же, по пути до поля. Например, ошибка в заголовке второй карточки будет в errors.embeds.1.title.

HTTP-статусы

СтатусЧто значитЧто делать
200 OKГотово, в ответе объект
204 No ContentГотово, тела нет
400 Bad RequestЗапрос неверныйПосмотреть code и errors, исправить запрос. Повторять без изменений бесполезно
401 UnauthorizedНет входа или ключ неверныйПроверить ключ или адрес вебхука
403 ForbiddenНет доступа или праваПроверить права в сообществе
404 Not FoundОбъекта нет или адрес неверныйОбъект мог быть удалён
405 Method Not AllowedЭтот адрес не принимает такой методПроверить метод запроса
413 Content Too LargeЗапрос больше 30 МБУменьшить файлы или отправить их несколькими сообщениями
429 Too Many RequestsСлишком частоПодождать retry_after секунд и повторить, см. Пределы частоты
500 Internal Server ErrorОшибка на нашей сторонеПовторить чуть позже. Если повторяется, напишите нам
502 Bad GatewayСервер API недоступен, например перезапускаетсяПовторить через несколько секунд

Коды ошибок

КодЧто случилось
0Отказ без отдельного кода. Причину подскажут статус и message
10008Сообщения нет. Оно удалено или отправлено не этим вебхуком
10015Вебхука нет. Скорее всего, его удалили в настройках канала
30007В канале уже 15 вебхуков, больше создать нельзя
40001Нет входа. Ключ не передан или недействителен
40005Запрос больше 30 МБ
50001Нет доступа. Места не существует, или у вызывающего нет к нему доступа
50006Сообщение пустое. В нём нет ни текста, ни файлов, ни карточек
50007Нельзя написать этому человеку, он заблокирован или заблокировал вас
50013Не хватает права на это действие
50027Неверный ключ вебхука
50035Неверные поля запроса или параметр, которого нет в Glitch. Подробности в errors или message

Отказ 50001 одинаков и для места, которого нет, и для места, куда вам нельзя. Так сделано нарочно, чтобы по разнице ответов нельзя было перебирать чужие номера.

Что делать программе

  • Ключ неверный (50027) или вебхука нет (10015). Повторять бесполезно. Сообщите человеку, что адрес вебхука нужно заменить.
  • Неверный запрос (400). Это ошибка в программе. Запишите message и errors в журнал.
  • Слишком часто (429). Подождите retry_after секунд и повторите.
  • Ошибка сервера (500). Повторите через несколько секунд, каждый раз выжидая дольше. Учтите, что сообщение при такой ошибке могло уже появиться в канале.
На этой странице
  1. Как выглядит отказ
  2. HTTP-статусы
  3. Коды ошибок
  4. Что делать программе