Перейти к содержанию

Ошибки

У всех ошибок, кроме 422 и 429, одинаковое тело (GraphQL API сообщает об ошибках иначе, см. Ошибки GraphQL):

{"detail": "Requested Telegram resource was not found"}

Справочник

Статус detail Причина
404 Requested Telegram resource was not found Канал не существует, приватный или не является каналом
404 Requested post was not found /v1/post: поста нет на его странице
422 список, см. ниже Запрос не прошёл валидацию
422 Invalid Telegram username format / Invalid post position Ввод отклонён клиентом Telegram (редко: API проверяет раньше)
429 Rate limit exceeded (простой текст) Больше RATE_LIMIT_RPM запросов с одного IP за минуту
502 Failed to parse Telegram channel page (и похожие) t.me ответил, но не той разметкой, которая ожидалась
502 Telegram response did not match the expected schema Разобранные данные не прошли валидацию
503 Failed to fetch Telegram upstream resource Сетевая ошибка или тайм-аут при обращении к t.me
503 Telegram upstream returned status 429 (любой ≥ 400) t.me отклонил запрос
503 Feature 'feed' is disabled by server configuration Функция отключена (feed, previews)

Ошибки валидации 422

Ошибки валидации используют стандартный формат FastAPI:

{
  "detail": [
    {
      "type": "string_pattern_mismatch",
      "loc": ["path", "channel"],
      "msg": "String should match pattern '^[a-zA-Z][a-zA-Z0-9_]{3,31}$'",
      "input": "bad-name",
      "ctx": {"pattern": "^[a-zA-Z][a-zA-Z0-9_]{3,31}$"}
    }
  ]
}

Повторные попытки

  • 503 из-за проблем t.me обычно временный: повторяйте с увеличивающейся паузой.
  • 502 обычно означает, что Telegram изменил разметку; повтор не поможет — пожалуйста, создайте issue с каналом и URL.
  • 429: подождите столько секунд, сколько указано в Retry-After.

Изменено в 2.0

Ответы, не прошедшие валидацию по схеме, в 1.x возвращали 400; теперь это 502. Один неожиданный пост больше не ломает страницу — он пропускается и записывается в лог.