Вот рекомендуемый алгоритм действий для проверки корректности загруженных данных о мероприятиях и аудитории, а также для выявления проблем с данными.
Отправляйте запросы на отправку мероприятий , а также на добавление или удаление участников из числа зрителей .
Проверьте общий статус каждого запроса. Успешный запрос имеет
Statusсcode, равным0(значение перечисленияOK, HTTP-ответ200 OK), и возвращает объектIngestEventsResponse,IngestAudienceMembersResponseилиRemoveAudienceMembersResponse.Если запрос не удался, измените его, устранив ошибку, и отправьте запрос снова.
Если запрос выполнен успешно, сохраните
request_idответа, чтобы использовать его для получения диагностической информации на следующем шаге.Для каждого успешного
request_idс определенным идентификатором отправляйте запросRetrieveRequestStatus.Проверьте каждый
RetrieveRequestStatusResponseчтобы убедиться в корректной работе загрузки данных и выявить любые проблемы с ними.Исправьте ошибки в данных.
Вернитесь к шагу 1 и повторяйте действия, пока не устраните все проблемы с загрузкой файлов.
Создание запросов
Объект RetrieveRequestStatusRequest имеет одно поле request_id . Отправляйте один запрос для каждого успешного запроса с указанным идентификатором при отправке запросов на прием данных.
Отзывы
В объекте RetrieveRequestStatusResponse параметр request_status_per_destination содержит отдельную запись для каждого пункта назначения в соответствующем запросе на прием данных.
Например, если ваш IngestAudienceMembersRequest содержал 3 записи в списке destinations для отправки данных 3 разным аудиториям, то ответ со статусом будет содержать 3 записи в request_status_per_destination (по одной записи на каждую аудиторию).
Проверьте общий статус пункта назначения.
В качестве первого шага проверьте поле request_status , чтобы определить, завершил ли API Data Manager обработку данных для destination RequestStatusPerDestination . Вот возможные значения request_status :
-
PROCESSING: Данные для пункта назначения все еще обрабатываются. -
SUCCESS: Обработка запроса для пункта назначения завершена без ошибок. -
FAILURE: Все записи для целевого объекта не были обработаны из-за ошибок. -
PARTIAL_SUCCESS: Часть записей для целевого объекта была успешно обработана, но другие не были обработаны из-за ошибок.
Проверьте статус мероприятия или аудитории для каждого пункта назначения.
Проверьте поле статуса, соответствующее типу запроса на прием данных. В каждом RequestStatusPerDestination установлено только одно из следующих полей:
статус приема событий
Поле events_ingestion_status заполняется, если запрос был типа IngestEventsRequest .
Проверьте значение record_count объекта IngestEventStatus , чтобы убедиться, что общее количество полученных записей соответствует вашим ожиданиям. record_count включает как успешные, так и неудачные записи.
Статус приема информации участниками аудитории
Поле audience_members_ingestion_status заполняется, если запрос был типа IngestAudienceMembersRequest . Вот поле IngestAudienceMembersStatus , которое нужно проверить для каждого типа данных об аудитории. Заполнено только одно из этих полей.
-
user_data_ingestion_status Проверьте значение
record_countобъектаIngestUserDataStatus, чтобы убедиться, что общее количество полученных записей соответствует вашим ожиданиям.record_countвключает как успешно полученные, так и неудачно полученные записи.Проверьте значение
user_identifier_count, чтобы убедиться, что количество полученных идентификаторов пользователей соответствует вашим ожиданиям.Если запрос содержал достаточное количество записей, параметр
upload_match_rate_rangeсодержит диапазон коэффициентов совпадения для записей в запросе.-
mobile_data_ingestion_status Проверьте
record_countобъектаIngestMobileDataStatus, чтобы убедиться, что общее количество полученных записей соответствует вашим ожиданиям.record_countвключает как успешно полученные, так и неудачно полученные записи.Проверьте значение параметра
mobile_id_count, чтобы убедиться, что количество полученных идентификаторов мобильных устройств соответствует вашим ожиданиям.-
pair_data_ingestion_status Проверьте значение
record_countобъектаIngestPairDataStatus, чтобы убедиться, что общее количество полученных записей соответствует вашим ожиданиям.record_countвключает как успешно полученные, так и неудачно полученные записи.Проверьте значение
pair_id_count, чтобы убедиться, что количество полученных идентификаторов пар соответствует вашим ожиданиям.-
ppid_data_ingestion_status Проверьте
record_countобъектаIngestPpidDataStatus, чтобы убедиться, что общее количество полученных записей соответствует вашим ожиданиям.record_countвключает как успешно полученные, так и неудачно полученные записи.Проверьте значение
ppid_count, чтобы убедиться, что количество полученных PPID соответствует вашим ожиданиям.-
user_id_data_ingestion_status Проверьте значение
record_countобъектаIngestUserIdDataStatus, чтобы убедиться, что общее количество полученных записей соответствует вашим ожиданиям.record_countвключает как успешно полученные, так и неудачно полученные записи.Проверьте значение
user_id_count, чтобы убедиться, что количество полученных идентификаторов пользователей соответствует вашим ожиданиям.
Статус удаления участников аудитории
Поле audience_members_removal_status заполняется, если запрос был типа RemoveAudienceMembersRequest . Вот поле RemoveAudienceMembersStatus которое нужно проверить для каждого типа данных об аудитории. Заполнено только одно из этих полей.
-
user_data_removal_status - Статус удаления пользовательских данных .
-
mobile_data_removal_status - Статус отключения мобильной передачи данных .
-
pair_data_removal_status - Статус удаления данных PAIR .
-
ppid_data_removal_status - Статус удаления данных PPID .
-
user_id_data_removal_status - Статус удаления данных идентификатора пользователя
Проверьте значение record_count , чтобы убедиться, что общее количество полученных записей соответствует вашим ожиданиям. record_count включает как успешные, так и неудачные записи.
Кроме того, проверьте значения user_identifier_count , mobile_id_count или pair_id_count , чтобы подтвердить общее количество полученных идентификаторов пользователей, мобильных идентификаторов или идентификаторов пар.
Проверьте предупреждения и ошибки.
Помимо полей статуса для пункта назначения и типа запроса, RetrieveRequestStatusResponse содержит подробную информацию о предупреждениях и ошибках, связанных с запросом.
- Ошибка указывает на то, что API полностью отклонил запись.
- Предупреждение указывает на то, что API не отклонил запись, но был вынужден проигнорировать часть данных записи.
Например, если Event содержит зашифрованные данные UserIdentifier и AdIdentifiers , такие как gclid , и данные UserIdentifier не могут быть расшифрованы, API Data Manager все равно обработает запись, используя AdIdentifiers , но вернет предупреждение PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR .
Однако, если Event не содержит AdIdentifiers , а данные UserIdentifier не могут быть расшифрованы, API Data Manager отклоняет всю запись и сообщает об ошибке PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR поскольку допустимое Event должно содержать хотя бы один из параметров ad_identifiers или user_data .
Ниже представлены поля ответа, содержащие информацию о предупреждениях и ошибках.
-
warning_info - Список объектов
WarningCount. Каждыйrecord_countWarningCountсодержитreasonс указанием типа предупреждения и количество записей, в которых были обнаружены предупреждения данного типа. -
error_info - Список объектов
ErrorCount. Каждый объектErrorCountсодержитreasonошибки и её тип, а такжеrecord_countуказывающий количество записей, обработка которых завершилась с ошибкой данного типа.