Compartir a través de


Configuración del lado de la venta

La configuración de una implementación de la API de Xandr para las actividades de venta puede parecer complicada. Esta página le guiará a través del proceso de creación y configuración de objetos de venta para una configuración de API típica.

Información general

La configuración de un publicador suele implicar la realización de solicitudes a los siguientes puntos de conexión de servicio de API para crear y configurar los objetos de venta correspondientes:

Punto de conexión de API Sell-Side (objeto) Referencia detallada
https://api.appnexus.com/publisher publisher Servicio publisher
https://api.appnexus.com/site site Servicio de sitio
https://api.appnexus.com/placement placement Servicio de selección de ubicación
https://api.appnexus.com/payment-rule payment rule Servicio de regla de pago
https://api.appnexus.com/ad-profile ad profile Servicio de perfil de anuncios
https://api.appnexus.com//ad-quality-rule ad quality rule Servicio de reglas de calidad de anuncios

En esta guía se usan cURL ejemplos para todas las solicitudes. Puede usar otras herramientas de solicitud de API, por ejemplo, Postman, pero tendrá que ajustar los ejemplos en consecuencia.

Nota:

Por motivos de simplicidad, los ejemplos de configuración proporcionados no personalizan los objetos para casos de uso concretos. Consulte Sell-Side Services para obtener más información sobre la configuración disponible en cada servicio.

Requisitos previos

Antes de comenzar esta configuración, asegúrese de leer Introducción de API. Proporciona información sobre entornos de prueba, restricciones de uso, semántica de API (comandos en ejecución, filtrado, ordenación, etc.) y procedimientos recomendados.

Dependencias y orden de las operaciones

Los objetos de venta suelen tener dependencias en otros objetos de venta. Por ejemplo, al crear o actualizar una regla de pago, debe proporcionar un identificador de publicador en la POST solicitud. Pero debe crear (o ya tener acceso a) un publicador para obtener el identificador de publicador generado por el sistema que necesitará. Hay muchas otras dependencias similares entre los objetos de venta. Seguir el orden de las operaciones descrito en esta página puede facilitar la configuración y reducir el número de solicitudes que tendrá que realizar a la API.

Nota:

Una buena manera de saber si un objeto de venta tiene una dependencia con otro objeto de venta es tener en cuenta qué campos son necesarios en el JSON usado para crearlo o actualizarlo. Por ejemplo, si hay identificadores de objeto (por ejemplo, publisher_id, ad_profile_id) necesarios en una POST solicitud para crear un objeto, ese objeto depende del objeto con el identificador necesario.

En el diagrama siguiente se indican los campos del publicador utilizados, los objetos de venta creados o configurados, y los pasos de configuración necesarios para configurar una implementación simple del lado de la venta:

Nota:

El objeto de API "site" se conoce como un "grupo de selección de ubicación" cuando se crea y se configura mediante .

Diagrama en el que se muestran los campos del publicador utilizados, los objetos de venta creados o configurados, y los pasos de configuración para la implementación del lado de la venta.

Procedimientos recomendados

Para obtener una lista general de los procedimientos recomendados que se deben seguir al trabajar con la API, consulte Procedimientos recomendados de API. A continuación se muestran algunos procedimientos recomendados que son específicos de la configuración de la API de venta:

  • Use un sitio predeterminado y una ubicación predeterminada. Aunque puede crear un publicador sin un sitio predeterminado y una ubicación predeterminada (consulte Servicio de publicador para obtener más información), normalmente querrá que un sitio predeterminado y una ubicación predeterminada proporcionen un "catchall" para posibles configuraciones incorrectas de destino.
  • Establezca reglas de calidad de anuncios en el publicador. Si no hay reglas de calidad de anuncios asignadas al publicador, el perfil de anuncio predeterminado del publicador se aplica automáticamente. Si no hay ningún perfil de anuncio predeterminado del publicador, se aplica el perfil de anuncio de red. Establecer reglas de calidad de anuncios en el publicador proporciona al publicador más control sobre los tipos de anuncios que se ofrecen en el inventario del publicador.
  • Asigne el identificador de regla de calidad del anuncio base del publicador. La regla de calidad del anuncio base de un publicador actúa como "catchall" y se aplica en dos situaciones:
    • Si no hay ninguna regla de calidad de anuncios condicional definida.
    • Si ninguna de las reglas de calidad de anuncios condicionales definidas coincide con la impresión actual.
  • Establezca el state campo del publicador en hasta que "inactive" el publicador esté totalmente configurado y listo para las pruebas.
  • Tenga en cuenta el identificador de los objetos que cree. Los identificadores de objetos creados se devuelven en el cuerpo de respuesta de las solicitudes. A menudo necesitará estos identificadores más adelante, por lo que copiarlos cuando se devuelvan puede reducir el número de solicitudes adicionales GET que tiene que realizar para obtenerlos.

Procedimiento de instalación

Los pasos siguientes le guiarán a través del proceso de configuración de un publicador con configuraciones típicas:

  1. Create un publicador con el sitio predeterminado y la ubicación predeterminada.
  2. Actualice el sitio predeterminado.
  3. Actualice la ubicación predeterminada.
  4. Create un nuevo sitio.
  5. Create una nueva ubicación.
  6. Actualice la regla de pago base.
  7. Create un perfil de anuncio.
  8. Create una regla de calidad de anuncios.
  9. Actualice el identificador base de la regla de calidad del anuncio.

Autenticación

