МОСТ. Справка

Коды ошибок TikTok Events API: что означают и как их чинить

Опубликовано 13 сент. 2026 г.8 мин чтенияСредний уровень
Рисованная музыкальная нота переходит мост к чеклисту с оранжевой отметкой предупреждения - коды ошибок TikTok Events API
What you'll learn
  • Как читать тело ответа TikTok Events API и находить сломанное событие в батче
  • Что на самом деле означают коды 40001, 40002, 40100 и семейство ошибок токена
  • Воркфлоу диагностики, разделяющий сбои доставки и проблемы измерений
Intermediate

Коды ошибок TikTok Events API: что означают и как их чинить

Как читать ошибку TikTok Events API

TikTok Events API 2.0 отвечает на любой запрос одной и той же структурой: code (возвратный код API), message с деталями сбоя и request_id - лог-ID вашего запроса. При успехе API возвращает HTTP 200 с кодом 0 и пустым объектом data. При ошибке вы получаете статус 4XX или 5XX, соответствующий код и без поля data. Если вы работаете через трекер, этот JSON вы увидите в логах исходящих постбеков - Keitaro, Binom и Voluum пишут сырой ответ каждого S2S-вызова, и это самое быстрое место, где можно прочитать настоящий код.

Когда в одном запросе летит несколько событий, message указывает нулевой индекс первого невалидного события. Сообщение вида Invalid value for data.2.event_id: not a valid string означает, что третье событие в батче несёт сломанный event_id - первые два могли быть в порядке, но батч всё равно упал. Эта деталь меняет подход к кодам ошибок TikTok Events API: сначала чините названное событие и только потом переотправляете батч.

json
{
  "code": 40002,
  "message": "Invalid value for data.2.event_id: not a valid string.",
  "request_id": "202308291437415F6E70BA7E095091A6F4"
}

Коды, которые вы реально увидите

TikTok документирует короткий список ошибок, характерных именно для Events API 2.0, и гораздо более длинный appendix общих возвратных кодов API. Те, что бьют по доставке конверсий на практике:

КодHTTPЧто означает
40001400Нет прав на операции с рекламным аккаунтом
40002400Невалидный payload: сломанный JSON, отсутствующее или неверно типизированное поле, нехэшированное значение там, где требуется SHA-256, или больше 1000 событий в одном запросе
40100401Слишком много запросов: достигнут лимит эндпоинта (1000 запросов в секунду)
40104401Access token пустой
40007400Объект операции не существует: ID кампании, объявления или другого объекта в запросе ни на что не указывает
40050400Дублированный запрос: одинаковый запрос отправлен больше одного раза

Вокруг этих четырёх - два больших семейства из общего appendix. Семейство токенов: 40102 (токен истёк), 40105 (неверный токен), 40101 (кривые параметры аутентификации - secret и app ID не совпадают), 40110 (auth-код отменён или уже использован). Семейство троттлинга: 40016 (лимит приложения), 40133 (лимит рекламного аккаунта) и 40132 (троттлинг по значению поля - QPS-лимит получил сам ваш pixel_code). А 40000 - универсальное «параметры неверны» с настоящей причиной в message.

Чиним 40001: ошибки прав

Код 40001 означает, что запрос дошёл до TikTok с валидными креденшелами, но личность за access token не имеет прав на рекламный аккаунт, которому принадлежит пиксель, куда вы шлёте события. Эндпоинт Events API у всех один - против какого аккаунта идёт действие, решают access token и pixel_code в теле запроса, - поэтому рассинхрон всегда между токеном и владельцем пикселя. Так бывает после переноса аккаунта в другой business center, когда трекер или интеграция авторизованы под личным кабинетом, или когда токену коллеги просто не выдали доступ к этому аккаунту.

Чинится не в payload - в авторизации. Прогоните OAuth-флоу заново под правильным аккаунтом и получите свежий долгоживущий access token или выдайте существующей интеграции недостающий scope. Если вы храните один токен на несколько аккаунтов, сверьте, что пиксель, в который вы шлёте, принадлежит аккаунту, доступному этому токену.

Чиним ошибки токена: 40104, 40105 и 40102

Семейство токенов ломается не так, как ошибки прав: тут TikTok вообще не получил пригодного креденшела. 40104 - access token пустой: запрос ушёл без токена, обычно потому, что поле интеграции не заполнили или переменная вернула пустоту. 40105 - токен передан, но неверный: опечатка, токен от другого приложения или обрезанное при копипасте значение. 40102 - токен истёк: короткоживущие токены умирают тихо, и первый симптом - пачка 401 в логе постбеков после периода, когда всё работало.

