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 .
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:
- Create un publicador con el sitio predeterminado y la ubicación predeterminada.
- Actualice el sitio predeterminado.
- Actualice la ubicación predeterminada.
- Create un nuevo sitio.
- Create una nueva ubicación.
- Actualice la regla de pago base.
- Create un perfil de anuncio.
- Create una regla de calidad de anuncios.
- 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:
Create un archivo JSON que contenga el nombre de usuario y la contraseña.
{ "auth": { "username" : "USERNAME", "password" : "PASSWORD" } }
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 lacURL
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'
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:
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 establecidostate
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" } } }
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'
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 losdefault_site_id
campos ,default_placement_id
ybase_payment_rule_id
se rellenan (junto con muchos otros campos). Copie los valores delpublisher
identificador,default_site_id
,default_placement_id
ybase_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 .
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" } ] } }
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'
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:
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" } }
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'
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:
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" } ] } }
Realice una
POST
solicitud al punto de/site
conexión con este archivo JSON en el cuerpo de la solicitud. Tendrá que indicar elpublisher_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'
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:
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 } ] } }
Realice una
POST
solicitud al punto de/placement
conexión con este archivo JSON en el cuerpo de la solicitud. Tendrá que agregar elsite_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'
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:
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 ycost_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 elcost_cpm
campo. Consulte Servicio de reglas de pago para obtener más información.{ "payment-rule":{ "pricing_type": "cpm", "cost_cpm": "0.4" } }
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'
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:
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" } }
Realice una
POST
solicitud al punto de/ad-profile
conexión con este archivo JSON en el cuerpo de la solicitud. Deberá indicar elpublisher_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'
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:
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 } }
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 lapublisher_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'
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:
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 } } ```
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' ```
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 } }