En primer lugar, tendrá que obtener un token de autorización. A continuación, debe incluir este token de autorización en todas las solicitudes posteriores (consulte Servicio de autenticación para obtener más información). Para obtener un token de autorización, haga lo siguiente:

  1. Create un archivo JSON que contenga el nombre de usuario y la contraseña.

    {
        "auth": {
            "username" : "USERNAME",
            "password" : "PASSWORD"
        }
    }
    
  2. Realice una POST solicitud al punto de /auth conexión con este archivo JSON en el cuerpo de la solicitud (consulte Servicio de autenticación para obtener más información). En la cURL solicitud siguiente, el token de autorización devuelto se almacena en el archivo "cookies".

    curl -c cookies -X POST -d @authentication.json 'https://api.appnexus.com/auth'
    
  3. Compruebe el cuerpo de la respuesta de la solicitud (consulte Ejemplo de respuesta a continuación). Si la solicitud se realizó correctamente, obtendrá una "status" de "OK" y el "token" campo se rellenará con el valor del token de autenticación.  

    Ejemplo de respuesta

    {
       "response" : {
          "token" : "authn:225692:2d787d1838283:lax1",
          "status" : "OK"      
       }
    }
    

Publisher

Paso 1: Creación de un publicador

Hay dos opciones para crear un publicador (consulte Servicio de publicador para obtener más información):

  • Create un publicador con un sitio predeterminado y una ubicación predeterminada.
  • Create un publicador sin un sitio predeterminado o una ubicación predeterminada.

Es un procedimiento recomendado para que los publicadores tengan un sitio predeterminado y una ubicación predeterminada, por lo que esa es la opción en la que nos centraremos en esta guía de configuración. Un sitio predeterminado y una ubicación predeterminada pueden proporcionar un "catchall" si el destino está mal configurado y pueden ayudar a resolver discrepancias.

Para crear un publicador con un sitio predeterminado y una ubicación predeterminada, haga lo siguiente:

  1. Create un archivo JSON con los campos necesarios para un publicador (consulte Servicio de publicador para obtener más información).

    Nota:

    Reemplace los marcadores de posición (por ejemplo, "PUBLISHER_NAME") en el ejemplo JSON siguiente por sus propios valores.

    Dado que el inventory_relationship campo es necesario, lo hemos establecido en "direct", (pero se puede establecer en otros valores). También hemos establecido state en "inactive" por ahora. Dado que no proporcionamos los demás campos de publicador en nuestra solicitud, se establecerán en sus valores predeterminados y se mostrarán en el cuerpo de la respuesta.

    {
            "publisher": {
                    "name": "PUBLISHER_NAME",
                    "inventory_relationship": "direct",
                    "billing_dba": "PUBLISHER_DBA",
                    "billing_address1": "PUBLISHER_ADDRESS",
                    "billing_city": "PUBLISHER_CITY",
                    "billing_state": "PUBLISHER_STATE",
                    "billing_zip": "PUBLISHER_ZIP",
                    "billing_country": "PUBLISHER_COUNTRY",
                    "contact": {
                            "phone": "CONTACT_PHONE",
                            "email": "CONTACT_EMAIL",
                            "name": "CONTACT_NAME"
                    }
            }
    }
    
  2. Realice una POST solicitud al punto de /publisher conexión con este archivo JSON en el cuerpo de la solicitud.

    curl -b cookies -X POST -d @Publisher.json 'https://api.appnexus.com/publisher'
    
  3. Compruebe el cuerpo de la respuesta de la solicitud (consulte Ejemplo de respuesta a continuación). Si la solicitud se realizó correctamente, obtendrá un "status" valor de y un identificador de publicador ("id"en el "publisher" objeto) devuelto en el cuerpo de "OK" la respuesta. Observe que los default_site_idcampos , default_placement_idy base_payment_rule_id se rellenan (junto con muchos otros campos). Copie los valores del publisher identificador, default_site_id, default_placement_idy base_payment_rule_id para su uso posterior.

    Ejemplo de respuesta

    {
       "response" : {
          "status" : "OK",
          "id" : "1256104",
          "start_element" : 0,
          "num_elements" : 100,
          "publisher" : {
             "contact" : {
                "phone" : "CONTACT_PHONE_NUMBER",
                "name" : "CONTACT_NAME",
                "email" : "CONTACT_EMAIL",
                "id" : 931326
             },
             "billing_zip" : "BILLING_ZIP",
             "allow_cpc_external" : false,
             "allow_report_on_default_imps" : false,
             "platform_ops_notes" : null,
             "inventory_relationship" : "direct",
             "billing_state" : "BILLING_STATE",
             "publisher_brand_exceptions" : null,
             "allow_cpm_external" : true,
             "default_site_id" : 3758012,
             "billing_dba" : "BILLING_DBA_NAME",
             "accept_data_provider_usersync" : null,
             "allow_cpc_managed" : true,
             "default_placement_id" : 13814496,
             "description" : "",
             "expose_domains" : true,
             "base_payment_rule_id" : 1579248,
             "default_ad_profile_id" : null,
             "name" : "PUBLISHER_NAME",
             "reselling_exposure" : "private",
             "code" : null,
             "is_oo" : false,
             "pitbull_segment_id" : 0,
             "learn_bypass_cpm" : 5,
             "managed_cpa_bias_pct" : 100,
             "billing_address2" : null,
             "max_learn_pct" : 0,
             "cpc_reselling_disabled" : false,
             "last_modified" : "2018-08-10 18:05:08",
             "billing_city" : "BILLING_CITY",
             "pitbull_segment_value" : 0,
             "base_ad_quality_rule_id" : null,
             "billing_country" : "BILLING_COUNTRY",
             "id" : 1256104,
             "inventory_source_name" : null,
             "disclosure_status" : "disclosed_pending",
             "seller_page_cap_enabled" : false,
             "currency" : "USD",
             "external_cpc_bias_pct" : 100,
             "billing_address1" : "BILLING_ADDRESS",
             "allow_cpa_managed" : true,
             "external_inv_codes" : null,
             "reselling_exposed_on" : "1970-01-01 00:00:01",
             "allow_cpa_external" : false,
             "cpm_reselling_disabled" : false,
             "billing_internal_user" : null,
             "allow_cpm_managed" : true,
             "labels" : null,
             "inventory_source" : null,
             "reselling_name" : null,
             "visibility_profile_id" : null,
             "ym_profile_id" : null,
             "contact_info" : null,
             "use_anx_auction_logic" : false,
             "ad_quality_advanced_mode_enabled" : true,
             "accept_demand_partner_usersync" : null,
             "state" : "inactive",
             "placements" : [
                {
                   "id" : 13814496,
                   "code" : null
                }
             ],
             "is_rtb" : false,
             "accept_supply_partner_usersync" : null,
             "timezone" : "CET",
             "enable_cookie_tracking_default" : true,
             "managed_cpc_bias_pct" : 100,
             "external_cpa_bias_pct" : 100
          },
          "count" : 1
       }
    } 
    

