Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez utiliser les méthodes de cette rubrique pour diagnostiquer les problèmes liés au chargement de vos données de segment.
Différentes phases du service de segment de lots
Cette section décrit les phases de chargement, afin que vous puissiez comprendre où les problèmes peuvent se produire.
Démarrage : URL de chargement de la demande et ID de travail
Dans cette phase, les clients demandent une URL de chargement et un ID de travail. Cette étape expire en 5 minutes. Si les travaux sont bloqués dans cette phase, cela indique que les clients ont demandé l’URL mais n’ont pas pu charger quoi que ce soit dans le délai imparti.
Téléchargement
Dans cette phase, les clients chargent le fichier dans l’URL donnée. Il est recommandé de ne pas dépasser un chargement par minute. Si les clients ont plus de 200 travaux en attente d’être traités à un moment donné, il leur sera interdit de charger des travaux supplémentaires.
Validation et traitement
Une fois que les clients ont chargé le fichier, le traitement du fichier a lieu dans la phase suivante où la validation des ID de segment et des ID utilisateur est effectuée. Si un enregistrement contient des ID d’utilisateur ou de segment non valides, la plateforme ne traite pas l’enregistrement. Lorsque les clients case activée le travail status, ils peuvent afficher des statistiques concernant le nombre d’utilisateurs non valides.
Achèvement
Au cours de cette phase, les données du fichier sont correctement chargées sur la plateforme et sont disponibles pour le ciblage.
Erreurs de chargement possibles
Tentative de chargement d’un fichier supérieur à 0,5 Go
{"response":{"status":"ERROR","error_code":"FILESIZE_LIMIT_EXCEEDED","errors":["Member exceeds maximum byte size allowed for a file"]}}
Code d’erreur dans le travail de chargement de segment de lot
""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"
}
Les erreurs suivantes peuvent se produire dans les cas suivants :
Vous avez atteint l’une de ses quatre limites de chargement :
- octets quotidiens,
- octets horaires,
- lignes quotidiennes, ou
- lignes horaires
Tentative de dépassement de la limite quotidienne de chargement d’octets
{"response":{"status":"ERROR","error_code":"RATE_LIMIT_EXCEEDED","errors":["Member exceeds maximum allowed bytes per day"]}}Tentative de dépassement de la limite de chargement d’octets horaire
{"response":{"status":"ERROR","error_code":"RATE_LIMIT_EXCEEDED","errors":["Member exceeds maximum allowed bytes per hour"]}}Tentative de dépassement de la limite de chargement de lignes quotidiennes
{"response":{"status":"ERROR","error_code":"RATE_LIMIT_EXCEEDED","errors":["Member exceeds maximum allowed number of lines per day"]}}Tentative de dépassement de la limite de chargement de lignes horaires
{"response":{"status":"ERROR","error_code":"RATE_LIMIT_EXCEEDED","errors":["Member exceeds maximum allowed number of lines per hour"]}}Vous avez annulé le chargement.
La phase de chargement dépasse 90 minutes. Dépassement de la durée maximale de chargement
{"response":{"status":"ERROR","error_code":"RATE_LIMIT_EXCEEDED","errors":["Maximum upload time exceeded"]}}
Erreurs de traitement possibles
Format non valide
Si la valeur du num_invalid_format champ est supérieure "0"à , case activée les valeurs du error_log_lines champ.
Dans l’exemple ci-dessous, le num_invalid_format champ affiche la valeur "1", avec les détails fournis dans le error_log_lines champ.
Dans le error_log_lines champ :
-
num_invalid_formatindique qu’un problème s’est produit lors de l’analyse d’une ligne dans le fichier chargé. -
"failed with an illegal number of fields"indique que le nombre de champs d’unsegment_fieldsbloc ne correspond pas à ce qui a été défini dans la configuration du segment de lot (pour plus d’informations, consultez Configuration initiale du compte BSS).
Dans ce cas, la configuration s’attend à ce que trois champs soient définis dans le bloc : SEG_ID, VALUE, EXPIRATION, mais l’analyseur n’a trouvé que deux champs - SEG_ID et , affichant VALUEainsi une erreur.
num_invalid_format et error_log_lines exemple
"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"
}
Afficher votre historique de chargement de fichiers
Pour afficher les métadonnées relatives à tous les chargements de fichiers de segments au cours des 30 derniers jours, effectuez un GET appel au service avec votre member_id spécifié dans la chaîne de requête. La réponse JSON inclut un tableau d’objets batch_segment_upload_job .
Pour plus d’informations sur les champs spécifiques de l’objet batch_segment_upload_job , consultez Champs JSON.
Remarque
L’historique de chargement de fichiers est disponible pour les 30 derniers jours uniquement.
$ 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"
},
...
}
}
}
Remarque
Notre API limite les réponses à 100 objets via la pagination. Vous pouvez afficher des objets supplémentaires en ajoutant l’un d’entre eux à l’appel d’API :
&start_element=101&sort=last_modified.desc
Pour en savoir plus sur la pagination, consultez notre portail de documentation ici.
Si vous rencontrez toujours des problèmes techniques, vous pouvez envoyer une demande sur notre portail de support client. N’oubliez pas d’inclure l’ID de travail dans votre demande de support.
Champs JSON
| HTTP, méthode | Endpoint | Description |
|---|---|---|
GET |
https://api.appnexus.com/batch-segment/meta |
Utilisez cet appel pour déterminer les champs que vous pouvez filtrer et trier. |
| Champs | Type | Description |
|---|---|---|
id |
int | Il s’agit de l’ID de l’objet batch_segment_upload_job associé à cette demande.Valeur par défaut : nombre généré automatiquement. |
status |
string | Status de l’appel d’API ; les appels réussis retournent "OK". |
batch_segment_upload_job |
objet | Il s’agit d’un objet dont les champs contiennent des métadonnées décrivant le travail de chargement et de traitement. Si vous utilisez l’API Impbus, il s’agit d’un tableau contenant un seul objet. Pour plus d’informations, consultez Tâche de chargement de segments par lots . |
Tâche de chargement de segment batch
Lorsque vous demandez la status de votre travail de traitement, le système retourne un batch_segment_upload_job objet (si vous êtes un fournisseur de données, il s’agit d’un tableau contenant un seul objet). Selon la demande que vous adressez au service, elle contient tout ou partie des métadonnées suivantes.
Remarque
La plupart des métadonnées sont uniquement présentes lorsque "phase": "completed".
| Champs | Type | Description |
|---|---|---|
upload_url |
string | URL dans laquelle vous allez charger votre fichier de données de segment. |
phase |
enum | Status de traitement actuel. Retourne l’une des valeurs suivantes : - error- starting- uploading- validating- processing- completed |
start_time |
date | Heure à laquelle le chargement du fichier a commencé. |
uploaded_time |
date | Heure à laquelle le fichier associé à cet ID de travail a été chargé. |
validated_time |
date | Heure à laquelle la validation du fichier a été effectuée. |
completed_time |
date | Heure à laquelle le traitement du fichier a été effectué. |
error_code |
int | Si la valeur est "phase": "error", ce code d’erreur décrit le type d’erreur rencontré. Notez qu’un code d’erreur s’affiche ici uniquement s’il y a eu une erreur lors du chargement, de la validation ou du traitement du fichier lui-même (c’est-à-dire qu’il n’inclut pas d’erreurs de format ou de segment non valides). Les erreurs courantes sont dues à des fichiers illisibles et au dépassement des limites d’objets définies.Retourne null si aucune erreur n’a été trouvée. |
time_to_process |
decimal | Temps nécessaire pour traiter le fichier de segment, en minutes. |
percent_complete |
int | Pourcentage du traitement terminé, compte tenu de la phase actuelle au moment de la demande. |
num_valid |
int | Nombre de lignes valides dans le fichier chargé. Chaque combinaison utilisateur/segment est considérée comme 1 ligne. |
num_invalid_format |
int | Nombre de lignes chargées contenant des erreurs de mise en forme. Cela dépend de la configuration de votre format de fichier particulier. Les lignes dupliquées sont également considérées comme un format non valide. |
num_valid_user |
int | Nombre de lignes d’entrée uniques qui ont un ID utilisateur valide. |
num_invalid_user |
int | Nombre de lignes d’entrée uniques qui ont un utilisateur non valide ou inexistant. |
num_invalid_segment |
int | Nombre de segments non valides dans le fichier. Dédupliqué. |
num_invalid_timestamp |
int | Nombre d’horodatages non valides dans le fichier. |
num_unauth_segment |
int | Nombre de segments du fichier auxquels vous n’êtes pas autorisé à accéder. Dédupliqué. |
num_past_expiration |
int | Nombre de segments expirés dans le fichier. Dédupliqué. |
num_inactive_segment |
int | Nombre de segments inactifs dans le fichier. Dédupliqué. |
num_other_error |
int | Il s’agit d’une valeur d’espace réservé qui n’est pas utilisée actuellement. |
error_log_lines |
string | Chaîne contenant des lignes séparées par de nouvelles lignes. Chaque ligne répertorie une erreur de validation ou la raison d’une erreur lors du chargement de votre fichier. Vous pouvez choisir le nombre de lignes qui s’affichent dans ce champ. Par défaut : 200 lines |
segment_log_lines |
string | Chaîne contenant des lignes séparées par des lignes nouvelles composées de l’ID de segment et du nombre d’utilisateurs correctement ajoutés ou supprimés. Ce champ est 200 linesdéfini par défaut sur .Le format est ajouté : SEG_ID:COUNT SEG_ID:COUNT ... removed: SEG_ID:COUNT ... où SEG_ID est l’ID de segment et COUNT le nombre d’utilisateurs ajoutés ou supprimés avec succès.
SEG_ID:COUNT les paires sont triées par COUNT (décroissant).Exemple : added:15889133:38622115547290:186227removed:15889278:36973415889206:25530715889179:232831 |
id |
int | Identificateur unique de cet objet. |
job_id |
string | Chaîne de caractères alphanumériques qui identifie de façon unique le travail de traitement associé à ce fichier. |
member_id |
int | Votre ID de membre. Obligatoire le : PUT, POST |
created_on |
date | Date de création de cet objet. |
last_modified |
date | Date de modification la plus récente de cet objet (généralement via POST). |