Compartir a través de


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 0en ) prohibirá los anuncios no auditados de otros miembros (es decir, donde el member_id de la creatividad es diferente member_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 truees , 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_typey 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 truees , 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 truees , 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 falsees , 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
        }
      ]
      ...