Paso 2: Actualizar el sitio predeterminado

Se creó un sitio predeterminado al crear el publicador en Creación de un publicador anterior. Aunque este sitio predeterminado no necesita configuración adicional para funcionar, puede actualizar algunos campos si es necesario. Para actualizar el sitio predeterminado, haga lo siguiente:

Sugerencia

El objeto de API "site" se conoce como un "grupo de selección de ubicación" cuando se crea y se configura mediante .

  1. Create un archivo JSON que contiene los campos del sitio predeterminado que desea actualizar (consulte Servicio de sitio para obtener más información). En este ejemplo, estamos actualizando la content_categories matriz.

    {
            "site": {
                    "content_categories": [{
                                    "id": 8,
                                    "name": "Business & Industry",
                                    "is_system": true
                            },
                            {
                                    "name": "Arts & Entertainment",
                                    "id": 10,
                                    "is_system": true
                            },
                            {
                                    "is_system": true,
                                    "id": 29,
                                    "name": "Sports"
                            }
                    ]
            }
    }
    
  2. Realice una PUT solicitud al punto de /site conexión con este archivo JSON en el cuerpo de la solicitud. Deberá indicar el identificador de sitio del sitio predeterminado que va a actualizar en la cadena de consulta de la solicitud.

    Sugerencia

    Si copió el identificador de sitio predeterminado en Creación de un publicador anterior, puede usarlo. De lo contrario, puede obtener el identificador de sitio predeterminado si realiza una GET solicitud al /publisher punto de conexión mediante el identificador de publicador del publicador que tiene el sitio predeterminado que desea actualizar (consulte Servicio de publicador para obtener más información).

    curl -b cookies -X PUT -d @DefaultSiteUpdate.json 'https://api.appnexus.com/site?id=DEFAULT_SITE_ID'
    
  3. Compruebe el cuerpo de la respuesta de la solicitud (consulte la respuesta de ejemplo a continuación). Si la solicitud se realizó correctamente, obtendrá una "status" de "OK" y verá las actualizaciones que realizó.

    Ejemplo de respuesta

    {
       "response" : {
          "site" : {
             "url" : "",
             "publisher_name" : "PUBLISHER_NAME",
             "creative_format_action" : "exclude",
             "code" : null,
             "managed_optimization_zone_id" : "262",
             "audited" : false,
             "intended_audience" : null,
             "content_categories" : [
                {
                   "name" : "Business & Industry",
                   "is_system" : true,
                   "id" : 8
                },
                {
                   "name" : "Arts & Entertainment",
                   "is_system" : true,
                   "id" : 10
                },
                {
                   "name" : "Sports",
                   "is_system" : true,
                   "id" : 29
                }
             ],
             "marketplace_map" : {
                "rtb" : true,
                "an_audit_perf_only" : false,
                "rtb_suspended" : false,
                "deals_suspended" : false,
                "deals_allowed" : true,
                "performance" : false
             },
             "creative_formats" : null,
             "name" : "[DEFAULT_SITE_NAME] - ROS",
             "id" : 3731466,
             "mobile_app_instance" : null,
             "allowed_click_actions" : null,
             "last_modified" : "2018-08-17 23:44:07",
             "inventory_attributes" : null,
             "primary_content_category_id" : null,
             "state" : "active",
             "publisher_id" : 1240580,
             "rtb_optimization_zone_id" : null,
             "supply_type" : "web",
             "placements" : [
                {
                   "code" : null,
                   "id" : 13741957
                }
             ]
          },
          "id" : "3731466",
          "start_element" : 0,
          "count" : 1,
          "status" : "OK",      
          "num_elements" : 100
       }
    }
    

Paso 3: Actualizar la ubicación predeterminada