Лечение для всех трёх - один флоу с разными точками входа: сгенерируйте валидный долгоживущий access token для правильного аккаунта и обновите креденшел во всех местах хранения - интеграция трекера, переменная в tag manager, самописный скрипт. Выпуск и настройка токенов разобраны в гайде по TikTok Pixel ID и access token.

Чиним 40002: невалидный payload

Код 40002 - самый частый из кодов ошибок TikTok Events API в связках с трекерами, и message называет конкретное поле. Режимы отказа по частоте:

  1. Нехэшированные идентификаторы. Поля вроде email должны ехать как SHA-256-хэши. Отправка [email protected] вместо 64-символьной hex-строки в нижнем регистре даёт Invalid value for email: not a valid SHA256-hashed string. Нормализация перед хэшем тоже важна - trim, нижний регистр, убрать разделители из телефона. Те же правила работают в TikTok enhanced matching, так что фикс заодно поднимает match rate.
  2. Кривой формат таймстемпа. Время события - Unix-timestamp в секундах. Шаблоны трекеров и скрипты часто выдают миллисекунды (13 цифр вместо 10) или ISO-строку даты - и любой из вариантов валит валидацию.
  3. Кривая структура JSON. Payload не является валидным JSON или поле передано строкой там, где нужно число.
  4. Размер батча. Больше 1000 событий в одном запросе валит вызов - режьте очередь на меньшие батчи.
  5. Отсутствующие обязательные поля. Message называет недостающий параметр; верьте ему, прежде чем переписывать весь payload.

Поскольку одно невалидное событие валит весь батч, одна кривая запись из одной кампании молча роняет конверсии всех остальных кампаний в том же запросе. Увидев 40002, режьте батч, находите проиндексированное событие и чините его до переотправки.

Чиним 40100, 40133 и 40132: лимиты частоты

У семейства троттлинга один корень - слишком много запросов в секунду, но коды подсказывают, где потолок. 40100 - лимит эндпоинта в 1000 запросов в секунду. 40133 - уровень рекламного аккаунта: QPS вашего аккаунта на этом пути. 40016 - лимит вашего developer-приложения. И отдельного внимания заслуживает 40132: троттлинг по значению pixel_code, который случается, когда один пиксель долбят слишком частыми вызовами - или когда ваш access token утёк и его дёргает кто-то чужой.

Лечение механическое: экспоненциальный backoff с ретраями вместо немедленных переотправок, укрупнение мелких запросов в большие батчи (по-прежнему до 1000 событий), разнос воркеров очереди по времени. Если 40132 появился без роста вашего трафика - ротируйте токен и считайте старый скомпрометированным.

Диагностика доставки за пределами кодов ошибок

Чистый ответ API доказывает только, что TikTok получил ваши события. Следующий слой отказа - измерения, и у него свой инструментарий: Test Events в Events Manager показывает события от конкретного источника почти в реальном времени, а Web Diagnostics оценивает настройку пикселя постранично. Если API возвращает 0, но Ads Manager показывает меньше конверсий, чем трекер, вы в зоне расхождений конверсий TikTok, а не кодов ошибок.

Проверяйте три вещи по порядку. Первое - дедупликация: если для одного заказа срабатывают и пиксель, и Events API, события обязаны делить event_id, иначе TikTok насчитает две конверсии. Дедупликация по event ID схлопывает повторные отчёты об одной конверсии в одно зачтённое событие. Второе - задержка событий: TikTok ждёт события близко к реальному времени, и события, приехавшие задолго после действия, возвращаются отклонёнными или не атрибутируются. Тот же класс сбоев на Meta выделен в отдельный код - 2804003, 7-дневный лимит импорта, см. почему Meta отклоняет события старше 7 дней. Третье - автоматизация доставки: если лендингов много, Pixel Activator для TikTok Events API подключает канал без кода - сам бесплатный инструмент живёт на Pixel Activator, а гайд по TikTok Events API и пикселю собирает весь кластер.

Frequently asked questions

Sources

Sources

Was this guide helpful?
Author
Most Team
Справочная служба

Официальные руководства и глоссарий для платформы Most и Активатора пикселей.

Topic
TikTok Events API и пиксель: настройка и диагностика
Main article of the topic
Related articles

Похожие руководства