Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede utilizar los métodos de este tema para diagnosticar cualquier problema con la carga de datos de segmento.
Diferentes fases del servicio de segmentos por lotes
En esta sección se describen las fases de la carga, para que pueda comprender dónde pueden estar ocurriendo problemas.
Inicio: URL de carga de solicitud e id. de trabajo
En esta fase, los clientes solicitan una URL de carga y un id. de trabajo. Esta fase se agota en 5 minutos. Si los trabajos están atascados en esta fase, indica que los clientes solicitaron la dirección URL, pero no pudieron cargar nada en el tiempo asignado.
Cargando
En esta fase, los clientes cargan el archivo en la dirección URL especificada. Se recomienda no superar una carga por minuto. Si los clientes tienen más de 200 trabajos esperando ser procesados en un momento dado, se les prohibirá cargar trabajos adicionales.
Validación y procesamiento
Una vez que los clientes cargan el archivo, el procesamiento del archivo se produce en la siguiente fase donde se lleva a cabo la validación de los ID de segmento y los ID de usuario. Si un registro contiene ID de segmento o usuario no válidos, la plataforma no procesa el registro. Cuando los clientes comprueben el estado del trabajo, podrán ver estadísticas sobre el número de usuarios no válidos.
Finalización
En esta fase, los datos del archivo se cargan correctamente en la plataforma y están disponibles para su segmentación.
Posibles errores de carga
Intentando cargar un archivo de más de 0,5 GB
{"response":{"status":"ERROR","error_code":"FILESIZE_LIMIT_EXCEEDED","errors":["Member exceeds maximum byte size allowed for a file"]}}
Código de error en el trabajo de carga de segmento por lotes
""batch_segment_upload_job": {
"phase": "error",
"start_time": "2015-08-13 18:40:32",
"uploaded_time": null,
"validated_time": null,
"completed_time": null,
"error_code": "uploading-error",
"time_to_process": "0.00",
"percent_complete": 0,
"num_valid": 0,
"num_invalid_format": 0,
"num_valid_user": 0,
"num_invalid_user": 0,
"num_invalid_segment": 0,
"num_invalid_timestamp": 0,
"num_unauth_segment": 0,
"num_past_expiration": 0,
"num_inactive_segment": 0,
"num_other_error": 0,
"error_log_lines": null,
"segment_log_lines": null,
"id": 11661553,
"job_id": "Pm3oCUf5CSVKIOt4mAqOzdt6K3qInj1431542432",
"member_id": 958,
"created_on": "2015-05-13 18:40:32",
"last_modified": "2015-05-13 18:40:33"
}
Los siguientes errores pueden ocurrir cuando:
Has alcanzado uno de sus cuatro límites de carga:
- Daily Bytes,
- Bytes por hora,
- líneas diarias, o
- Líneas horarias
Intentar superar el límite de carga diaria de bytes
{"response":{"status":"ERROR","error_code":"RATE_LIMIT_EXCEEDED","errors":["Member exceeds maximum allowed bytes per day"]}}Intentando superar el límite de carga de bytes por hora
{"response":{"status":"ERROR","error_code":"RATE_LIMIT_EXCEEDED","errors":["Member exceeds maximum allowed bytes per hour"]}}Intentando superar el límite de carga diaria de líneas
{"response":{"status":"ERROR","error_code":"RATE_LIMIT_EXCEEDED","errors":["Member exceeds maximum allowed number of lines per day"]}}Intentando superar el límite de carga de líneas por hora
{"response":{"status":"ERROR","error_code":"RATE_LIMIT_EXCEEDED","errors":["Member exceeds maximum allowed number of lines per hour"]}}Has cancelado la carga.
La fase de carga supera los 90 minutos. Superación del tiempo máximo de carga
{"response":{"status":"ERROR","error_code":"RATE_LIMIT_EXCEEDED","errors":["Maximum upload time exceeded"]}}
Posibles errores de procesamiento
Formato no válido
Si el valor del num_invalid_format campo es mayor que "0", compruebe los valores del error_log_lines campo.
En el ejemplo siguiente, el num_invalid_format campo muestra el valor , "1"con detalles proporcionados en el error_log_lines campo.
En el error_log_lines campo:
-
num_invalid_formatIndica que se produjo un problema al analizar una línea del archivo cargado. -
"failed with an illegal number of fields"indica que el número de campos de unsegment_fieldsbloque no coincide con lo que se definió en la configuración de segmento por lotes (para obtener más información, consulte Configuración inicial de la cuenta BSS).
En este caso, la configuración espera que se definan tres campos en el bloque: , VALUE, EXPIRATION, pero el analizador solo encontró dos camposSEG_ID, SEG_IDy VALUE, mostrando así un error.
num_invalid_format y error_log_lines ejemplo
"batch_segment_upload_job": {
phase": "completed",
"error_code": null,
"time_to_process": "0.01",
"percent_complete": 100,
"num_valid": 0,
"num_invalid_format": 1,
"num_valid_user": 0,
"num_invalid_user": 0,
"num_invalid_segment": 0,
"num_invalid_timestamp": 0,
"num_unauth_segment": 0,
"num_past_expiration": 0,
"num_inactive_segment": 0,
"num_other_error": 0,
"error_log_lines": "num_invalid_format-WINDOWSADID-USER-ID;SEG_ID:VALUE~9 failed with an illegal number of fields",
"segment_log_lines": null,
"start_time": "2015-08-13 18:40:32",
"uploaded_time": "2015-08-13 18:42:32",
"validated_time": "2015-08-13 18:42:32",
"completed_time": "2015-08-13 18:42:33",
"id": 123412341234,
"job_id": "Pm3oCUf5CSVKIOt4mAqOzdt6K3qInj1431542432",
"member_id": 958,
"created_on": "2015-08-13 18:40:32",
"last_modified": "2015-08-13 18:42:33"
}
Ver el historial de carga de archivos
Para ver los metadatos sobre todas las cargas de archivos de segmento en los últimos 30 días, realice una GET llamada al servicio con lo member_id especificado en la cadena de consulta. La respuesta JSON incluirá una matriz de batch_segment_upload_job objetos.
Para obtener más información sobre los campos específicos del objeto, vea Campos batch_segment_upload_jobJSON.
Nota:
El historial de carga de archivos solo está disponible durante los últimos 30 días.
$ curl -b cookies 'https://api.appnexus.com/batch-segment?member_id=456'
{
"response" : {
"batch_segment_upload_job" : [
{
"phase": "completed",
"start_time": "2012-05-22 16:48:55",
"uploaded_time": "2012-05-22 16:48:56",
"validated_time": "2012-05-22 16:49:01",
"completed_time": "2012-05-22 16:49:01",
"error_code": null,
"time_to_process": "0.04",
"percent_complete": 100,
"num_valid": 0,
"num_invalid_format": 0,
"num_invalid_user": 2,
"num_invalid_segment": 0,
"num_unauth_segment": 1,
"num_past_expiration": 0,
"num_inactive_segment": 0,
"num_other_error": 0,
"error_log_lines": " \n\nnum_unauth_segment-4013681496264948522;5013:0,5014:1550\nnum_invalid_user-7652266028043224430;5848:0,5849:1440,5850:1440\nnum_invalid_user-8802117132500293405;5851:0,5847:-1",
"id": 98,
"job_id": "T1v98eIOlCZndeLGSXD0nrs57L8ES11337705335",
"member_id": 456,
"created_on": "2012-05-22 16:48:55",
"last_modified": "2012-05-22 16:49:01"
},
...
}
}
}
Nota:
Nuestra API limita las respuestas a 100 objetos a través de la paginación. Puede ver objetos adicionales anexando uno de estos a la llamada API:
&start_element=101&sort=last_modified.desc
Puede leer más sobre paginación en nuestro Portal de documentación aquí.
Si sigues teniendo problemas técnicos, puedes enviar una solicitud en nuestro Portal de soporte técnico al cliente de Microsoft Advertising. No olvide incluir el identificador del trabajo en la solicitud de soporte técnico.
Campos JSON
| Método HTTP | Endpoint | Description |
|---|---|---|
GET |
https://api.appnexus.com/batch-segment/meta |
Use esta llamada para averiguar por qué campos puede filtrar y ordenar. |
| Fields | Tipo | Descripción |
|---|---|---|
id |
Entero | Es el identificador del batch_segment_upload_job objeto asociado a esta solicitud.Valor predeterminado: un número generado automáticamente. |
status |
string | El estado de la llamada API; Llamadas correctas Return "OK". |
batch_segment_upload_job |
objeto | Se trata de un objeto cuyos campos contienen metadatos que describen el trabajo de carga y procesamiento. Si está utilizando la API de Impbus, esta será una matriz que contiene un solo objeto. Consulte Trabajo de carga de segmentos por lotes para obtener más información. |
Trabajo de carga de segmento por lotes
Cuando solicita el estado del trabajo de procesamiento, el sistema devuelve un batch_segment_upload_job objeto (si es un proveedor de datos, será una matriz que contiene un solo objeto). En función de la solicitud que realice al servicio, contendrá algunos o todos los metadatos siguientes.
Nota:
La mayoría de los metadatos solo estarán presentes cuando "phase": "completed".
| Fields | Tipo | Descripción |
|---|---|---|
upload_url |
string | La dirección URL donde cargará el archivo de datos de segmentos. |
phase |
enumeración | El estado de procesamiento actual. Devuelve uno de los siguientes valores: - error- starting- uploading- validating- processing- completed |
start_time |
date | Hora en la que se inició la carga de archivos. |
uploaded_time |
date | La hora en que se cargó el archivo asociado con este id. de trabajo. |
validated_time |
date | La hora en que se completó la validación del archivo. |
completed_time |
date | La hora en que se completó el procesamiento del archivo. |
error_code |
Entero | Si "phase": "error", este código de error describe el tipo de error encontrado. Ten en cuenta que un código de error solo se mostrará aquí si se ha producido un error con la carga, validación o procesamiento del propio archivo (es decir, no incluye errores de formato no válido o de segmento no válido). Los errores comunes se producen por archivos ilegibles y por la superación de los límites de objetos definidos.Devuelva null si no se encontraron errores. |
time_to_process |
decimal | El tiempo que se tardó en procesar el archivo de segmento, en minutos. |
percent_complete |
Entero | El porcentaje del procesamiento que se ha completado, dada la fase actual en el momento de la solicitud. |
num_valid |
Entero | El número de líneas válidas en el archivo cargado. Cada combinación de usuario/segmento se considera de 1 línea. |
num_invalid_format |
Entero | El número de líneas cargadas que contienen errores de formato. Esto depende de la configuración particular del formato de archivo. Las líneas duplicadas también se considerarán un formato no válido. |
num_valid_user |
Entero | Recuento de líneas de entrada únicas que tienen un identificador de usuario válido. |
num_invalid_user |
Entero | Recuento de líneas de entrada únicas que tienen un usuario no válido o inexistente. |
num_invalid_segment |
Entero | El número de segmentos no válidos en el archivo. Desduplicado. |
num_invalid_timestamp |
Entero | El número de marcas de tiempo no válidas en el archivo. |
num_unauth_segment |
Entero | El número de segmentos del archivo a los que no está autorizado acceder. Desduplicado. |
num_past_expiration |
Entero | El número de segmentos expirados en el archivo. Desduplicado. |
num_inactive_segment |
Entero | El número de segmentos inactivos en el archivo. Desduplicado. |
num_other_error |
Entero | Se trata de un valor de marcador de posición que no está en uso actualmente. |
error_log_lines |
string | Cadena que contiene líneas separadas por nueva línea. Cada línea muestra un error de validación o el motivo de un error al cargar el archivo. Puede elegir cuántas líneas aparecen en este campo. Valor predeterminado: 200 lines |
segment_log_lines |
string | Cadena que contiene líneas separadas por nueva línea y que consta del Id. de segmento y el número de usuarios agregados o quitados correctamente. Este campo tiene como valor predeterminado .200 linesSe agrega el formato: SEG_ID:COUNT SEG_ID:COUNT ... removed: SEG_ID:COUNT ... donde SEG_ID es el ID de segmento y COUNT es el número de usuarios agregados o eliminados correctamente.
SEG_ID:COUNT Los pares se ordenan por COUNT (descendente).Ejemplo: added:15889133:38622115547290:186227removed:15889278:36973415889206:25530715889179:232831 |
id |
Entero | El identificador único de este objeto. |
job_id |
string | Cadena de caracteres alfanuméricos que identifica de forma única el trabajo de procesamiento asociado a este archivo. |
member_id |
Entero | Su ID de miembro. Requerido el: PUT, POST |
created_on |
date | Fecha de creación de este objeto. |
last_modified |
date | La fecha de modificación más reciente de este objeto (normalmente a través POSTde ). |