Se creó una ubicación predeterminada al crear el publicador en Creación de un publicador anterior. Aunque esta ubicación predeterminada no necesita una configuración adicional para funcionar, puede actualizar algunos campos si es necesario. Para actualizar la ubicación predeterminada, haga lo siguiente:

  1. Create un archivo JSON que contiene los campos de la ubicación predeterminada que desea actualizar (consulte Servicio de selección de ubicación para obtener más información). En este ejemplo, estamos actualizando el default_position campo de la ubicación predeterminada.

     {
          "placement" : 
             {
                "default_position" : "above"
             }   
    }
    
  2. Realice una PUT solicitud al punto de /placement conexión con este archivo JSON en el cuerpo de la solicitud. Tendrá que indicar el identificador de ubicación de la ubicación predeterminada que va a actualizar en la cadena de consulta de la solicitud.

    Nota:

    Si copió el identificador de ubicación predeterminado en Creación de un publicador anterior, puede usarlo. De lo contrario, puede obtener el identificador de selección de ubicación predeterminado si realiza una GET solicitud al /publisher punto de conexión mediante el identificador de publicador del publicador que tiene la ubicación predeterminada que desea actualizar (consulte Servicio de publicador para obtener más información).

    curl -b cookies -X PUT -d @DefaultPlacementUpdate.json 'https://api.appnexus.com/placement?id=DEFAULT_PLACEMENT_ID'
    
  3. Compruebe el cuerpo de la respuesta de la solicitud (consulte la respuesta de ejemplo a continuación). Si la solicitud se realizó correctamente, obtendrá una "status" de "OK" y verá las actualizaciones que realizó.

    Ejemplo de respuesta

    {
       "response" : {      
          "start_element" : 0,
          "status" : "OK",
          "id" : "13741957",
          "num_elements" : 100,
          "placement" : {
             "private_sizes" : null,
             "publisher_id" : 1240580,
             "code3" : null,
             "width" : null,
             "ad_types" : null,
             "pixel_type" : "image",
             "acb_code" : null,
             "cost_cpm" : null,
             "inventory_attributes" : null,
             "estimated_clear_prices" : [
                {
                   "width" : 0,
                   "geo_country" : "",
                   "height" : 0,
                   "clear_price" : 1,
                   "average_price" : 0.5,
                   "verified" : true
                }
             ],
             "demand_filter_action" : "default",
             "content_categories" : null,
             "is_prohibited" : false,
             "site_name" : "[DEFAULT_SITE_NAME] - ROS",
             "code2" : null,
             "reserve_price" : null,
             "site_audit_status" : "unaudited",
             "audited" : false,
             "id" : 13741957,
             "state" : "active",
             "name" : "[PLACEMENT_NAME] - Default",
             "filtered_advertisers" : null,
             "default_creative_id" : null,
             "pop_values" : null,
             "exclusive" : false,
             "toolbar" : null,
             "default_creatives" : null,
             "enable_for_mediation" : false,
             "mime_types" : null,
             "segments" : null,
             "visibility_profile_id" : null,
             "pixel_url_secure" : null,
             "default_calculation_type" : "gross",
             "code" : null,
             "default_position" : "above",
             "filtered_campaigns" : null,
             "filtered_line_items" : null,
             "supported_mime_types_action_include" : false,
             "supported_media_subtypes" : null,
             "ad_profile_id" : null,
             "content_retrieval_timeout_ms" : 0,
             "audit_level" : "site",
             "tag_data" : null,
             "use_detected_domain" : true,
             "is_resizable" : false,
             "vendor_id" : null,
             "intended_audience" : null,
             "hide_referer" : false,
             "supported_media_types" : [
                {
                   "id" : 1,
                   "name" : "Banner",
                   "is_private" : false
                }
             ],
             "default_referrer_url" : null,
             "floor_application_target" : "all",
             "pixel_url" : null,
             "site_id" : 3731466,
             "publisher_name" : "PUBLISHER_NAME",
             "media_subtypes" : null,
             "video" : null,
             "last_modified" : "2018-08-20 17:17:42",
             "height" : null,
             "is_prebid_enabled" : false,
             "buy_it_now_price" : 0
          },
          "count" : 1
       }
    }
    

Paso 4: Creación de un nuevo sitio

Aunque se creó un sitio predeterminado al crear el publicador en Creación de un publicador anterior, normalmente se usa como "catchall" para establecer como destino configuraciones incorrectas y normalmente solo contiene la ubicación predeterminada. Dado que querrá agregar una nueva ubicación al publicador, primero debe crear un nuevo sitio para contener las ubicaciones nuevas. Para crear un nuevo sitio, haga lo siguiente:

  1. Create un archivo JSON que contiene los campos del nuevo sitio (consulte Servicio de sitio para obtener más información). En este ejemplo, se incluyen los campos de la content_categories matriz junto con los campos necesarios.

    {
       "site" : {
                "name" : "NEW_SITE_NAME",
                "rtb" : true,
                "content_categories" : [
                   {
                      "id" : 8,
                      "name" : "Business & Industry",
                      "is_system" : true
                   },
                   {
                      "name" : "Arts & Entertainment",
                      "id" : 10,
                      "is_system" : true
                   },
                   {
                      "is_system" : true,
                      "id" : 29,
                      "name" : "Sports"
                   }
                ]
       }
    } 
    
  2. Realice una POST solicitud al punto de /site conexión con este archivo JSON en el cuerpo de la solicitud. Tendrá que indicar el publisher_id del publicador al que va a agregar el sitio en la cadena de consulta de la solicitud.

    Sugerencia

    Si copió el identificador del publicador en Creación de un publicador anterior, puede usarlo.

    curl -b cookies -X POST -d @NewSite.json 'https://api.appnexus.com/site publisher_id=PUBLISHER_ID'
    
  3. Compruebe el cuerpo de la respuesta de la solicitud (consulte la respuesta de ejemplo a continuación). Si la solicitud se realizó correctamente, obtendrá una "status" de "OK" y verá los campos del nuevo sitio. Copie el identificador de sitio para que esté disponible al agregar una ubicación al nuevo sitio.

    Ejemplo de respuesta

     {
       "response" : {
          "status" : "OK",
          "start_element" : 0,
          "id" : 3804119,
          "num_elements" : 100,
          "site" : {
             "content_categories" : [
                {
                   "id" : 8,
                   "is_system" : true,
                   "name" : "Business & Industry"
                },
                {
                   "name" : "Arts & Entertainment",
                   "is_system" : true,
                   "id" : 10
                },
                {
                   "is_system" : true,
                   "id" : 29,
                   "name" : "Sports"
                }
             ],
             "id" : 3804119,
             "creative_formats" : [
                "text"
             ],
             "mobile_app_instance" : null,
             "audited" : false,
             "rtb_optimization_zone_id" : null,
             "marketplace_map" : {
                "rtb" : true,
                "performance" : false,
                "deals_suspended" : false,
                "rtb_suspended" : false,
                "an_audit_perf_only" : false,
                "deals_allowed" : true
             },
             "supply_type" : "web",
             "code" : null,
             "creative_format_action" : "exclude",
             "inventory_attributes" : null,
             "name" : "NEW_SITE_NAME",
             "allowed_click_actions" : [
                "click-to-web"
             ],
             "intended_audience" : null,
             "publisher_id" : 1229638,
             "primary_content_category_id" : null,
             "managed_optimization_zone_id" : "262",
             "publisher_name" : "MarkD_Test05",
             "placements" : null,
             "url" : "",
             "state" : "active",
             "last_modified" : "2018-09-08 00:01:40"
          },
          "count" : 1      
       }
    }
    

