Compartir a través de


Servicio de plantilla de solicitud personalizada creativa

Nota:

La mediación solo está disponible para los clientes de Microsoft Monetize Ad Server.

Para obtener contexto sobre la mediación, vea Vender su inventario a través de la mediación.

Los asociados de mediación, también conocidos como asociados de solicitud personalizados, se pueden identificar y definir a través del servicio creative custom request partner. Estos asociados se asignan a redes específicas del cliente a través de la interfaz de usuario o el servicio de red mediada.

Para admitir la mediación del servidor de anuncios móviles, Monetize usa un tipo creativo mediado. A diferencia de las creatividades estándar, que residen como contenido estático en un servidor, las creatividades mediadas son contenedores configurables que capturan contenido del lado servidor. El servicio de plantilla de solicitud personalizada creativa se usa para compilar las solicitudes que rellenan estas creatividades mediadas. Para ello, el servicio administra un conjunto de plantillas personalizadas, cada una de las cuales corresponde a un asociado de solicitud personalizado creativo diferente y que está asociado a un "tipo" de plantilla definido por el servicio de tipo de plantilla de solicitud personalizada creativa.

En este documento se describen los campos que ofrece este servicio de API, así como ejemplos de uso. Consulte la sección Ejemplos a continuación.

Nota:

Para obtener más información sobre las creatividades mediadas, consulte creative service.

API de REST

Http (método) Endpoint Description
GET https://api.appnexus.com/creative-custom-request-template?id=123 Ver una plantilla de solicitud personalizada específica.
GET - https://api.appnexus.com/creative-custom-request-template?member_id=0
- https://api.appnexus.com/creative-custom-request-template?member_id=MEMBER_ID
Vea todas las plantillas de solicitud personalizadas disponibles para el miembro.
GET https://api.appnexus.com/creative-custom-request-template/meta Ver los campos disponibles para filtrar y ordenar.
POST https://api.appnexus.com/creative-custom-request-template Cree una plantilla de solicitud personalizada.
PUT https://api.appnexus.com/creative-custom-request-template Actualice una plantilla de solicitud personalizada.
DELETE https://api.appnexus.com/creative-custom-request-template?id=123 Elimine una plantilla de solicitud personalizada.

Campos JSON

Campo Tipo Descripción
macros matriz de objetos Estas son las macros (o parámetros de cadena de consulta) que se enviarán en la solicitud. Consulte Macros.
Ordenar por: No
Filtre por: No
id Entero Identificador de esta plantilla.
Obligatorio activado:PUT
Ordenar por:
Filtre por:
type_id Entero Identificador del servicio de tipo de plantilla de solicitud personalizada creativa.
Predeterminado:null
Obligatorio activado:POST
Ordenar por:
Filtre por:
member_id Entero Identificador de miembro cuyas creatividades de mediación se asociarán a esta plantilla. Para obtener más información, consulte Creative Service y el Servicio para miembros.
Predeterminado:0
Ordenar por:
Filtre por:
media_subtype_id Entero Identificador de subtipo multimedia para esta plantilla. Derivado del objeto Media Subtype siguiente.
Predeterminado:null
Ordenar por:
Filtre por:
hostname string Host del asociado de mediación al que se va a llamar para la demanda.
Predeterminado:null
Obligatorio activado:POST
Ordenar por:
Filtre por:
uri string Punto de conexión de host del asociado de mediación al que se va a llamar para la demanda.
Predeterminado:null
Obligatorio en:POST, PUT si is_client es false.
Ordenar por:
Filtre por:
port Entero Puerto host del asociado de mediación al que se va a llamar para la demanda.
Predeterminado:80
Ordenar por:
Filtre por:
is_post Booleano Si la solicitud de demanda es .POST
Predeterminado:false
Ordenar por:
Filtre por:
content string Carga incluida en la solicitud. Ejemplos: JSON, XML.
Predeterminado:null
Ordenar por:
Filtre por:
timeout_ms Entero Tiempo de espera dado por el asociado o para que Microsoft Monetize lo aplique.
Predeterminado:0
Ordenar por:
Filtre por:
is_client Booleano Si la solicitud se origina en el lado cliente. Ejemplo: un SDK.
Predeterminado:false
Ordenar por:
Filtre por:
media_subtype matriz El estilo de presentación de los creativos que pueden usar esta plantilla. Cada subtipo multimedia pertenece a un tipo de medio superordinado. Por ejemplo, el subtipo multimedia "Banner estándar" pertenece al tipo de medio "Banner". Para obtener más información, vea Subtipo multimedia a continuación.
Ordenar por: No
Filtre por: No
last_modified date Fecha y hora a la que se actualizó por última vez este objeto.
Ordenar por:
Filtre por:
integration_type string Tipo de integración con el asociado de mediación. Ejemplos: SDK, Lado servidor, Sync-web-client.
creative_custom_request_partner_id Entero Identificador del asociado de mediación. Para obtener más información, consulte Creative Custom Request Partner Service.
active booleano Si la plantilla está disponible para su uso.
supply_types matriz Tipo de demanda disponible del asociado de mediación (web, mobile_web, mobile_app).
passback objeto Si no se recibe ninguna oferta aceptable para una solicitud, se passback puede agregar a la etiqueta de anuncio para permitir que el siguiente sistema en línea pueda pujar. Agregue la devolución de acceso de la red, que se muestra aquí, a una etiqueta de anuncio para usar esta opción.

