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.
Vue d’ensemble
Les services de journal des modifications et de détails du journal des modifications en lecture seule sont utilisés conjointement avec d’autres services (répertoriés ci-dessous) pour récupérer des informations sur les modifications apportées à un ensemble d’objets. Cette page décrit l’utilisation de ces deux services pour récupérer la liste des modifications enregistrées qui vous intéressent. Le service Journal des modifications est disponible uniquement pour les utilisateurs ayant le "member"type d’utilisateur , "advertiser"ou "member_advertiser" .
Remarque
Le service Journal des modifications présente des différences mineures par rapport aux autres services d’API Xandr, comme indiqué ci-dessous :
- L’option
min_last_modifiedutilisée pour le filtrage de date est remplacée parmin_timestamp. - L’option
last_modifiedn’est pas prise en charge. Utilisezcreated_onà la place.
API REST pour récupérer l’ID d’une modification
| HTTP, méthode | Endpoint | Description |
|---|---|---|
GET |
https://api.appnexus.com/change-log?service=SERVICE& resource_id=ID | Récupérer l’ID d’une modification apportée à une ressource. |
POST |
https://api.appnexus.com/change-log (Fichier JSON du journal des modifications) |
Publication d’un ID de modification pour une ressource. |
Champs JSON pour le service Journal des modifications
Remarque
- Le service Journal des modifications est en lecture seule ; Toutefois, certains champs peuvent être utilisés dans un
POSTappel pour filtrer la réponse. Toutefois, tous les champs ne sont pas utilisés dansPOSTles appels. Il est doncGETrecommandé. - Le service Journal des modifications contient au moins 6 mois de données, voire plus, pour chaque service.
Champs acceptés comme entrées du point de terminaison
| Champ | Type | Description |
|---|---|---|
service |
string | Service utilisé pour effectuer la modification. Voici quelques exemples de valeurs possibles : - insertion-order- line-item- campaign- profileNote: Actuellement, budget-splitter le service est dans la liste de blocage.Obligatoire: Oui Filtre: Oui |
resource_id |
int | ID de l’objet utilisé pour effectuer la modification. Obligatoire: Oui Filtre: Oui |
additional_fields |
string - Pour GET les requêtes, il s’agit d’un groupe de chaînes séparées par des virgules. Par exemple, additional_fields = request_source, user_id, object_json- Pour les POST requêtes, il s’agit d’un tableau de chaînes. Par exemple, "additional_fields":["request_source","user_id","object_json”] |
Ce champ permet aux utilisateurs d’ajouter des données supplémentaires dans la réponse. peut additional_fields inclure des champs de retour supplémentaires. Voici quelques exemples de valeurs acceptées :- request_source- user_id- object_jsonObligatoire: Non Filtre: Non |
Champs retournés dans la réponse à partir du point de terminaison
| Champ | Type | Description |
|---|---|---|
min_timestamp |
Timestamp | Date et heure de la modification la plus ancienne de l’objet, au YYYY-MM-DD format ou YYYY-MM-DDHH:MM:SS . |
max_timestamp |
Timestamp | Date et heure de la dernière modification de l’objet, au YYYY-MM-DD format ou YYYY-MM-DDHH:MM:SS . |
start_element |
int | Par défaut, le change-log service retourne 100 transactions ou moins. S’il y a plus de transactions, utilisez start_element pour définir le décalage. Entrez dans la chaîne de requête. Peut être inclus dans les GET demandes et POST . |
num_elements |
int | Par défaut, le change-log service retourne 100 transactions ou moins. S’il y a plus de transactions, utilisez num_elements pour récupérer le nombre spécifié de transactions. Entrez dans la chaîne de requête. Peut être inclus dans les GET demandes et POST . |
service |
chaîne | Service utilisé pour effectuer la modification. |
resource_id |
int | ID de l’objet utilisé pour effectuer la modification. |
additional_fields |
string | Ce champ retourne des données supplémentaires dans la réponse, comme spécifié dans l’entrée. |
transaction_id |
int | ID de la transaction de modification acceptée comme entrée du point de terminaison. |
resource_id |
int | ID de l’objet utilisé pour effectuer la modification. |
created_on |
Timestamp | Date et heure de la modification de l’objet au YYYY-MM-DDHH:MM:SS format. |
sort |
chaîne | Chaîne au format . “FIELD.[asc\|desc]” Par exemple, created_on.asc pour le tri croissant sur created_on. Actuellement, seul le tri est created_on autorisé. |
modified_by_admin |
valeur booléenne | Filtrez par éléments qui sont modifiés par les administrateurs uniquement. Note: Ce paramètre de requête est utilisable uniquement dans les GET requêtes. |
modified_by_plugin |
valeur booléenne | Filtrez par éléments modifiés uniquement par les plug-ins. Note: Ce paramètre de requête est utilisable uniquement dans les GET requêtes. |
transactions_with_changes |
valeur booléenne | Filtrez par éléments qui ont des modifications. |
API REST pour récupérer les détails d’une modification
| HTTP, méthode | Endpoint | Description |
|---|---|---|
GET |
https://api.appnexus.com/change-log-detail?service=SERVICE& resource_id=ID&transaction_id=ID | Récupérez les détails d’une modification apportée à la ressource. |
POST |
https://api.appnexus.com/change-log-detail (Modifier les détails du journal JSON) |
Publiez les détails d’une modification apportée à une ressource. |
Champs JSON pour le service Détails du journal des modifications
Remarque
Le service Détails du journal des modifications est en lecture seule ; Toutefois, certains champs peuvent être utilisés dans un POST appel pour filtrer la réponse.
Champs acceptés en tant qu’entrées du point de terminaison dans le service Détails du journal des modifications
| Champ | Type | Description |
|---|---|---|
service |
string | Service utilisé pour effectuer la modification. Obligatoire: Oui Filtre: Oui |
transaction_id |
int | ID de la transaction de modification acceptée comme entrée du point de terminaison. Obligatoire: Oui Filtre: Oui |
previous_object |
valeur booléenne | Lorsque la valeur est true, la différence entre la transaction interrogée et la transaction précédente s’affiche. Sinon, la différence entre la transaction interrogée et la transaction suivante est affichée par défaut. Cette entrée peut être passée dans le paramètre de requête ou dans le corps de la requête. Valeur par défaut : false Obligatoire : Non Filtre : Oui |
Champs retournés dans la réponse du point de terminaison dans le service Détails du journal des modifications
| Champ | Type | Description |
|---|---|---|
created_on |
Timestamp | Date et heure de la modification de l’objet au YYYY-MM-DDHH:MM:SS format. |
user_id |
int | ID de l’utilisateur qui a apporté la modification. |
method |
enum | Méthode d’API utilisée pour effectuer la modification. Les valeurs possibles sont les suivantes : - "put"- "post"- "delete" |
url |
string | URL de la demande d’origine. |
changes |
tableau d’objets | Détails sur les modifications apportées à l’objet retourné. Chaque objet du tableau contient des changeschamps. |
plugin_id |
int | ID du plug-in qui a apporté la modification. Si la valeur est null, un plug-in n’a pas effectué la modification (et un utilisateur l’a fait). Pour plus d’informations sur un plug-in, consultez service de plug-in. |
transaction_id |
int | ID de la transaction de modification acceptée comme entrée du point de terminaison. |
member_id |
int | ID du membre qui a initié la modification. |
num_of_changes |
int | Nombre de champs modifiés dans l’objet. Il correspond au nombre de "changes" champs où la valeur de "changed" est true. |
modified_by_admin |
valeur booléenne | Spécifie si les modifications sont initiées par un administrateur. |
admin_id |
int | ID de l’administrateur qui a initié la modification. |
user_full_name |
chaîne | Nom de l’utilisateur qui a apporté la modification. Il correspond au "user_id" champ retourné dans la réponse. |
resource_id |
int | ID de l’objet utilisé pour effectuer la modification. |
raw_json |
chaîne | En lecture seule. Objet de données complet JSON avant la transaction de modification. La raw_json valeur de cette transaction est comparée à la valeur de la dernière transaction pour déduire ce qui a changé. |
session_id |
chaîne | En lecture seule. Jeton d’authentification de l’utilisateur utilisé pour accéder à l’API. |
internal_txn |
valeur booléenne | En lecture seule. Si truela valeur est , il s’agit d’une transaction interne (c’est-à-dire que l’appel d’API a été déclenché par un autre appel d’API interne). |
request_source |
enum | En lecture seule. D’où provient la requête d’API. Valeurs possibles : - "hbui": indique que la requête provient de l’interface utilisateur.- "direct": indique que la requête provient d’appels d’API directs.- "LIAA-allocation": indique que la mise à jour a été effectuée dans le formulaire de modification d’élément de ligne- "bmwBulkEdit" et "LIAA-blkupld": indique que les mises à jour ont été effectuées en bloc et en importation en bloc, respectivement.- "bmwInlineEdit": indique que l’utilisateur a cliqué sur l’icône de crayon dans la page de détails qui permet de modifier des sections individuelles.- "LIAA-dup": indique qu’elle a été effectuée par le processus de duplication. Remarque : cette valeur s’affiche uniquement dans les appels POST. |
client_ip |
chaîne | En lecture seule. Adresse IP du client. |
ip_info |
chaîne | En lecture seule. Chaîne d’adresses IP si la requête provient de proxys. |
changes Objet
| Champ | Type | Description |
|---|---|---|
field_name |
chaîne | En lecture seule. Le nom du champ a changé. |
old_value |
Tout (int/string/boolean/timestamp, etc.) | En lecture seule. Ancienne valeur du champ. |
new_value |
Tout (int/string/boolean/timestamp, etc.) | En lecture seule. Nouvelle valeur du champ. Le type de données de new_value est identique à old_value. |
changed |
valeur booléenne | En lecture seule. Si truela valeur est , cela implique que la valeur du champ change Log Services#Changed. |
Exemples
Récupérer les détails du journal des modifications à l’aide de GET
Étape 1 : Appeler /change-log pour obtenir des transactions pour un objet souhaité resource_id
GET à /change-log.
$ curl -b cookies 'https://api.appnexus.com/change-log?service=line-item&resource_id=13984849'
{
"response": {
"change_logs": [
{
"transaction_id": "4ba6d032-68ef-544e-9f01-49aa6b36b0b4",
"created_on": "2021-02-12 15:24:27",
"resource_id": 13984849
},
{
"transaction_id": "0ee74310-f580-5001-8007-2f71f84a5454",
"created_on": "2021-02-12 15:14:50",
"resource_id": 13984849
}
],
"start_element": 0,
"num_elements": 100,
"count": 2,
"status": "OK"
}
}
GET à /change-log avec "additional_fields" le paramètre .
$ curl -b cookies 'https://api.appnexus.com/change-log?service=line-item&resource_id=13984849&additional_fields=request_source,user_id,object_json'
{
"response": {
"change_logs": [
{
"transaction_id": "2b11b163-c8a6-5c8b-b3d2-6e580d41d929",
"object_json": "{\"id\":13984849,\"code\":null,...}",
"created_on": "2021-03-03 17:05:53",
"user_id": [redacted],
"resource_id": 13984849,
"request_source": "LIAA-blkupld"
},
...
],
"start_element": 0,
"num_elements": 1,
"count": 1,
"status": "OK"
}
}
Étape 2 : appeler /change-log-detail avec le transaction_id
GET à /change-log-detail.
$ curl -b cookies 'https://api.appnexus.com/change-log-detail?service=line-item&transaction_id=0ee74310-f580-5001-8007-2f71f84a5454'
{
"response": {
"change_log_details": [
{
"transaction_id": "0ee74310-f580-5001-8007-2f71f84a5454",
"member_id": 364,
"raw_json": "{\"line-item\":{\"advertiser_id\":4143132,\"currency\":\"GBP\",...}",
"plugin_id": "",
"method": "PUT",
"changes": [
{
"field_name": "advertiser_id",
"old_value": 4143132,
"new_value": 4143132,
"changed": false
},
...
],
"session_id": "authn:234473:42824ee8a5453:nym2",
"internal_txn": false,
"url": "https://hbapi-proxy-production/line-item?id=13984849&advertiser_id=4143132",
"request_source": "LIAA-blkupld",
"num_of_changes": 2,
"created_on": "2021-03-03 17:05:53",
"user_id": [redacted int value],
"modified_by_admin": true,
"admin_id": 0,
"user_full_name": "Test User",
"resource_id": 13984849,
"client_ip": "[redacted]",
"ip_info": "[redacted]"
}
],
"start_element": 0,
"num_elements": 1,
"count": 1,
"status": "OK"
}
}
Récupérer les détails du journal des modifications à l’aide de POST
Remarque
Les exemples de code dans les étapes ci-dessous montrent comment un utilisateur récupère les modifications apportées à l’annonceur 5260730 entre 17 :00 :00 le 3 mars 2021 et 18 :00 :00 le 3 mars 2021.
Étape 1 : Create une demande de journal des modifications au format JSON
Le fichier JSON doit inclure le service et resource_id des journaux des modifications que vous souhaitez afficher, ainsi que les et max_timestamp pour limiter les min_timestamp journaux des modifications à une période spécifique. Vous pouvez également utiliser start_element ou num_elements dans la chaîne de requête.
change-log Create JSON.
$ cat change-log.json
{
"change-log" : {
"service" : "advertiser",
"resource_id": "5260730",
"min_timestamp" : "2021-03-03 17:00:00",
"max_timestamp" : "2021-03-03 18:00:00"
}
}
Étape 2 : POST la demande au service de journal des modifications
POST la demande JSON pour récupérer les informations de base du journal des modifications, y compris le transaction_id.
POST à /change-log.
$ curl -b cookies -X POST -d @change-log.json 'https://api.appnexus.com/change-log'
{
"response": {
"change_logs": [
{
"transaction_id": "016ac252-aa30-5d10-a7a0-b5b3d88df832",
"created_on": "2021-03-03 17:16:07",
"resource_id": 5260730
}
],
"start_element": 0,
"num_elements": 100,
"count": 1,
"status": "OK"
}
}
Étape 3 : Create une demande de détails du journal des modifications au format JSON
Le fichier JSON doit inclure les service et transaction_id du journal des modifications pour les détails que vous souhaitez afficher.
change-log-detail Create JSON.
$ cat change-log-detail.json
{
"change-log-detail" : {
"service" : "advertiser",
"transaction_id": "016ac252-aa30-5d10-a7a0-b5b3d88df832",
"previous_object": "true"
}
}
Étape 4 : POST la demande au service de détail du journal des modifications
POSTla demande JSON pour récupérer un journal des modifications détaillé pour la modification correspondant à .transaction_id
POST à /change-log-detail.
$ curl -b cookies -X POST -d @change-log-detail.json 'https://api.appnexus.com/change-log-detail'
{
"response": {
"change_log_details": [
{
"transaction_id": "016ac252-aa30-5d10-a7a0-b5b3d88df832",
"member_id": 7823,
"raw_json":"{\"advertiser\":{\"id\":0,\"code\":\"0080459398\",...}",
"plugin_id": "",
"method": "POST",
"changes": [
{
"field_name": "allow_safety_pacing",
"old_value": null,
"new_value": null,
"changed": false
},
{
"field_name": "billing_address1",
"old_value": null,
"new_value": "New Address",
"changed": true
},
...
],
"session_id": "authn:206221:8d1c33b7fadc3:ams3",
"internal_txn": false,
"url": "https://api.appnexus.com/advertiser",
"request_source": "direct",
"num_of_changes": 25,
"created_on": "2021-03-03 17:16:07",
"user_id": [redacted],
"modified_by_admin": true,
"admin_id": 0,
"user_full_name": "Test",
"resource_id": 5260730,
"client_ip": "[redacted]",
"ip_info": "[redacted]"
}
],
"start_element": 0,
"num_elements": 1,
"count": 1,
"status": "OK"
}
}