Paso 5: Crear una nueva ubicación

Aunque se creó una ubicación predeterminada al crear el publicador en Creación de un publicador anterior, querrá crear una o varias ubicaciones y agregarlas al publicador para controlar la selección de destino de ubicación de anuncios. Para crear una ubicación y agregarla al publicador, haga lo siguiente:

  1. Create un archivo JSON que contiene los campos para la ubicación que desea agregar (consulte Servicio de selección de ubicación para obtener más información). En este ejemplo, hemos incluido los campos necesarios junto con información de tipo multimedia compatible.

     {
          "placement" : 
             {
                "name" : "NEW_PLACEMENT_NAME",
                "state" : "inactive",
                "supported_media_types" : [
                   {
                      "name" : "Banner",
                      "is_private" : false,
                      "id" : 1
                   }
                ]
             }   
    }
    
  2. Realice una POST solicitud al punto de /placement conexión con este archivo JSON en el cuerpo de la solicitud. Tendrá que agregar el site_id elemento del sitio al que va a agregar la ubicación en la cadena de consulta de la solicitud (consulte Servicio de selección de ubicación para obtener más información).

    Sugerencia

    Si copió el identificador de sitio en Creación de un nuevo sitio anterior, puede usarlo al agregar una ubicación. Para obtener los identificadores de sitio de un publicador, realice una solicitud GET al /site punto de conexión mediante el identificador de publicador del publicador que tiene los sitios (consulte Servicio de sitio para obtener más información).

     curl -b cookies -X POST -d @NewPlacement.json 'https://api.appnexus.com/placement?site_id=SITE_ID'
    
  3. Compruebe el cuerpo de la respuesta de la solicitud (consulte la respuesta de ejemplo a continuación). Si la solicitud se realizó correctamente, obtendrá una "status" de "OK" y verá los campos de la nueva ubicación.

    Ejemplo de respuesta

    {
       "response" : {
          "num_elements" : 100,
          "placement" : {
             "supported_mime_types_action_include" : false,
             "video" : null,
             "default_creative_id" : null,
             "private_sizes" : null,
             "code" : null,
             "height" : null,
             "audited" : false,
             "state" : "inactive",
             "filtered_line_items" : null,
             "last_modified" : "2018-08-20 22:40:09",
             "tag_data" : null,
             "content_retrieval_timeout_ms" : 0,
             "is_prebid_enabled" : false,
             "toolbar" : null,
             "pixel_url_secure" : null,
             "vendor_id" : null,
             "supported_media_types" : [
                {
                   "id" : 1,
                   "is_private" : false,
                   "name" : "Banner"
                }
             ],
             "default_position" : "unknown",
             "is_resizable" : false,
             "code3" : null,
             "filtered_advertisers" : null,
             "exclusive" : false,
             "site_id" : 3731466,
             "estimated_clear_prices" : [
                {
                   "average_price" : 0.5,
                   "verified" : true,
                   "clear_price" : 1,
                   "width" : 0,
                   "geo_country" : "",
                   "height" : 0
                }
             ],
             "name" : "NEW_PLACEMENT_NAME",
             "site_audit_status" : "unaudited",
             "site_name" : "SITE_NAME",
             "pop_values" : null,
             "media_subtypes" : null,
             "enable_for_mediation" : true,
             "supported_media_subtypes" : null,
             "segments" : null,
             "pixel_url" : null,
             "publisher_id" : 1240580,
             "pixel_type" : "image",
             "reserve_price" : null,
             "content_categories" : null,
             "audit_level" : "site",
             "mime_types" : null,
             "visibility_profile_id" : null,
             "id" : 13847262,
             "use_detected_domain" : true,
             "default_creatives" : null,
             "hide_referer" : false,
             "intended_audience" : null,
             "width" : null,
             "default_referrer_url" : null,
             "default_calculation_type" : "gross",
             "buy_it_now_price" : 0,
             "ad_profile_id" : null,
             "floor_application_target" : "all",
             "demand_filter_action" : "default",
             "filtered_campaigns" : null,
             "inventory_attributes" : null,
             "ad_types" : null,
             "cost_cpm" : null,
             "code2" : null,
             "acb_code" : null,
             "publisher_name" : "PUBLISHER_NAME",
             "is_prohibited" : false
          },
          "status" : "OK",
          "start_element" : 0,
          "id" : 13847262,
          "count" : 1      
       }
    }
    

