Compartir a través de


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 por min_timestamp.
  • No se admite la last_modified opción . Use created_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 en POST llamadas, por lo que GET 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:
Filtro:
resource_id Entero Identificador del objeto utilizado para realizar el cambio.
Obligatorio:
Filtro:
additional_fields string
- Para GET las solicitudes, se trata de un grupo de cadenas separadas por comas. Por ejemplo, additional_fields = request_source, , user_idobject_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-DDHH:MM:SS .
max_timestamp Timestamp Fecha y hora de la última modificación en el objeto, en YYYY-MM-DD formato o YYYY-MM-DDHH: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-DDHH: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:
Filtro:
transaction_id Entero Identificador de la transacción de cambio aceptada como entrada en el punto de conexión.
Obligatorio:
Filtro:
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-DDHH: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 nulles , 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 truees , 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 truees , 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 serviceresource_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

POSTla 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 servicetransaction_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"
}
}