Cambio de los servicios de registro
Información general
Los servicios change log y change log detail services de solo lectura se usan junto con otros servicios (que se enumeran a continuación) para recuperar información sobre los cambios realizados en un conjunto de objetos. En esta página se describe el uso de estos dos servicios para recuperar una lista de los cambios registrados en los que está interesado. El servicio Change Log solo está disponible para los usuarios con el "member"
tipo de usuario , "advertiser"
o "member_advertiser"
.
Nota:
El servicio Change Log tiene algunas diferencias menores con respecto a otros servicios de LA API de Xandr, como se menciona a continuación:
- La
min_last_modified
opción usada para el filtrado de fechas se reemplaza pormin_timestamp
. - No se admite la
last_modified
opción . Usecreated_on
en su lugar.
API REST para recuperar el identificador de un cambio
Http (método) | Endpoint | Description |
---|---|---|
GET |
https://api.appnexus.com/change-log?service=SERVICE& resource_id=ID | Recupere el identificador de un cambio incurrido en un recurso. |
POST |
https://api.appnexus.com/change-log (Cambiar JSON de registro) |
Registrar un identificador de cambio para un recurso. |
Campos JSON para change log service
Nota:
- El servicio Change Log es de solo lectura; sin embargo, algunos campos se pueden usar en una
POST
llamada para filtrar la respuesta. Sin embargo, todos los campos no se usan enPOST
llamadas, por lo queGET
se recomienda. - El servicio Registro de cambios contiene al menos 6 meses de datos, si no más, para cada servicio.
Campos aceptados como entradas para el punto de conexión
Campo | Tipo | Descripción |
---|---|---|
service |
string | Servicio usado para realizar el cambio. A continuación se muestran algunos de los ejemplos de valores posibles: - insertion-order - line-item - campaign - profile Nota: Actualmente, budget-splitter el servicio está en lista de bloques.Obligatorio: Sí Filtro: Sí |
resource_id |
Entero | Identificador del objeto utilizado para realizar el cambio. Obligatorio: Sí Filtro: Sí |
additional_fields |
string - Para GET las solicitudes, se trata de un grupo de cadenas separadas por comas. Por ejemplo, additional_fields = request_source , , user_id object_json - Para POST las solicitudes, se trata de una matriz de cadenas. Por ejemplo: "additional_fields":["request_source","user_id","object_json”] |
Este campo permite a los usuarios agregar datos adicionales en la respuesta.
additional_fields puede incluir campos devueltos adicionales. Algunos ejemplos de valores aceptados son:- request_source - user_id - object_json Obligatorio: No Filtro: No |
Campos devueltos en la respuesta del punto de conexión
Campo | Tipo | Descripción |
---|---|---|
min_timestamp |
Timestamp | Fecha y hora de la modificación más antigua del objeto, en YYYY-MM-DD formato o YYYY-MM-DD HH:MM:SS . |
max_timestamp |
Timestamp | Fecha y hora de la última modificación en el objeto, en YYYY-MM-DD formato o YYYY-MM-DD HH:MM:SS . |
start_element |
Entero | De forma predeterminada, el change-log servicio devolverá 100 transacciones o menos. Si hay más transacciones, use start_element para establecer el desplazamiento. Escriba en la cadena de consulta. Se puede incluir tanto en solicitudes POST como GET en . |
num_elements |
Entero | De forma predeterminada, el change-log servicio devolverá 100 transacciones o menos. Si hay más transacciones, use num_elements para recuperar el número especificado de transacciones. Escriba en la cadena de consulta. Se puede incluir tanto en solicitudes POST como GET en . |
service |
string | Servicio usado para realizar el cambio. |
resource_id |
Entero | Identificador del objeto utilizado para realizar el cambio. |
additional_fields |
string | Este campo devuelve datos adicionales en la respuesta como se especifica en la entrada. |
transaction_id |
Entero | Identificador de la transacción de cambio aceptada como entrada en el punto de conexión. |
resource_id |
Entero | Identificador del objeto utilizado para realizar el cambio. |
created_on |
Timestamp | Fecha y hora de la modificación en el objeto en YYYY-MM-DD HH:MM:SS formato. |
sort |
string | Cadena con el formato , “FIELD.[asc\|desc]” . Por ejemplo, created_on.asc para la ordenación ascendente en created_on . Actualmente, solo se permite la ordenación en created_on . |
modified_by_admin |
booleano | Filtre por elementos modificados solo por los administradores. Nota: Este parámetro de solicitud solo se puede usar en GET las solicitudes. |
modified_by_plugin |
booleano | Filtre por elementos que solo modifiquen los complementos. Nota: Este parámetro de solicitud solo se puede usar en GET las solicitudes. |
transactions_with_changes |
booleano | Filtre por elementos que tengan cambios. |
API REST para recuperar los detalles de un cambio
Http (método) | Endpoint | Description |
---|---|---|
GET |
https://api.appnexus.com/change-log-detail?service=SERVICE& resource_id=ID&transaction_id=ID | Captura los detalles de un cambio en el recurso. |
POST |
https://api.appnexus.com/change-log-detail (Cambiar json de detalles del registro) |
Publique los detalles de un cambio en un recurso. |
Campos JSON para el servicio Change Log Details
Nota:
El servicio Change Log Details es de solo lectura; sin embargo, algunos campos se pueden usar en una POST
llamada para filtrar la respuesta.
Campos aceptados como entradas para el punto de conexión en el servicio Change Log Details
Campo | Tipo | Descripción |
---|---|---|
service |
string | Servicio usado para realizar el cambio. Obligatorio: Sí Filtro: Sí |
transaction_id |
Entero | Identificador de la transacción de cambio aceptada como entrada en el punto de conexión. Obligatorio: Sí Filtro: Sí |
previous_object |
booleano | Cuando es true, se muestra la diferencia entre la transacción consultada y la transacción anterior. De lo contrario, la diferencia entre la transacción consultada y la siguiente se muestra de forma predeterminada. Esta entrada se puede pasar en el parámetro de consulta o en el cuerpo de la solicitud. Valor predeterminado: false Requerido: No Filtro: Sí |
Campos devueltos en la respuesta del punto de conexión en el servicio Change Log Details
Campo | Tipo | Descripción |
---|---|---|
created_on |
Timestamp | Fecha y hora de la modificación en el objeto en YYYY-MM-DD HH:MM:SS formato. |
user_id |
Entero | Identificador del usuario que realizó la modificación. |
method |
enumeración | Método de API usado para realizar el cambio. Los posibles valores son: - "put" - "post" - "delete" |
url |
string | Dirección URL de la solicitud original. |
changes |
matriz de objetos | Detalles sobre los cambios realizados en el objeto devuelto. Cada objeto de la changes matriz contiene campos. |
plugin_id |
Entero | Identificador del complemento que realizó la modificación. Si null es , un complemento no realizó la modificación (y lo hizo un usuario). Para obtener más información sobre un complemento, consulte el Servicio de complementos. |
transaction_id |
Entero | Identificador de la transacción de cambio aceptada como entrada en el punto de conexión. |
member_id |
Entero | Identificador del miembro que inició el cambio. |
num_of_changes |
Entero | Número de cambios de campos realizados en el objeto . Corresponde al número de "changes" campos donde el valor de "changed" es true . |
modified_by_admin |
booleano | Especifica si un administrador inicia los cambios. |
admin_id |
Entero | Identificador del administrador que inició el cambio. |
user_full_name |
string | Nombre del usuario que realizó la modificación. Corresponde al "user_id" campo devuelto en la respuesta. |
resource_id |
Entero | Identificador del objeto utilizado para realizar el cambio. |
raw_json |
string | Solo lectura. Json del objeto de datos completo antes de la transacción de cambio. El raw_json valor de esta transacción se compara con el valor de la última transacción para deducir lo que ha cambiado. |
session_id |
string | Solo lectura. Token de autenticación del usuario usado para acceder a la API. |
internal_txn |
booleano | Solo lectura. Si true es , se trata de una transacción interna (es decir, la llamada API se desencadenó mediante otra llamada API interna). |
request_source |
enumeración | Solo lectura. Dónde se originó la solicitud de API. Posibles valores: - "hbui" : indica que la solicitud procede de la interfaz de usuario.- "direct" : indica que la solicitud procede de llamadas API directas.- "LIAA-allocation" : indica que la actualización se realizó en el formulario de edición de elementos de línea- "bmwBulkEdit" y "LIAA-blkupld" : indica que las actualizaciones se realizaron en ediciones masivas e importación masiva respectivamente.- "bmwInlineEdit" : indica que el usuario ha hecho clic en el icono de lápiz de la página de detalles que permite editar secciones individuales.- "LIAA-dup" : indica que fue a través del proceso de duplicación. Nota: este valor solo se mostrará en las llamadas POST. |
client_ip |
string | Solo lectura. Dirección IP del cliente. |
ip_info |
string | Solo lectura. Cadena de direcciones IP si la solicitud procede de servidores proxy. |
changes
objeto
Campo | Tipo | Descripción |
---|---|---|
field_name |
string | Solo lectura. El nombre del campo ha cambiado. |
old_value |
Cualquier (int/string/boolean/timestamp, etc.) | Solo lectura. Valor antiguo del campo. |
new_value |
Cualquier (int/string/boolean/timestamp, etc.) | Solo lectura. Nuevo valor del campo. El tipo de datos de new_value es el mismo que old_value . |
changed |
booleano | Solo lectura. Si true es , implica que el valor del campo es change Log Services#Changed. |
Ejemplos
Recuperar detalles del registro de cambios mediante GET
Paso 1: Llamada /change-log
para obtener transacciones para un valor deseado resource_id
GET
a /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
a /change-log
con "additional_fields"
el parámetro .
$ 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"
}
}
Paso 2: Llamar con /change-log-detail
el transaction_id
GET
a /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"
}
}
Recuperar detalles del registro de cambios mediante POST
Nota:
Los ejemplos de código de los pasos siguientes muestran cómo un usuario recupera los cambios realizados en el anunciante 5260730 entre las 17:00:00 del 3 de marzo de 2021 y las 18:00:00 del 3 de marzo de 2021.
Paso 1: Creación de una solicitud de registro de cambios con formato JSON
El archivo JSON debe incluir y service
resource_id
de los registros de cambios que desea ver, así como min_timestamp
y max_timestamp
para limitar los registros de cambios a un período de tiempo específico. También puede usar start_element
o num_elements
en la cadena de consulta.
Cree change-log
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"
}
}
Paso 2: POST
la solicitud al servicio de registro de cambios
POST
la solicitud JSON para obtener información básica del registro de cambios, incluido .transaction_id
POST
a /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"
}
}
Paso 3: Creación de una solicitud de detalle del registro de cambios con formato JSON
El archivo JSON debe incluir y service
transaction_id
del registro de cambios para los detalles que desea ver.
Cree change-log-detail
JSON.
$ cat change-log-detail.json
{
"change-log-detail" : {
"service" : "advertiser",
"transaction_id": "016ac252-aa30-5d10-a7a0-b5b3d88df832",
"previous_object": "true"
}
}
Paso 4: POST
la solicitud al servicio change log detail
POST
la solicitud JSON para obtener un registro de cambios detallado para el cambio correspondiente a transaction_id
.
POST
a /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"
}
}