Reglas de pago

Debe configurar la disposición financiera entre la red y el publicador. Para ello, use las reglas de pago base y condicional (consulte Servicio de reglas de pago para obtener más información).

Paso 6: Actualización de la regla de pago base

De forma predeterminada, se creó una regla de pago base al crear un publicador en Creación de un publicador anterior. Normalmente, deberá actualizar esta regla de pago base para reflejar la disposición financiera real entre la red y el publicador. Para actualizar la regla de pago base, haga lo siguiente:

  1. Create un archivo JSON que contenga los campos con las actualizaciones que desee (consulte Servicio de reglas de pago para obtener más información). En este ejemplo, estamos actualizando los pricing_type campos y cost_cpm .

    Nota:

    Los cambios en un campo pueden requerir cambios en otro campo dependiente. Por ejemplo, si cambia el valor del pricing_type campo de "revshare" a "cpm", también tendrá que actualizar el cost_cpm campo. Consulte Servicio de reglas de pago para obtener más información.

    {
        "payment-rule":{
            "pricing_type": "cpm",
            "cost_cpm": "0.4"
        }
    } 
    
  2. Realice una PUT solicitud al punto de /payment-rule conexión con este archivo JSON en el cuerpo de la solicitud. Deberá indicar el identificador de la regla de pago base y el identificador del publicador en la cadena de consulta de la solicitud.

    Nota:

    Si copió el identificador de regla de pago base y el identificador del publicador en Creación de un publicador anterior, puede usarlos. De lo contrario, puede realizar una GET solicitud al /publisher punto de conexión mediante el identificador de publicador del publicador para buscar el identificador de regla de pago base que desea actualizar (consulte Publisher Service para obtener más información).

    curl -b cookies -X PUT -d @UpdatePaymentRule.json 'https://api.appnexus.com/payment-rule?id=BASE_PAYMENT_RULE_ID&publisher_id=PUBLISHER_ID'
    
    
  3. Compruebe el cuerpo de la respuesta de la solicitud (consulte la respuesta de ejemplo a continuación). Si la solicitud se realizó correctamente, obtendrá una "status" de "OK" y verá las actualizaciones que realizó.

    Ejemplo de respuesta

    {
       "response" : {
          "id" : "1570229",
          "start_element" : 0,
          "count" : 1,
          "num_elements" : 100,      
          "status" : "OK",
          "payment-rule" : {
             "id" : 1570229,
             "target_ecpm" : null,
             "priority" : 1,
             "lifetime_budget_imps" : null,
             "start_date" : null,
             "lifetime_budget" : null,
             "filtered_advertisers" : null,
             "description" : "",
             "last_modified" : "2018-08-21 22:26:19",
             "code" : null,
             "state" : "active",
             "daily_budget_imps" : null,
             "name" : "Base Payment Rule",
             "apply_cost_on_default" : false,
             "end_date" : null,
             "pricing_type" : "cpm",
             "buyer_type" : "both",
             "profile_id" : null,
             "revshare" : 0,
             "demand_filter_action" : "default",
             "filtered_campaigns" : null,
             "cost_cpm" : 0.4,
             "daily_budget" : null,
             "max_revshare" : null,
             "timezone" : "EST5EDT",
             "filtered_line_items" : null
          }
       }
    }
    

Configuración de calidad de anuncios

Ahora puede configurar los valores de calidad del anuncio para el publicador. Un publicador recién creado usará la configuración de calidad de anuncios de red a menos que cree y configure la configuración de calidad de anuncios para el publicador. La configuración de la calidad de los anuncios permite a los editores determinar la calidad de los anuncios publicados en su inventario. Esta configuración de calidad de anuncios consta de perfiles de anuncios (consulte Servicio de perfil de anuncios para obtener más información) y reglas de calidad de anuncios base y condicionales (consulte Servicio de reglas de calidad de anuncios para obtener más información).

Las reglas de calidad de anuncios requieren un identificador de perfil de anuncio, por lo que deberás crear un perfil de anuncio (o usar uno existente) para poder crear y aplicar reglas de calidad de anuncios.

Paso 7: Crear un perfil de anuncio

Un perfil de anuncio indica la idoneidad ("trusted" o "banned") de las características de los anuncios que va a servir un publicador. Estas características de anuncio incluyen compradores, marcas, categorías, atributos técnicos, idiomas, servidores de anuncios, etc. A continuación, se aplica un perfil de anuncio mediante reglas de calidad de anuncios.

Nota:

Si no hay reglas de calidad de anuncios asignadas al publicador, el perfil de anuncio predeterminado del publicador se aplica automáticamente. Si no hay ningún perfil de anuncio predeterminado del publicador, se aplica el perfil de anuncio de red.

