API de plataforma digital: servicio de perfil de anuncios
Es posible que una red quiera crear "perfiles de aprobación de anuncios" para definir qué tipos de marcas y creatividades pueden y no pueden ejecutarse en las páginas de sus editores. El servicio de perfil de anuncios te permite crear tus perfiles de aprobación de anuncios en el nivel de miembro o en el nivel de publicador. Para crearlos en el nivel de publicador, incluya un identificador de publicador. Si no se incluye ningún identificador de publicador, será un perfil de nivel de red disponible para su uso con todos los publicadores.
Los perfiles de anuncios constan de varios elementos: miembros, marcas, creativos, lenguaje, atributos técnicos, categorías y servidores de anuncios. Al crear un perfil de anuncio, puedes aprobar o prohibir cada creatividad del sistema individualmente, pero puedes preferir ahorrar tiempo si apruebas o prohíbes marcas o miembros enteros.
- Un miembro debe ser de confianza: Si crees que sus anuncios siempre serán aceptables. Por ejemplo, puede "confiar" en la red A para ejecutar anuncios de calidad, de modo que pueda mitigar la necesidad de auditar cada una de sus creatividades.
- Una marca debe ser de confianza: Si crees que los anuncios de esta marca casi siempre serán aceptables. Sin embargo, siempre tendrá la capacidad de prohibir una creatividad específica incluso si forma parte de una marca de "confianza". Si la creatividad específica no está prohibida, se ejecutará de forma predeterminada.
- Se debe prohibir una marca: Si crees que los anuncios de esta marca nunca serán aceptables. Seguirá teniendo la capacidad de aprobar una creatividad específica asignada a una marca "prohibida", a menos que el miembro esté prohibido.
- El perfil predeterminado (en blanco o id. establecido
0
en ) prohibirá los anuncios no auditados de otros miembros (es decir, donde elmember_id
de la creatividad es diferentemember_id
al de TinyTag).
Nota:
Una marca puede tener una marca primaria, como una forma de recopilar marcas por empresa matriz o compañía secundaria. Si un vendedor bloquea o aprueba una marca primaria, todas las marcas secundarias sin una configuración de bloque o aprobación *explícita* coincidirán con la configuración de marca primaria.
API de REST
Http (método) | Endpoint | Description |
---|---|---|
GET |
https://api.appnexus.com/ad-profile | Ver todos los perfiles de anuncio de un miembro. |
GET |
https://api.appnexus.com/ad-profile?id=AD_PROFILE_ID | Ver un perfil de anuncio determinado. |
GET |
https://api.appnexus.com/ad-profile?publisher_id=PUBLISHER_ID | Ver todos los perfiles de anuncio de un publicador específico. |
POST |
https://api.appnexus.com/ad-profile ( ad_profile JSON) |
Agregue un nuevo perfil de anuncio en el nivel de miembro. |
POST |
https://api.appnexus.com/ad-profile?publisher_id=PUBLISHER_ID ( ad_profile JSON) |
Agregue un nuevo perfil de anuncio en el nivel de publicador. |
PUT |
https://api.appnexus.com/ad-profile?id=AD_PROFILE_ID ( ad_profile JSON) |
Modifique un perfil de anuncio existente. |
DELETE |
https://api.appnexus.com/ad-profile?id=AD_PROFILE_ID | Elimine un perfil de anuncio existente. |
GET |
https://api.appnexus.com/ad-profile?sort=description | Ordenar los perfiles de anuncio alfabéticamente por descripción. |
GET |
https://api.appnexus.com/ad-profile?search=text_of_description | Busque un perfil de anuncio según su descripción. |
Campos JSON
Fields | Tipo | Descripción |
---|---|---|
id |
Entero | Identificador Xandr asignado por la API para hacer referencia a este ad_profile .Obligatorio On: PUT , en la cadena de consulta. |
state |
enumeración | Estado del perfil de anuncio. Valores posibles: "active" o "inactive" .Predeterminado: "active" |
member_id |
Entero | Identificador de miembro propietario de este ad_profile . |
description |
string | Descripción opcional. |
default_member_status |
enumeración | Estado de miembro que se va a usar de forma predeterminada cuando no se realiza ninguna selección explícita. Posibles valores: - "case-by-case" : las creatividades de este miembro deben pasar todos los filtros de marca, idioma, atributo técnico, categoría y servidor de anuncios definidos en el perfil de anuncio.- "banned" : no se permite que ninguno de los creativos de este miembro sirva. |
default_brand_status |
enumeración | Estado de marca que se usará de forma predeterminada cuando no se realice ninguna selección explícita. Valores posibles: "trusted" o "banned" . |
default_language_status |
enumeración | Estado del idioma que se va a usar de forma predeterminada cuando no se realiza ninguna selección explícita. Valores posibles: "trusted" o "banned" . |
default_ad_server_status |
enumeración | Estado del servidor de anuncios que se usará de forma predeterminada cuando no se realice ninguna selección explícita. Valores posibles: "trusted" o "banned" . |
default_category_status |
enumeración | Estado de categoría que se va a usar de forma predeterminada cuando no se realiza ninguna selección explícita. Valores posibles: "trusted" o "banned" . |
default_technical_attribute_status |
enumeración | Estado del atributo técnico que se va a usar de forma predeterminada cuando no se realiza ninguna selección explícita. Valores posibles: "trusted" o "banned" . |
default_audit_type |
enumeración | Estado de auditoría que se va a usar de forma predeterminada cuando no se realiza ninguna selección explícita. Posibles valores: - "platform" : los creativos deben haberse sometido a la auditoría de la plataforma Xandr.- "platform_or_self" : el miembro debe haber auto auditado las creatividades o haber sido sometidas a la auditoría Xandr. |
members |
matriz de objetos | Matriz de miembros con su estado. Para obtener más información, consulte Miembros a continuación. |
brands |
matriz de objetos | Matriz de marcas (marcas primarias y marcas secundarias) con su estado. Para obtener más información, consulte Marcas a continuación. |
creatives |
matriz de objetos | Matriz de creatividades con su estado. Para obtener más detalles, consulte Creatives a continuación. |
languages |
matriz de objetos | Matriz de idiomas con su estado. Para obtener más información, consulte Idiomas a continuación. |
ad_servers |
matriz de objetos | Matriz de servidores de anuncios con su estado. Para obtener más información, consulte Servidores de anuncios a continuación. |
categories |
matriz de objetos | Matriz de categorías con su estado. Para obtener más información, vea Categorías a continuación. |
technical_attributes |
matriz de objetos | Matriz de atributos técnicos con su estado. Para obtener más información, consulte Atributos técnicos a continuación. |
frequency_caps |
matriz de objetos | Matriz de límites de frecuencia/recencia. Para obtener más información, vea Límites de frecuencia a continuación. |
total_creative_count |
Entero | Número de creatividades. |
approved_creative_count |
Entero | Número de creatividades aprobadas. |
banned_creative_count |
Entero | Número de creativos prohibidos. |
creatives_approved_percent |
double | Porcentaje de creatividades totales aprobadas. |
creatives_unreviewed |
Entero | Número de creatividades pendientes de revisión. |
brands_unreviewed |
Entero | Número de marcas pendientes de revisión. |
exclude_unaudited |
booleano | Si se excluyen o no las creatividades que no se han auditado. |
exclude_unaudited_direct |
booleano | Si se excluyen o no los creativos que no se han auditado para anunciantes directos. |
audit_type_direct |
string | Especifica el tipo de auditoría necesaria para servir a los creativos para anunciantes directos. Valores permitidos: - "platform" : los creativos deben someterse a la auditoría de la plataforma Xandr.- "platform_or_self" : los creativos deben ser auto auditados por el miembro o someterse a una auditoría Xandr. |
check_attributes_direct |
booleano | Determina si las creatividades con atributos técnicos pueden o no ejecutarse para anunciantes directos. |
excluded_landing_page_urls |
matriz de direcciones URL | No disponible. Las prohibiciones de exclusiones competitivas deben aplicarse a través de exclusiones de marca. |
notes |
string | Notas opcionales. |
publisher_id |
Entero | Identificador del publicador que se va a asociar al perfil de anuncio. |
last_modified |
Timestamp | Solo lectura. Marca de tiempo de la última modificación de este perfil de anuncio. |
require_seller_audit_default |
booleano | Si se requiere o no la auditoría de vendedores. Valor predeterminado: false |
Members
Campo | Tipo | Descripción |
---|---|---|
id |
Entero | Identificador del miembro. |
status |
enumeración | Si el miembro puede o no ejecutar creatividades en las páginas de los publicadores. Valores permitidos: - "trusted" : cualquiera de los creativos de este miembro puede servir.- "case-by-case" : las creatividades de este miembro deben pasar todo el filtrado de marca, idioma, atributo técnico, categoría y servidor de anuncios definido en el perfil de anuncio.- "banned" : no se permite que ninguno de los creativos de este miembro sirva. |
audit_type |
enumeración | El tipo de auditoría que necesitará para atender a los creativos de este miembro. Valores permitidos: - "platform" : las creatividades deben haberse sometido a la auditoría de la plataforma Xandr.- "platform_or_self" : el miembro debe haber auto auditado las creatividades o haber sido sometidas a la auditoría Xandr. |
exclude_unaudited |
booleano | Si true es , las creatividades no auditadas se excluyen de este miembro. |
require_seller_audit_status |
enumeración | Si el miembro puede requerir su propia auditoría para creativos de un comprador determinado: - "always" : este miembro siempre puede requerir la auditoría de las creatividades de un comprador determinado.- "never" : este miembro nunca puede requerir la auditoría de las creatividades de un comprador determinado.- "case-by-case" : vuelva a para obtener el ad_profile.require_seller_audit_default estado requerido de la auditoría. |
Sugerencia
La combinación de los campos Miembro status
, audit_type
y exclude_unaudited
determina el nivel de confianza del comprador que se muestra en el perfil De calidad de anuncios de red.
status |
audit_type |
exclude_unaudited |
Nivel de confianza en la interfaz de usuario |
---|---|---|---|
banned |
N/D | N/D | Proscrito |
case-by-case |
platform |
true |
Estándar |
case-by-case |
platform_or_self |
true |
Mediano |
trusted |
platform |
true |
Alto |
trusted |
platform |
false |
Maximum |
Marcas
Campo | Tipo | Descripción |
---|---|---|
id |
Entero | Identificador de la marca. Puede usar brand service para recuperar identificadores de marca. |
status |
enumeración | Si las creatividades de esta marca pueden o no ejecutarse en las páginas de los editores. Valores posibles: "trusted" o "banned" .Nota: Si una marca está marcada como Apta, las creatividades asociadas a esta marca servirán incluso si la categoría de la marca está prohibida. Por ejemplo, si marca la marca "1 y 1 Internet (17310)" como Elegible, servirá aunque prohíba su categoría general, "Telecomunicaciones (27)". |
parent_brand_id |
Entero | Cuando una marca tiene una marca primaria, el valor predeterminado se establece en null . |
Creativos
Campo | Tipo | Descripción |
---|---|---|
id |
Entero | Identificador de la creatividad. Puede usar Creative Service para recuperar identificadores creativos. |
approved |
booleano | Si true es , el creativo puede ejecutarse en las páginas de los editores. |
Idiomas
Campo | Tipo | Descripción |
---|---|---|
id |
Entero | Identificador del idioma. Puede usar language service para recuperar identificadores de idioma. |
status |
enumeración | Si las creatividades de este lenguaje pueden o no ejecutar creatividades en las páginas de los editores. Valores posibles: "trusted" o "banned" . |
Servidores de anuncios
Campo | Tipo | Descripción |
---|---|---|
id |
Entero | Identificador del servidor de anuncios. Puede usar el servicio ad server para recuperar identificadores de servidor de anuncios. |
status |
enumeración | Si el servidor de anuncios puede o no ejecutar creatividades en las páginas de los publicadores. Valores posibles: "trusted" o "banned" . |
Categories
Campo | Tipo | Descripción |
---|---|---|
id |
Entero | Identificador de la categoría. Puede usar el servicio category para recuperar identificadores de categoría. |
status |
enumeración | Si las creatividades con esta categoría pueden o no ejecutarse en las páginas de los publicadores. Valores posibles: "trusted" o "banned" . |
Atributos técnicos
Campo | Tipo | Descripción |
---|---|---|
id |
Entero | Identificador del atributo técnico. Puede usar el Servicio de atributos técnicos para recuperar identificadores de atributo técnico. |
status |
enumeración | Si las creatividades con este atributo técnico pueden o no ejecutarse en las páginas de los publicadores. Valores posibles: "trusted" o "banned" . |
Límites de frecuencia
Campo | Tipo | Descripción |
---|---|---|
id |
Entero | Solo lectura. Identificador de la definición de límite de frecuencia. |
member_id |
Entero | Solo lectura. Identificador del miembro propietario del perfil de anuncio. |
max_session_imps |
Entero | Número máximo de impresiones por persona por sesión para creativos con el especificado technical_attributes o categories . Si se establece, este valor debe estar entre 0 y 255 . |
max_day_imps |
Entero | Número máximo de impresiones por persona y día para creativos con el especificado technical_attributes o categories . Si se establece, este valor debe estar entre 0 y 255 . |
min_minutes_per_imp |
Entero | Número mínimo de minutos entre impresiones por usuario para las creatividades con el especificado technical_attributes o categories . |
cap_users_without_cookie |
booleano | Si true es , los usuarios sin cookies nunca se mostrarán creativos con el especificado technical_attributes o categories . Se tratarán como si hubieran alcanzado el límite de frecuencia.Si false es , no hay límite de frecuencia para el específico technical_attributes o categories se aplicará a los usuarios sin cookies. Será posible que vean un número ilimitado de creatividades con el especificado technical_attributes o categories . |
technical_attributes |
matriz | Identificadores de los atributos técnicos que está limitando. Puede usar el Servicio de atributos técnicos para obtener una lista completa de atributos técnicos. Los technical_attributes campos y categories tienen una relación OR. |
categories |
matriz | Los identificadores de las categorías que está limitando. Puede usar el servicio category para obtener una lista completa de categorías. Los technical_attributes campos y categories tienen una relación OR. |
Ejemplos
Advertencia
Anexar en PUT
Sobrescribirá los datos existentes con el contenido de PUT
la solicitud a menos que agregue los parámetros append=true
de cadena de consulta a la solicitud. Para obtener más información, consulte Semántica de API y el ejemplo Actualización de un perfil de anuncio existente a continuación.
Creación de un nuevo perfil de anuncio
Se trata de un perfil bastante complejo. A continuación, hemos usado el cat
comando para generar un ejemplo de archivo JSON de perfil de anuncio.
$ cat ad_profile
{
"ad-profile": {
"description": "Network Level ad profile",
"member_id": 326,
"brands": [
{
"id": "168",
"status": "banned"
},
{
"id": "255",
"status": "banned"
},
{
"id": "1072",
"status": "trusted"
},
{
"id": "1090",
"status": "trusted"
}
],
"creatives": [
{
"id": "5",
"approved": true
}
],
"notes": "This is a great ad profile",
"default_language_status": "banned",
"default_ad_server_status": "trusted",
"default_category_status": "trusted",
"default_technical_attribute_status": "trusted",
"excluded_landing_page_urls": ["https://www.netflix.com","https://www.blockbuster.com"],
"languages": [
{
"id": 1,
"status": "trusted"
}
],
"ad_servers": null,
"categories": [
{
"id": 41,
"status": "banned"
},
{
"id": 43,
"status": "trusted"
}
]
}
}
Actualización de un perfil de anuncio existente
Dado el JSON del perfil de anuncio en el primer ejemplo, supongamos que desea actualizar la categories
matriz para incluir otro elemento. En un caso de uso real, puede haber 47 categorías en la matriz. La semántica de PUT
significa que para agregar otra categoría a la matriz, deberá pasar las 47 categorías existentes más la nueva.
Para evitar este trabajo adicional, agregue los parámetros append=true
de cadena de consulta a la solicitud, como se muestra en el ejemplo siguiente. Por motivos de compatibilidad con versiones anteriores, los parámetros append_only=true
también funcionarán.
$ cat ad-profile-update.json
{
"ad-profiles":
[
{
"id": 984276,
"categories" : [
{
"id" : 42,
"status" : "banned"
}
]
}
]
}
$ curl -b cookies -X PUT -d '@/tmp/ad-profile-update.json' \
'https://api.appnexus.com/ad-profile?id=984276&member_id=1282&append=true'
{
"response" : {
"id" : 984276,
"ad-profile" : {
"id" : 984276,
"description" : "Rich's Crazy Reseller - Network Ad Profile",
"categories" : [
{
"id" : 41,
"status" : "banned"
},
{
"id" : 42,
"status" : "banned"
},
{
"id" : 43,
"status" : "trusted"
}
],
// many other fields...
"default_category_status" : "trusted"
},
"status" : "OK",
"count" : 1,
"start_element" : 0,
"num_elements" : 100,
}
}
Adición de un perfil de anuncio al miembro
$ curl -b cookies -c cookies -X POST -d @ad_profile "https://api.appnexus.com/ad-profile"
{
"response": {
"status": "OK",
"id": "1317"
}
}
Visualización de un perfil de anuncio
$ curl -b cookies -c cookies "https://api.appnexus.com/ad-profile?id=1317"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 1317,
"state": "active",
"description": "Network Level ad profile",
"member_id": 326,
"default_brand_status": "trusted",
"members": null,
"brands": [
{
"id": "168",
"status": "banned"
},
{
"id": "255",
"status": "banned"
},
{
"id": "1072",
"status": "trusted"
},
{
"id": "1090",
"status": "trusted"
}
],
"creatives": [
{
"id": "5",
"approved": true
}
],
"total_creative_count": 8369,
"approved_creative_count": 1,
"banned_creative_count": 8368,
"creatives_approved_percent": 0.011948858883977,
"creatives_unreviewed": 8367,
"brands_unreviewed": null,
"exclude_unaudited": true,
"exclude_unaudited_direct": false,
"notes": "This is a great ad profile.",
"publisher_id": null,
"last_modified": "2010-07-23 16:15:49",
"default_language_status": "banned",
"default_ad_server_status": "trusted",
"default_category_status": "trusted",
"excluded_landing_page_urls": ["https://www.netflix.com","https://www.blockbuster.com"],
"default_technical_attribute_status": "trusted",
"languages": [
{
"id": 1,
"status": "trusted"
}
],
"ad_servers": null,
"categories": [
{
"id": 41,
"status": "banned"
},
{
"id": 43,
"status": "trusted"
}
],
"technical_attributes": null
}
}
}
Ejemplos de límite de frecuencia de atributos creativos
Adición de una regla de límite de frecuencia a un perfil de anuncio
El {{"frequency_caps"}}
campo será {{null}}
al principio:
$ curl -b cookies -c cookies -X GET "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 199943,
"state": "active",
"description": null,
"member_id": 941,
...
"frequency_caps": null
}
}
Adición de una regla de límite de frecuencia
$ cat add_freq_cap_rule.json
{
"ad-profile": {
"id": 199943,
"frequency_caps": [
{
"max_day_imps": 5,
"min_minutes_per_imp": 120,
"technical_attributes": [ {"id":4},{"id":6} ],
"categories": [ {"id":59},{"id":37} ]
}
]
}
}
$ curl -b cookies -c cookies -X PUT --data-binary @add_freq_cap_rule.json "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"id": "199943"
}
}
El perfil de anuncio ahora tendrá la regla de límite de frecuencia
$ curl -b cookies -c cookies -X GET "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 199943,
"state": "active",
"description": null,
"member_id": 941,
...
"frequency_caps": [
{
"id": 64,
"max_session_imps": null,
"max_day_imps": 5,
"min_minutes_per_imp": 120,
"member_id": 941,
"technical_attributes": [
{
"id": 4,
"name": "Video"
},
{
"id": 6,
"name": "Expandable"
}
],
"categories": [
{
"id": 37,
"name": "Politics"
},
{
"id": 59,
"name": "Get Rich Quick"
}
]
}
]
...
Modificación de una regla de límite de frecuencia
Use el {{PUT}}
comando en el {{ad-profile}}
servicio. El identificador del límite de frecuencia debe especificarse en el JSON de actualización. Si no se especifica el identificador de límite de frecuencia, se eliminará la regla existente y se creará una nueva regla.
{code}
$ cat update_freq_cap_rule.json
{
"ad-profile": {
"id": 199943,
"frequency_caps": [
{
"id": 64,
"technical_attributes": [ {"id":4} ],
"categories": [ ],
"max_day_imps": 20
}
]
}
}
$ curl -b cookies -c cookies -X PUT --data-binary @update_freq_cap_rule.json "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"id": "199943"
}
}
{code}
Compruebe el perfil de anuncio para ver la regla actualizada.
$ curl -b cookies -c cookies -X GET "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 199943,
"state": "active",
"description": null,
"member_id": 941,
...
"frequency_caps": [
{
"id": 64,
"max_session_imps": null,
"max_day_imps": 20,
"min_minutes_per_imp": 120,
"member_id": 941,
"technical_attributes": [
{
"id": 4,
"name": "Video"
}
],
"categories": null
}
]
...