Ошибки Reddit Conversions API: каждый код, сообщение и фикс
Ошибки Reddit Conversions API приходят пятью семействами, и Reddit документирует каждое с точным сообщением и точным фиксом - что делает диагностику необычно механической: прочти ответ, найди семейство, примени единственный подходящий фикс. Этот гайд проходит все пять семейств так, как их раскладывает официальный справочник по обработке ошибок, с рабочей практикой для каждого.
Полная таблица ошибок
| Ответ | Сообщение Reddit | Что означает | Документированный фикс |
|---|---|---|---|
| 400 | "There were {Number} invalid conversion events. None were processed." | Payload нарушает правила валидации CAPI v3 | Передавайте валидные значения событий |
| 400 | "Bad Request" - "The maximum allowable events are 1000 events/call." | Батч выше лимита | Разделите события на несколько вызовов |
| 401 | "No bearer token provided" | Отсутствует заголовок Authorization | Передавайте токен правильно |
| 401 | "UNAUTHORIZED" | Токен невалиден и не аутентифицируется | Создайте валидный access token |
| 403 | "You're not authorized to post conversions to Pixel ID {Pixel ID}." | У аккаунта нет прав постинга в этот пиксел | Токен с нужным доступом и верный Pixel ID |
| 403 | "Missing adsconversions scope to post conversions to Pixel." | У developer-приложения нет нужного скоупа | Добавьте adsconversions в скоуп |
| 429 | "Your user agent was automatically ratelimited." | Дефолтные user agent троттлятся | Уникальный описательный заголовок user-agent |
| 429 | "Too many requests/events within timeframe." | Квота rate limit на окно исчерпана | Отступите и батчите (см. секцию 429) |
| 500 | "The service is currently unavailable. No conversion events were processed." | Даунтайм сервиса | Повторите отправку позже |
Два 400-случая заслуживают второго взгляда. Сообщение о невалидных событиях говорит «не обработано ничего» - один кривой экземпляр из тысячи валит весь запрос, так что батч, сработавший «наполовину», успехом не считается. Reddit также отсылает мигрантов с v2 к полям, которые изменились: event_type.tracking_type и event_metadata переехали между версиями, и v2-пейлоад внутри v3-эндпоинта даёт ровно этот ответ.
Семейство 429: как Reddit просит ретраить
Reddit делит свои rate-limit ответы на две причины. Первая причина связана с конфигурацией клиента: дефолтные user agent - строки, которые HTTP-библиотеки шлют по умолчанию, - могут приводить к троттлингу, и справочник просит уникальную, описательную строку user-agent, идентифицирующую вашу интеграцию. Вторая - честное исчерпание квоты, и для неё Reddit прописывает три хода по порядку:
- Кешируйте данные локально или храните в базе вместо частого polling API.
- Отправляйте бэкфилл-данные батчами.
- Настройте retry logic, ограничивающую частоту ретраев экспоненциальным backoff.
Платформенные потолки за этими ответами щедрые для одной воронки - 1,000 запросов в секунду, 10,000 событий в секунду, 1,000 событий на запрос, - поэтому 429 на нормальной воронке обычно означает цикл ретраев без backoff, а не реальный объём. Откуда берутся лимиты и как в них вписывается батчинг - в гайде по событиям и параметрам.
Сначала читаем сообщение, потом трогаем конфиг
Диагностический порядок повторяет таблицу. 400 указывает на значения полей - сверьте tracking_type и объект metadata со схемой v3 и проверьте размер батча. 401 указывает на сам токен - отсутствующий заголовок или невалидное значение, чинится на экране креденшелов. 403 указывает на права: токен работает, но не для этого Pixel ID, либо у developer-приложения нет скоупа adsconversions. 429 указывает на темп, 500 - на сторону Reddit: в вашем конфиге ничего не сломано.
Токеновые отказы (401 и 403) с фиксами разложены по креденшелам в гайде по Reddit conversion access token - отказ от неверного Pixel ID это семейство 403. Для разовой ручной отправки на этапе отладки бесплатный Pixel Activator собирает валидные тестовые события без пайплайна; обзор кластера - в полном руководстве, а путь настройки, дающий первый рабочий запрос, - в настройке Reddit Conversions API.