Para crear un perfil de anuncio, haga lo siguiente:

  1. Create un archivo JSON que contenga los campos con las actualizaciones que desee (consulte Servicio de perfil de anuncios para obtener más información). En este ejemplo, vamos a agregar información de idoneidad a las technical_attributes matrices y categorías.

     {
             "ad-profile" :  {
                "technical_attributes" : [
                   {
                      "id" : 2,
                      "status" : "banned"
                   },
                   {
                      "id" : 8,
                      "status" : "banned"
                   },
                   {
                      "status" : "banned",
                      "id" : 22
                   },
                   {
                      "status" : "banned",
                      "id" : 104
                   }
                ],
                "categories" : [
                   {
                      "id" : 37,
                      "status" : "banned"
                   },
                   {
                      "status" : "banned",
                      "id" : 109
                   },
                   {
                      "id" : 166,
                      "status" : "banned"
                   }
                ],
                "description" : "AD_PROFILE_DESCRIPTION"
             }
    }
    
  2. Realice una POST solicitud al punto de /ad-profile conexión con este archivo JSON en el cuerpo de la solicitud. Deberá indicar el publisher_id del publicador al que desea asociar el perfil de anuncio en la cadena de consulta de la solicitud.

    Nota:

    Si copió el identificador del publicador en Creación de un publicador anterior, puede usarlo.

    curl -b cookies -X POST -d @AdProfile.json 'https://api.appnexus.com/ad-profile?publisher_id=PUBLISHER_ID'
    
  3. Compruebe el cuerpo de la respuesta de la solicitud (consulte la respuesta de ejemplo a continuación). Si la solicitud se realizó correctamente, obtendrá una "status" de "OK" y verá los valores que agregó junto con otras opciones predeterminadas.

    Ejemplo de respuesta

    {
       "response" : {
          "ad-profile" : {
             "require_msft_audit" : false,
             "creatives" : null,
             "default_ad_server_status" : "trusted",
             "exclude_unaudited_direct" : false,
             "default_brand_status" : "trusted",
             "inventory_type" : "real_time",
             "excluded_landing_page_urls" : null,
             "default_category_status" : "trusted",
             "exclude_direct" : false,
             "categories" : [
                {
                   "status" : "banned",
                   "id" : 37
                },
                {
                   "status" : "banned",
                   "id" : 109
                },
                {
                   "id" : 166,
                   "status" : "banned"
                }
             ],
             "exclude_unaudited" : true,
             "member_id" : 958,
             "require_google_audit" : false,
             "check_attributes_direct" : false,
             "description" : "AD_PROFILE_DESCRIPTION",
             "last_modified" : "2018-08-24 23:37:40",
             "technical_attributes" : [
                {
                   "status" : "banned",
                   "id" : 2
                },
                {
                   "id" : 8,
                   "status" : "banned"
                },
                {
                   "id" : 22,
                   "status" : "banned"
                },
                {
                   "status" : "banned",
                   "id" : 104
                }
             ],
             "audit_type_direct" : "platform_or_self",
             "require_landing_page_url" : false,
             "require_seller_audit_default" : false,
             "id" : 1223520,
             "ad_servers" : null,
             "allow_pending_creatives_direct" : false,
             "default_member_status" : "case-by-case",
             "members" : null,
             "languages" : null,
             "state" : "active",
             "require_msft_external_audit" : false,
             "default_audit_type" : "platform",
             "default_technical_attribute_status" : "trusted",
             "brands" : null,
             "frequency_caps" : null,
             "require_appnexus_review" : false,
             "publisher_id" : 1240580,
             "notes" : null,
             "default_language_status" : "trusted"
          },
          "count" : 1,
          "start_element" : 0,
          "id" : 1223520,      
          "num_elements" : 100,
          "status" : "OK"
       }
    } 
    

Paso 8: Creación de una regla de calidad de anuncios

Aunque la configuración de la calidad de los anuncios más allá del perfil de red es opcional, se recomienda usar reglas de calidad de anuncios en el nivel de publicador, así como controlar la calidad de los anuncios. Si decide configurar la calidad de los anuncios en el nivel de publicador, debe tener una regla de calidad de anuncio base para el publicador. Esto garantizará que se apliquen al menos algunos controles de calidad de anuncios en el nivel de publicador en caso de que no se aplique ninguna de las reglas condicionales de calidad de anuncios. La regla de calidad del anuncio base es una regla de calidad de anuncios que se asigna al campo del base_ad_quality_rule_id publicador (consulte Actualización del identificador de regla de calidad de anuncio base del publicador a continuación).

Para crear una regla de calidad de anuncios, haga lo siguiente:

  1. Create un archivo JSON que contiene los campos que desea (consulte Servicio de reglas de calidad de anuncios para obtener más información). En este ejemplo, vamos a agregar el identificador del perfil de anuncio (consulte Creación de un perfil de anuncio anterior) que queremos que esta regla de calidad de anuncios use junto con el nombre y la prioridad de esta regla.

    {
          "ad-quality-rule" : {
                "name" : "New_Ad_Quality_Rule",
                "ad_profile_id" : 1223520,
                "priority" : 1
             }
    }
    
  2. Realice una POST solicitud al punto de /ad-quality-rule conexión con este archivo JSON en el cuerpo de la solicitud. Deberá indicar en la publisher_id cadena de consulta de la solicitud.

    Nota:

    Si copió el identificador del publicador en Creación de un publicador anterior, puede usarlo.

    curl -b cookies -X POST -d @AdQualityRule.json 'https://api.appnexus.com/ad-quality-rule?publisher_id=PUBLISHER_ID'
    
  3. Compruebe el cuerpo de la respuesta de la solicitud (consulte Ejemplo de respuesta a continuación). Si la solicitud se ha realizado correctamente, obtendrá una "status" de "OK" y verá los campos de la regla de calidad de anuncios que ha creado. Copie el identificador de regla de calidad del anuncio para que lo tenga al actualizar el identificador de regla de calidad de anuncio base del publicador en el paso siguiente.

    Ejemplo de respuesta

    {
       "response" : {
          "count" : 1,
          "start_element" : 0,
          "num_elements" : 100,
          "ad-quality-rule" : {
             "active" : true,
             "publisher_id" : 1240580,
             "id" : 632112,
             "member_id" : 958,
             "description" : null,
             "code" : null,
             "profile_id" : null,
             "priority" : 1,
             "name" : "New_Ad_Quality_Rule",
             "last_modified" : "2018-08-26 21:47:12",
             "ad_profile_id" : 1223520
          },
          "id" : 632112,      
          "status" : "OK"
       }
    }
    