Macros

Campo Tipo Descripción
id Entero Identificador de esta macro.
Predeterminado:null
Ordenar por:
Filtre por:
template_id Entero Plantilla de solicitud personalizada creativa a la que está asociada esta macro.
Predeterminado:null
Ordenar por:
Filtre por:
code string Parámetro de cadena de consulta que se integrará en la dirección URL, por ejemplo, send_referer.
Ordenar por:
Filtre por:
name string Una descripción de lo que hace la macro, por ejemplo, "Alternar si se debe enviar el referenciador".
Ordenar por:
Filtre por:
type string Tipo de valor que aceptará el parámetro.

Nota: El valor predeterminado de "string" también es el más común. Los valores permitidos incluyen:
- true_false
- string
- url
- integer
- decimal
- string_list
- select_from_list
Predeterminado:string
Ordenar por:
Filtre por:
is_required Booleano Si esta macro es necesaria en una llamada al servidor de anuncios externo.
Predeterminado:true
Ordenar por:
Filtre por:
last_modified date Fecha y hora a la que se actualizó por última vez este objeto de macro.
Ordenar por:
Filtre por:

Subtipo multimedia

Todas las opciones disponibles se pueden ver en el servicio de subtipos multimedia y el servicio de tipos de medios.

Campo Tipo Descripción
id Entero Identificador del subtipo multimedia.
name string Solo lectura. Nombre del subtipo multimedia.
media_type_name string Solo lectura. Nombre del tipo de medio al que pertenece el subtipo.
mediatype_id Entero Solo lectura. Identificador del tipo de medio al que pertenece el subtipo.

Ejemplos

Visualización de todas las plantillas de solicitud creativa

En el ejemplo siguiente, observe la diferencia entre cómo se muestran las macros estándar de Microsoft Monetize en el uri campo, por ejemplo, * $\{USER_IP\} y cómo se muestran las macros personalizadas definidas por servidor por este servicio: * \#\{MK_SITEID\}. Las definiciones de cada macro se encuentran en la matriz de macros de objetos siguientes.


