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: Sí Filtre por: Sí |
type_id |
Entero | Identificador del servicio de tipo de plantilla de solicitud personalizada creativa. Predeterminado: null Obligatorio activado: POST Ordenar por: Sí Filtre por: Sí |
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: Sí Filtre por: Sí |
media_subtype_id |
Entero | Identificador de subtipo multimedia para esta plantilla. Derivado del objeto Media Subtype siguiente. Predeterminado: null Ordenar por: Sí Filtre por: Sí |
hostname |
string | Host del asociado de mediación al que se va a llamar para la demanda. Predeterminado: null Obligatorio activado: POST Ordenar por: Sí Filtre por: Sí |
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: Sí Filtre por: Sí |
port |
Entero | Puerto host del asociado de mediación al que se va a llamar para la demanda. Predeterminado: 80 Ordenar por: Sí Filtre por: Sí |
is_post |
Booleano | Si la solicitud de demanda es .POST Predeterminado: false Ordenar por: Sí Filtre por: Sí |
content |
string | Carga incluida en la solicitud. Ejemplos: JSON, XML. Predeterminado: null Ordenar por: Sí Filtre por: Sí |
timeout_ms |
Entero | Tiempo de espera dado por el asociado o para que Microsoft Monetize lo aplique. Predeterminado: 0 Ordenar por: Sí Filtre por: Sí |
is_client |
Booleano | Si la solicitud se origina en el lado cliente. Ejemplo: un SDK. Predeterminado: false Ordenar por: Sí Filtre por: Sí |
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: Sí Filtre por: Sí |
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: Sí Filtre por: Sí |
template_id |
Entero | Plantilla de solicitud personalizada creativa a la que está asociada esta macro. Predeterminado: null Ordenar por: Sí Filtre por: Sí |
code |
string | Parámetro de cadena de consulta que se integrará en la dirección URL, por ejemplo, send_referer .Ordenar por: Sí Filtre por: Sí |
name |
string | Una descripción de lo que hace la macro, por ejemplo, "Alternar si se debe enviar el referenciador". Ordenar por: Sí Filtre por: Sí |
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: Sí Filtre por: Sí |
is_required |
Booleano | Si esta macro es necesaria en una llamada al servidor de anuncios externo. Predeterminado: true Ordenar por: Sí Filtre por: Sí |
last_modified |
date | Fecha y hora a la que se actualizó por última vez este objeto de macro. Ordenar por: Sí Filtre por: Sí |
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}®ion=${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}