Paso 9: Actualización del identificador de regla de calidad de anuncio base del publicador

Normalmente, querrá tener una regla de calidad de anuncios base asignada a su publicador. La regla de calidad del anuncio base actúa como una regla de calidad de anuncios "catchall" si no hay ninguna regla de calidad de anuncios condicional definida o si ninguna regla de calidad de anuncios condicional coincide con una impresión. Una vez que hayas creado una regla de calidad de anuncios que quieres usar para una regla base de calidad de anuncios, simplemente asignas el identificador de esa regla de calidad de anuncio al publicador con una PUT solicitud.

Para asignar una regla de calidad de anuncio base a un publicador, haga lo siguiente:

  1. Create un archivo JSON que contiene un valor para el base_ad_quality_rule_id campo del publicador (consulte Servicio de publicador para obtener más información). En este ejemplo, vamos a agregar el identificador de la regla de calidad de anuncios que creamos anteriormente en Creación de una regla de calidad de anuncios .

    Sugerencia

    Si copió el identificador de regla de calidad del anuncio en Creación de una regla de calidad de anuncios anterior, puede usarlo. De lo contrario, puede realizar una GET solicitud al /ad-quality-rule punto de conexión (consulte Ad Quality Rule Service para obtener más información) mediante el identificador de publicador que usó en Creación de una regla de calidad de anuncios anterior para encontrar el identificador de regla de calidad del anuncio.

    {
             "publisher" :  {
                "base_ad_quality_rule_id" : 632112
             }
    }
     ```
    
  2. Realice una PUT solicitud al punto de /publisher conexión con este archivo JSON en el cuerpo de la solicitud (consulte Publisher Service para obtener más información). Deberá indicar el identificador del publicador en la cadena de consulta de la solicitud.

    Sugerencia

    Si copió el identificador del publicador en Creación de un publicador anterior, puede usarlo.

    curl -b cookies -X PUT -d @PublisherBaseAdQualityRuleUpdate.json 'https://api.appnexus.com/publisher?id=PUBLISHER_ID'
        ```
    
  3. Compruebe el cuerpo de la respuesta de la solicitud (consulte la respuesta de ejemplo a continuación). Si la solicitud se realizó correctamente, obtendrá una "status" de "OK" y verá las actualizaciones que realizó.

    Ejemplo de respuesta

    {
       "response" : {
          "count" : 1,
          "status" : "OK",
          "start_element" : 0,
          "id" : "1240580",
          "publisher" : {
             "billing_address1" : "BILLING_ADDRESS",
             "managed_cpa_bias_pct" : 100,
             "inventory_source" : null,
             "external_cpc_bias_pct" : 100,
             "ym_profile_id" : null,
             "currency" : "USD",
             "allow_cpa_managed" : true,
             "inventory_source_name" : null,
             "use_anx_auction_logic" : false,
             "learn_bypass_cpm" : 5,
             "platform_ops_notes" : null,
             "contact" : {
                "phone" : "555-555-1212",
                "email" : "CONTACT_EMAIL@EMAIL.COM",
                "id" : CONTACT_ID,
                "name" : "CONTACT_NAME"
             },
             "allow_cpc_managed" : true,
             "is_rtb" : false,
             "disclosure_status" : "disclosed_pending",
             "visibility_profile_id" : null,
             "billing_dba" : "BILLING_DBA",
             "reselling_exposure" : "private",
             "managed_cpc_bias_pct" : 100,
             "default_placement_id" : 13741957,
             "labels" : null,
             "accept_supply_partner_usersync" : null,
             "expose_domains" : true,
             "reselling_name" : null,
             "billing_internal_user" : null,
             "placements" : [
                {
                   "id" : 13741957,
                   "code" : null
                },
                {
                   "id" : 13847262,
                   "code" : null
                }
             ],
             "enable_cookie_tracking_default" : true,
             "external_inv_codes" : null,
             "inventory_relationship" : "direct",
             "pitbull_segment_value" : 0,
             "default_site_id" : 3731466,
             "publisher_brand_exceptions" : null,
             "billing_address2" : null,
             "timezone" : "CET",
             "contact_info" : null,
             "last_modified" : "2018-08-26 22:33:13",
             "code" : null,
             "billing_zip" : "BILLING_ZIP",
             "billing_country" : "US",
             "reselling_exposed_on" : "1970-01-01 00:00:01",
             "is_oo" : false,
             "billing_state" : "BILLING_STATE",
             "ad_quality_advanced_mode_enabled" : true,
             "allow_cpm_external" : true,
             "pitbull_segment_id" : 0,
             "base_ad_quality_rule_id" : 632112,
             "default_ad_profile_id" : null,
             "seller_page_cap_enabled" : false,
             "description" : "",
             "allow_cpa_external" : false,
             "id" : 1240580,
             "state" : "inactive",
             "billing_city" : "Portland",
             "max_learn_pct" : 0,
             "cpc_reselling_disabled" : false,
             "allow_report_on_default_imps" : false,
             "cpm_reselling_disabled" : false,
             "base_payment_rule_id" : 1570229,
             "name" : "PUBLISHER_NAME",
             "allow_cpm_managed" : true,
             "accept_demand_partner_usersync" : null,
             "accept_data_provider_usersync" : null,
             "external_cpa_bias_pct" : 100,
             "allow_cpc_external" : false
          },      
          "num_elements" : 100
       }
    }