{code}
$ curl -b cookies https://api.appnexus.com/creative-custom-request-template?member_id=0
{
    "response": {
        "status": "OK",
        "count": 4,
        "start_element": 0,
        "num_elements": 100,
        "creative-custom-request-templates": [
            {
                "id": 1,
                "type_id": 2,
                "member_id": 0,
                "media_subtype_id": 1,
                "hostname": "w.inmobi.com",
                "uri": "/showad.asm?mk-siteid=#{MK_SITEID}&mk-carrier=${USER_IP}&h-user-agent=${USER_AGENT_ENC}&h-referer=${REFERER_URL_ENC}&u-id-map=${INMOBI_UID_MAP}&u-latlong-accu=${INMOBI_LAT_LONG_ACCU}&u-age=${AGE}&u-gender=${GENDER}&d-localization=${USER_LOCALE}&d-nettype=${INMOBI_NETTYPE}&d-orientation=${INMOBI_ORIENTATION}",
                "port": 80,
                "is_post": false,
                "content": "",
                "timeout_ms": 200,
                "is_client": false,
                "last_modified": "2013-07-10 19:27:41",
                "media_subtype": {
                    "id": 1,
                    "name": "Standard Banner",
                    "media_type_name": "Banner",
                    "mediatype_id": 1
                },
                "macros": [
                    {
                        "id": 1,
                        "template_id": 1,
                        "code": "MK_SITEID",
                        "name": "MK_SITEID",
                        "type": "string",
                        "is_required": true,
                        "last_modified": "2013-07-10 19:27:41"
                    }
                ]
            },
            {
                "id": 2,
                "type_id": 3,
                "member_id": 0,
                "media_subtype_id": 1,
                "hostname": "ads.mydas.mobi",
                "uri": "/getAd?apid=#{APID}&auid=${DEVICE_MD5}&ua=${USER_AGENT_ENC}&uip=${USER_IP}&age=${AGE}&gender=${GENDER}&zip=${POSTAL_CODE}&lat=${GEO_LAT}&long=${GEO_LON}",
                "port": 80,
                "is_post": false,
                "content": "",
                "timeout_ms": 200,
                "is_client": false,
                "last_modified": "2013-07-10 19:27:50",
                "macros": [
                    {
                        "id": 2,
                        "template_id": 2,
                        "code": "APID",
                        "name": "APID",
                        "type": "string",
                        "is_required": true,
                        "last_modified": "2013-07-10 19:27:50"
                    }
                ]
            },
            {
                "id": 3,
                "type_id": 4,
                "member_id": 0,
                "media_subtype_id": 5,
                "hostname": "ads.mojiva.com",
                "uri": "/ad?zone=#{ZONE}&ip=${USER_IP}&ua=${USER_AGENT_ENC}&url=${REFERER_URL_ENC}&udid=${DEVICE_MD5}&lat=${GEO_LAT}&long=${GEO_LON}&country=${USER_COUNTRY}&region=${USER_STATE}&city=${USER_CITY}&dma=${USER_DMA}&zip=${POSTAL_CODE}",
                "port": 80,
                "is_post": false,
                "content": "",
                "timeout_ms": 200,
                "is_client": false,
                "media_subtype": {
                    "id": 1,
                    "name": "Standard Banner",
                    "media_type_name": "Banner",
                    "media_type_id": 1
                },
                "last_modified": "2013-07-10 19:28:00",
                "macros": [
                    {
                        "id": 3,
                        "template_id": 3,
                        "code": "ZONE",
                        "name": "ZONE",
                        "type": "string",
                        "is_required": true,
                        "last_modified": "2013-07-10 19:28:00"
                    }
                ]
            },
            {
                "id": 4,
                "type_id": 5,
                "member_id": 0,
                "media_subtype_id": 5,
                "hostname": "a.jumptap.com",
                "uri": "/a/ads?hid_sha1=${DEVICE_SHA1}&idfa=${DEVICE_APPLE_IDA}&pub=#{PUB}&site=#{SITE}&spot=#{SPOT}&url=${REFERER_URL_ENC}&ua=${USER_AGENT_ENC}&client-ip=${USER_IP}&country=${USER_COUNTRY}&ll=${JUMPTAP_LAT_LONG_ENC}&mt-age=${AGE}&mt-gender=${GENDER}",
                "port": 80,
                "is_post": false,
                "content": "",
                "timeout_ms": 200,
                "is_client": false,
                "media_subtype": {
                    "id": 5,
                    "name": "Interstitial",
                    "media_type_name": "Interstitial",
                    "media_type_id": 3
                },
                "last_modified": "2013-07-10 19:28:10",
                "macros": [
                    {
                        "id": 4,
                        "template_id": 4,
                        "code": "PUB",
                        "name": "PUB",
                        "type": "string",
                        "is_required": true,
                        "last_modified": "2013-07-10 19:28:10"
                    },
                    {
                        "id": 5,
                        "template_id": 4,
                        "code": "SITE",
                        "name": "SITE",
                        "type": "string",
                        "is_required": true,
                        "last_modified": "2013-07-10 19:28:10"
                    },
                    {
                        "id": 6,
                        "template_id": 4,
                        "code": "SPOT",
                        "name": "SPOT",
                        "type": "string",
                        "is_required": true,
                        "last_modified": "2013-07-10 19:28:10"
                    }
                ]
            }
        ],
        "dbg_info": {
            "instance": "28.bm-hbapi.prod.nym1",
            "s1ave_hit": true,
            "db": "141.bm-mysql.prod.nym1",
            "reads": 1,
            "read_limit": 100,
            "read_limit_seconds": 60,
            "writes": 0,
            "write_limit": 60,
            "write_limit_seconds": 60,
            "awesomesauce_cache_used": false,
            "count_cache_used": false,
            "warnings": [],
            "time": 66.461801528931,
            "start_microtime": 1373651335.4519,
            "version": "1.13.52",
            "s1ave_lag": 1,
            "member_last_modified_age": 68896
        }
    }
}
{code}

Visualización de una única plantilla de solicitud personalizada creativa

{code}
$ curl -b cookies https://api.appnexus.com/creative-custom-request-template?id=2
{
    "response": {
        "status": "OK",
        "count": 1,
        "start_element": 0,
        "num_elements": 100,
        "creative-custom-request-template": {
            "id": 2,
            "type_id": 3,
            "member_id": 0,
            "media_subtype_id": 1,
            "hostname": "ads.mydas.mobi",
            "uri": "/getAd?apid=#{APID}&auid=${DEVICE_MD5}&ua=${USER_AGENT_ENC}&uip=${USER_IP}&age=${AGE}&gender=${GENDER}&zip=${POSTAL_CODE}&lat=${GEO_LAT}&long=${GEO_LON}",
            "port": 80,
            "is_post": false,
            "content": "",
            "timeout_ms": 200,
            "is_client": false,
            "media_subtype": {
                "id": 1,
                "name": "Standard Banner",
                "media_type_name": "Banner",
                "media_type_id": 1
            },
            "last_modified": "2013-07-10 18:57:43",
            "macros": [
                {
                    "id": 2,
                    "template_id": 2,
                    "code": "APID",
                    "name": "APID",
                    "type": "string",
                    "is_required": true,
                    "last_modified": "2013-07-02 00:50:53"
                }
            ]
        },
        "dbg_info": {
            "instance": "05.hbapi.sand-08.lax1",
            "s1ave_hit": false,
            "db": "master",
            "awesomesauce_cache_used": false,
            "count_cache_used": false,
            "warnings": [],
            "time": 68.688154220581,
            "start_microtime": 1373910064.7161,
            "version": "1.13.53.1",
            "s1ave_miss": "no_service_index",
            "s1ave_lag": 0,
            "member_last_modified_age": 1373910064
        }
    }
}
{code}

Creación de una plantilla de solicitud

Cree un archivo JSON que especifique los campos de la plantilla de solicitud.

Nota:

El type_id campo es necesario en POST.

Para obtener más información sobre los tipos de plantilla de solicitud, consulte el servicio de tipo de plantilla de solicitud personalizada de Creative.

{code}
$ cat create.json
{
    "creative-custom-request-template": {
        "hostname": "ads.light-vs-wily.com",
        "uri": "/a/ads?hid_sha1=${DEVICE_SHA1}&idfa=${DEVICE_APPLE_IDA}&enemy=#{ENEMY}&light_or_wily=#{LIGHT_OR_WILY}&megaman_version=#{MEGAMAN_VERSION}&url=${REFERER_URL_ENC}&ua=${USER_AGENT_ENC}&client-ip=${USER_IP}&country=${USER_COUNTRY}&ll=${JUMPTAP_LAT_LONG_ENC}&mt-age=${AGE}&mt-gender=${GENDER}",
        "port": 49995,
        "is_post": false,
        "content": "",
        "timeout_ms": 2,
        "is_client": false,
        "type_id": 1
    }
}
{code}

Realice una POST llamada a la API con la carga JSON incluida.

{code}
$ curl -b cookies -X POST -d @create.json https://api.appnexus.com/creative-custom-request-template
{
    "response": {
        "status": "OK",
        "count": 1,
        "start_element": 0,
        "num_elements": 100,
        "creative-custom-request-template": {
            "id": 13,
            "type_id": 1,
            "member_id": 0,
            "media_subtype_id": 1,
            "hostname": "ads.light-vs-wily.com",
            "uri": "/a/ads?hid_sha1=${DEVICE_SHA1}&idfa=${DEVICE_APPLE_IDA}&enemy=#{ENEMY}&light_or_wily=#{LIGHT_OR_WILY}&megaman_version=#{MEGAMAN_VERSION}&url=${REFERER_URL_ENC}&ua=${USER_AGENT_ENC}&client-ip=${USER_IP}&country=${USER_COUNTRY}&ll=${JUMPTAP_LAT_LONG_ENC}&mt-age=${AGE}&mt-gender=${GENDER}",
            "port": 49995,
            "is_post": false,
            "content": "",
            "timeout_ms": 2,
            "is_client": false,
            "media_subtype": {
                "id": 1,
                "name": "Standard Banner",
                "media_type_name": "Banner",
                "media_type_id": 1
            },
            "last_modified": "2013-07-15 19:02:02",
            "macros": ""
        },
        "dbg_info": {
            "instance": "07.hbapi.sand-08.lax1",
            "s1ave_hit": false,
            "db": "master",
            "awesomesauce_cache_used": false,
            "count_cache_used": false,
            "warnings": [],
            "time": 67.02995300293,
            "start_microtime": 1373914957.1776,
            "version": "1.13.53.1",
            "s1ave_miss": "no_service_index",
            "s1ave_lag": 0,
            "member_last_modified_age": 1373914957
        }
    }
}
{code}

Actualización de una plantilla de solicitud

En primer lugar, cree un archivo JSON con solo los parámetros que se van a actualizar.

Nota:

Debe incluir el id de la plantilla de solicitud que se está actualizando.

{code}
$ cat update.json
{"creative-custom-request-template":{"id":13, "type_id":2, "timeout_ms":250}}
{code}

Realice la PUT llamada, incluida la actualización JSON.

Una llamada correcta PUT requiere:

  • Especificar el identificador de la plantilla de solicitud en el archivo JSON.
  • No agregar ningún parámetro de cadena de consulta (como ?id=123) a la solicitud (vea el ejemplo siguiente).

Eliminación de una plantilla de solicitud

La eliminación de una solicitud simplemente requiere el identificador de plantilla en la cadena de consulta.

{code}
$ curl -b cookies -X DELETE https://api.appnexus.com/creative-custom-request-template?id=123
{code}