API de plataforma digital: servicio de plantillas creativas
La plataforma Xandr clasifica las creatividades por formato, tipo de medio y subtipo multimedia. El formato define el tipo de recurso de las creatividades (flash, imagen, etc.); el tipo de medio define el estilo de visualización general de los creativos (banner, ampliable, vídeo, etc.); y el subtipo multimedia define el estilo de visualización específico de las creatividades (banner estándar, MediaMind ampliable, VAST estándar, etc.).
Plantillas estándar
Para cada combinación de formato, tipo de medio y subtipo multimedia, Xandr proporciona una plantilla creativa estándar que garantiza una representación adecuada en las páginas web cuando se atienden las creatividades. No se pueden editar estas plantillas, pero Creative Template Service permite verlas y examinar su código de representación.
Plantillas personalizadas
Si desea personalizar la forma en que se representan determinados tipos de creatividades, puede crear sus propias plantillas. Con las plantillas personalizadas, tiene control completo del código de representación de JavaScript, HTML o XML, y puede definir macros para pedir a los tratantes que escriban información y tomen decisiones sobre el comportamiento de los creativos cuando se cargan.
Nota:
Puede tener hasta 100 plantillas personalizadas. Sin embargo, Xandr no proporciona compatibilidad con las creatividades que no se representan correctamente como resultado de errores en el código de plantilla personalizado.
API de REST
Http (método) | Endpoint | Description |
---|---|---|
GET |
https://api.appnexus.com/template | Ver todas las plantillas (estándar y personalizadas). |
GET |
https://api.appnexus.com/template?member_id=null | Vea solo plantillas estándar. |
GET |
https://api.appnexus.com/template?id=TEMPLATE_ID | Ver una plantilla específica. |
POST |
https://api.appnexus.com/template (JSON de plantilla) |
Agregue una nueva plantilla personalizada. |
PUT |
https://api.appnexus.com/template?id=TEMPLATE_ID (JSON de plantilla) Advertencia: Al modificar una plantilla personalizada, los cambios afectan inmediatamente a las creatividades que ya usan la plantilla. Si los cambios hacen que estas creatividades dejen de representarse correctamente, su estado de auditoría se cambiará a "rechazado" y dejarán de servir en la mayoría de los inventarios de terceros. |
Modificar una plantilla personalizada. |
DELETE |
https://api.appnexus.com/template?id=TEMPLATE_ID Nota: No se puede eliminar una plantilla personalizada que usan una o varias creatividades, pero puede archivarla para evitar que las futuras creatividades la usen. Para obtener más información, consulte el siguiente ejemplo de archivado de una plantilla personalizada . |
Elimine una plantilla personalizada. |
Crear una plantilla personalizada (solo para iPhone)
Esta funcionalidad es para que un anuncio descargue una aplicación específica de iTunes. Un "vínculo directo" no funcionará en el iPhone debido a la seguridad. Por lo tanto, no puede acceder directamente a la biblioteca de etiquetas de vendedor (AST). En lugar de esto, generamos un evento.
Advertencia
El usuario debe estar familiarizado con la creación de macros y plantillas personalizadas.
Para ello:
Cree una ubicación que tenga una creatividad predeterminada que use una plantilla. Se enumeran las plantillas a las que tiene acceso el miembro. Hay un conjunto de plantillas creativas de Xandr que no son plantillas estándar. Esta situación requeriría una plantilla personalizada.
La plantilla debe asociarse a la creatividad predeterminada. Cuando se selecciona esa creatividad, encuentra esta plantilla. Envía una función de JavaScript adicional, junto con la creatividad. Llama a esa función y, a continuación, envía ese evento a la biblioteca de etiquetas de vendedor. Se abrirá la tienda de aplicaciones de iTunes desde el marco de página principal, donde se ejecuta la biblioteca de etiquetas de vendedor.
Resumiendo:
- La plantilla toma una dirección URL.
- Envía un evento a la biblioteca de etiquetas de vendedor.
- Seller Tag core tiene un agente de escucha para este evento personalizado e inicia iTunes.
- Pasamos este nombre de evento y la dirección URL de la tienda de aplicaciones que queremos abrir. La dirección URL le lleva al recurso específico de la tienda de aplicaciones de iTunes.
Plantilla de ejemplo
function iTunesClick(url)
{window.parent.document.dispatchEvent(new CustomEvent('apntag_iTunesLaunch', {
detail: { url: url }})); }
document.write('<a
href="#"
onclick="iTunesClick(\\\'${CLICK_URL}\\\');"><img
width="${CREATIVE_WIDTH}" height="${CREATIVE_HEIGHT}"
style="border-style: none" src="${MEDIA_URL}"/></a>');
Campos JSON
Campo | Tipo | Descripción |
---|---|---|
id |
Entero | Identificador de la plantilla creativa. Obligatorio On: PUT /DELETE , en la cadena de consulta. |
name |
string (30) | Nombre de la plantilla creativa. Obligatorio activado: POST |
description |
string | Descripción de la plantilla creativa. |
member_id |
Entero | Identificador del miembro propietario de la plantilla. En el caso de las plantillas Xandr estándar, es null. Solo lectura. |
ad_type |
string |
Nota: Este campo solo se aplica cuando se asocian creatividades a elementos de línea aumentadas. Tipo de creatividad que se usa. Posibles valores: - "banner" - "video" (incluye tipos de audio)- "native" Este valor determina cómo se realiza el seguimiento de los elementos de la subasta para la estrategia de compra del artículo de línea, la estrategia de pago, las opciones de optimización, la asociación creativa y las opciones de selección de destino. Nota: Todas las creatividades asociadas a un elemento de línea deben tener el mismo tipo de anuncio, que debe coincidir con el ad_type seleccionado en line item service - ALI. |
media_subtype |
objeto | 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 "Standard Banner" subtipo multimedia pertenece al "Banner" tipo de medio. Para obtener más información, vea Subtipo multimedia a continuación.Obligatorio activado: POST |
format |
objeto | El formato de las creatividades que pueden usar esta plantilla, por ejemplo, "image" o "flash" . Para obtener más información, vea Formato a continuación.Obligatorio activado: POST |
is_default |
booleano | Si true es , la plantilla se asigna automáticamente a las creatividades que coinciden con el tipo de medio, el subtipo multimedia y el formato de la plantilla. Cuando se cargan las creatividades, esta asignación predeterminada se puede invalidar, si es necesario. Tenga en cuenta que solo puede haber una plantilla creativa predeterminada por tipo de medio, subtipo multimedia y combinación de formato.Predeterminado: false |
is_archived |
booleano | Si true es , la plantilla se archiva. El archivado de una plantilla impide que las futuras creatividades usen la plantilla, pero no afecta a las creatividades que ya usan la plantilla.Predeterminado: false |
content_js |
string | Código de representación de la plantilla en JavaScript. El código puede incluir macros estándar Xandr y sus propias macros personalizadas. Las macros Xandr deben comenzar con el símbolo $ y las macros personalizadas deben comenzar por el símbolo #. Cada macro personalizada debe definirse en la macros matriz.Obligatorio En: POST , si content_html content_xml y no se proporcionan. |
content_html |
string | El código de representación de la plantilla en HTML. El código puede incluir macros estándar Xandr y sus propias macros personalizadas. Las macros Xandr deben comenzar con el símbolo $ y las macros personalizadas deben comenzar por el símbolo #. Cada macro personalizada debe definirse en la macros matriz.Obligatorio En: POST , si content_js content_xml y no se proporcionan. |
content_xml |
string | En desuso (a partir del 17 de octubre de 2016). |
callback_content_html |
string | Cuando media_subtype es "Popup" o "Popunder" , content_js define el código de representación de la ventana emergente y este campo define el código de representación del contenido de la ventana emergente. |
macros |
matriz de objetos | Macros personalizadas usadas en los content_js campos , content_html o content_xml . Puede incluir hasta 20 macros personalizadas en una plantilla. Para obtener más información, vea Macros personalizadas a continuación. |
last_modified |
Timestamp | Fecha y hora en que se modificó por última vez la plantilla creativa. Solo lectura. |
Subtipo multimedia
Puede usar el servicio de subtipos multimedia y el servicio de tipos de medios para ver todos los subtipos de medios admitidos y los tipos de medios a los que pertenecen.
Campo | Tipo | Descripción |
---|---|---|
id |
Entero | Identificador del subtipo multimedia. Obligatorio activado: POST |
name |
string | Nombre del subtipo multimedia. Solo lectura. |
mediatype_id |
Entero | Identificador del tipo de medio al que pertenece el subtipo. Solo lectura. |
media_type_name |
string | Nombre del tipo de medio al que pertenece el subtipo. Solo lectura. |
Formato
Puede usar el servicio de formato creativo para ver todos los formatos creativos admitidos.
Campo | Tipo | Descripción | ¿Filtrar por? | ¿Ordenar por? |
---|---|---|---|---|
id |
Entero | Identificador del formato creativo. Obligatorio activado: POST |
Sí | Sí |
name |
string | Nombre del formato creativo. Solo lectura. |
Sí | Sí |
Macros personalizadas
Debe definir cada macro personalizada utilizada en el content_js
campo , content_html
o content_xml
.
Campo | Tipo (longitud) | Descripción |
---|---|---|
code |
string (30) | El nombre de la macro exactamente como se usa en el content_js campo , content_html o content_xml . Por ejemplo, si #{BORDER_SIZE} es la macro del content_js campo, pasará "BORDER_SIZE" aquí.Obligatorio activado: POST |
name |
string (50) | Nombre descriptivo de esta macro que verán los tratantes cuando agreguen creatividades que usen esta plantilla a través de la interfaz de usuario. Obligatorio activado: POST |
type |
enumeración | Tipo de valor que los tratantes proporcionarán para esta macro cuando agreguen creatividades que usen esta plantilla a través de Creative Service o la interfaz de usuario. Valores posibles: "true/false" , "string" , "url" , "integer" , "decimal" , y "select_from_list" "string_list" "file" . Por ejemplo, en la interfaz de usuario, si establece esto "true/false" en , los tratantes verán el nombre de la macro seguido de una casilla.Obligatorio activado: POST |
is_required |
booleano | Si true es , los tratantes tendrán que proporcionar un valor para la macro al agregar creatividades que usen esta plantilla.Obligatorio activado: POST |
default_value |
string | Si is_required es false , este es el valor predeterminado que se usará cuando los tratantes no proporcionen un valor para la macro al agregar creatividades que usen esta plantilla.Obligatorio en: POST , si is_required es false . |
other_data |
string | Valores aceptados para la macro, si type es "string_list" o "select_from_list" . |
Ejemplos
Visualización de todas las plantillas creativas
{code}
$ curl -b cookies -c cookies 'https://api.appnexus.com/template'
{
"response": {
"status": "OK",
"count": 74,
"start_element": 0,
"num_elements": 100,
"templates": [
{
"id": 1,
"name": "Standard",
"description": null,
"last_modified": "2012-02-20 21:36:13",
"is_archived": false,
"member_id": null,
"is_default": true,
"content_html": "<iframe frameborder=\"0\" width=\"${CREATIVE_WIDTH}\" height=\"
${CREATIVE_HEIGHT}\"marginheight=\"0\" marginwidth=\"0\" target=\"_blank\"
scrolling=\"no\" src=\"${MEDIA_URL}\"></iframe>",
"content_js": "document.write('<iframe frameborder=\"0\" width=\"${CREATIVE_WIDTH}\"
height=\"${CREATIVE_HEIGHT}\" marginheight=\"0\" marginwidth=\"0\" target=\"_blank\"
scrolling=\"no\" src=\"${MEDIA_URL}\"> </iframe>');",
"content_xml": null,
"callback_content_html": null,
"media_subtype": {
"id": 1,
"name": "Standard Banner",
"media_type_name": "Banner",
"media_type_id": 1
},
"format": {
"id": 1,
"name": "url-html"
},
"macros": null
},
{
"id": 2,
"name": "Standard",
"description": null,
"last_modified": "2012-01-31 14:33:37",
"is_archived": false,
"member_id": null,
"is_default": true,
"content_html": "<html><body style=\"margin-left: 0%; margin-right: 0%; margin-top:
0%; margin-bottom: 0%\"><script type=\"text/javascript\" src=\"${MEDIA_URL}\">
</script></body></html>",
"content_js": "document.write('<script type=\"text/javascript\" src=\"${MEDIA_URL}\">
</scr'+'ipt>');",
"content_xml": null,
"callback_content_html": null,
"media_subtype": {
"id": 1,
"name": "Standard Banner",
"media_type_name": "Banner",
"media_type_id": 1
},
"format": {
"id": 2,
"name": "url-js"
},
"macros": null
},
{
"id": 3,
"name": "Standard",
"description": null,
"last_modified": "2012-01-31 14:33:37",
"is_archived": false,
"member_id": null,
"is_default": true,
"content_html": "\u000a<html><body style=\"margin-left: 0%; margin-right: 0%; margin-top:
0%;margin-bottom: 0%\"><script type=\"text/javascript\">\u000a<!--\u000a(function()\u000a\
u0009{\u000a\u0009var flashAd='<OBJECT id=\"${AUCTION_ID}\" data=\"${MEDIA_URL}\" classid=
\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" WIDTH=\"${CREATIVE_WIDTH}\" HEIGHT=\
"${CREATIVE_HEIGHT}\"flashvars=\"${FLASHVARS}\"><PARAM NAME=movie VALUE=\"${MEDIA_URL}\">
<PARAM NAME=loop VALUE=true><PARAM NAME=menu VALUE=false><PARAM NAME=quality VALUE=high>
<PARAM NAME=wmode VALUE=\"opaque\"><PARAM NAME=bgcolor VALUE=#FFFFFF><PARAM NAME=
allowscriptaccess VALUE=always><PARAM NAME=flashvarsVALUE=\"${FLASHVARS}\"><OBJECT TYPE=\
"application/x-shockwave-flash\" data=\"${MEDIA_URL}?${FLASHVARS}\"
..."
"content_js": "(function()\u000a\u0009{\u000a\u0009var flashAd='<OBJECT id=\"${AUCTION_ID}\"
data=\"${MEDIA_URL}\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" WIDTH=
\"${CREATIVE_WIDTH}\"HEIGHT=\"${CREATIVE_HEIGHT}\" flashvars=\"${FLASHVARS}\"><PARAM NAME=movie
VALUE=\"${MEDIA_URL}\"><PARAM NAME=loop VALUE=true><PARAM NAME=menu VALUE=false><PARAM NAME=
quality VALUE=high><PARAM NAME=wmode VALUE=\"opaque\"><PARAM NAME=bgcolor VALUE=#FFFFFF>
<PARAM NAME=allowscriptaccess VALUE=always><PARAM NAME=flashvars VALUE=\"${FLASHVARS}\">
<OBJECT TYPE=\"application/x-shockwave-flash\" data=\"${MEDIA_URL}? ${FLASHVARS}\" width=\
"${CREATIVE_WIDTH}\" height=\"${CREATIVE_HEIGHT}\" wmode=\"opaque\" allowscriptaccess=
\"always\"></OBJECT></OBJECT>';\u000a\u0009var flashBackupUrl='${FLASH_BACKUP_URL}';\u000a\
u0009varalternate = '';\u000a\u0009if (flashBackupUrl)\u000a\u0009{\u000a\u0009\u0009alternate=
'<a href=\"${CLICK_URL}\" target=\"_blank\">\"<img width=\"${CREATIVE_WIDTH}\" height=
..."
"content_xml": null,
"callback_content_html": null,
"media_subtype": {
"id": 1,
"name": "Standard Banner",
"media_type_name": "Banner",
"media_type_id": 1
},
"format": {
"id": 3,
"name": "flash"
},
"macros": null
},
{
"id": 4,
"name": "Standard",
"description": null,
"last_modified": "2012-01-31 14:33:37",
"is_archived": false,
"member_id": null,
"is_default": true,
"content_html": "<a href=\"${CLICK_URL}\" target=\"_blank\"><img width=\"${CREATIVE_WIDTH}
\" height=\"${CREATIVE_HEIGHT}\" style=\"border-style: none\" src=\"${MEDIA_URL}\"/></a>",
"content_js": "document.write('<a href=\"${CLICK_URL}\" target=\"_blank\"><img width=
\"${CREATIVE_WIDTH}\" height=\"${CREATIVE_HEIGHT}\" style=\"border-style: none\" src=
\"${MEDIA_URL}\"/></a>');",
"content_xml": null,
"callback_content_html": null,
"media_subtype": {
"id": 1,
"name": "Standard Banner",
"media_type_name": "Banner",
"media_type_id": 1
},
"format": {
"id": 4,
"name": "image"
},
"macros": null
},
...
]
}
}
{code}
Visualización de una plantilla creativa específica
En este ejemplo, la solicitud obtiene detalles sobre la plantilla estándar Xandr para representar las creatividades del tipo "Banner"
de medio , el subtipo "Standard Banner"
multimedia y el formato "flash"
.
{code}
$ curl -b cookies -c cookies 'https://api.appnexus.com/template?id=3'
{
"response": {
"status": "OK",
"count": 1,
"start_element": null,
"num_elements": null,
"template": {
"id": 3,
"name": "Standard",
"description": null,
"last_modified": "2012-01-31 14:33:37",
"is_archived": false,
"member_id": null,
"is_default": true,
"content_html": "\u000a<html><body style=\"margin-left: 0%; margin-right: 0%; margin-top:
0%;margin-bottom: 0%\"><script type=\"text/javascript\">\u000a<!--\u000a(function()\u000a\
u0009{\u000a\u0009var flashAd='<OBJECT id=\"${AUCTION_ID}\" data=\"${MEDIA_URL}\" classid=
\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" WIDTH=\"${CREATIVE_WIDTH}\" HEIGHT=\
"${CREATIVE_HEIGHT}\"flashvars=\"${FLASHVARS}\"><PARAM NAME=movie VALUE=\"${MEDIA_URL}\">
<PARAM NAME=loop VALUE=true><PARAM NAME=menu VALUE=false><PARAM NAME=quality VALUE=high>
<PARAM NAME=wmode VALUE=\"opaque\"><PARAM NAME=bgcolor VALUE=#FFFFFF><PARAM NAME=
allowscriptaccess VALUE=always><PARAM NAME=flashvarsVALUE=\"${FLASHVARS}\"><OBJECT TYPE=\
"application/x-shockwave-flash\" data=\"${MEDIA_URL}?${FLASHVARS}\"
..."
"content_js": "(function()\u000a\u0009{\u000a\u0009var flashAd='<OBJECT id=\"${AUCTION_ID}\"
data=\"${MEDIA_URL}\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" WIDTH=
\"${CREATIVE_WIDTH}\"HEIGHT=\"${CREATIVE_HEIGHT}\" flashvars=\"${FLASHVARS}\"><PARAM NAME=movie
VALUE=\"${MEDIA_URL}\"><PARAM NAME=loop VALUE=true><PARAM NAME=menu VALUE=false><PARAM NAME=
quality VALUE=high><PARAM NAME=wmode VALUE=\"opaque\"><PARAM NAME=bgcolor VALUE=#FFFFFF>
<PARAM NAME=allowscriptaccess VALUE=always><PARAM NAME=flashvars VALUE=\"${FLASHVARS}\">
<OBJECT TYPE=\"application/x-shockwave-flash\" data=\"${MEDIA_URL}? ${FLASHVARS}\" width=\
"${CREATIVE_WIDTH}\" height=\"${CREATIVE_HEIGHT}\" wmode=\"opaque\" allowscriptaccess=
\"always\"></OBJECT></OBJECT>';\u000a\u0009var flashBackupUrl='${FLASH_BACKUP_URL}';\u000a\
u0009varalternate = '';\u000a\u0009if (flashBackupUrl)\u000a\u0009{\u000a\u0009\u0009alternate=
'<a href=\"${CLICK_URL}\" target=\"_blank\">\"<img width=\"${CREATIVE_WIDTH}\" height=
..."
"content_xml": null,
"callback_content_html": null,
"media_subtype": {
"id": 1,
"name": "Standard Banner",
"media_type_name": "Banner",
"media_type_id": 1
},
"format": {
"id": 3,
"name": "flash"
},
"macros": null
}
}
}
{code}
Adición de una plantilla personalizada
En este ejemplo, la POST
solicitud crea una plantilla creativa personalizada para representar imágenes de banner estándar con un borde. La plantilla contiene dos macros personalizadas para definir el tamaño del borde y el color del borde.
{code}$ cat template
{
"template": {
"name": "Image with border",
"media_subtype":
{
"id": 1
},
"format":
{
"id": 4
},
"content_js": "document.write('<a href=${CLICK_URL}><img src=${MEDIA_URL} border=#{BORDER_SIZE}
border_color=#{BORDER_COLOR}></img></a>');",
"macros":[
{
"code": "BORDER_SIZE",
"name": "Image Border Size",
"type": "integer",
"is_required": false,
"default_value": "4"
},
{
"code": "BORDER_COLOR",
"name": "Image Border Color",
"type": "string",
"is_required": false,
"default_value": "black"
}
]
}
}{code}
{code}
$ curl -b cookies -c cookies -X POST -d @template 'https://api.appnexus.com/template'
{
"response": {
"status": "OK",
"count": 1,
"id": 222,
"start_element": 0,
"num_elements": 100,
"template": {
"id": 222,
"name": "Image with border",
"description": null,
"last_modified": "2012-02-22 23:20:05",
"is_archived": false,
"member_id": 1066,
"is_default": false,
"content_html": null,
"content_js": "document.write('<a href=${CLICK_URL}><img src=${MEDIA_URL} border=#{BORDER_SIZE}
border_color=#{BORDER_COLOR}></img></a>');",
"content_xml": null,
"callback_content_html": null,
"media_subtype": {
"id": 1,
"name": "Standard Banner",
"media_type_name": "Banner",
"media_type_id": 1
},
"format": {
"id": 4,
"name": "image"
},
"macros": [
{
"code": "BORDER_COLOR",
"name": "Image Border Color",
"is_required": false,
"type": "string",
"default_value": "black",
"other_data": null
},
{
"code": "BORDER_SIZE",
"name": "Image Border Size",
"is_required": false,
"type": "integer",
"default_value": "4",
"other_data": null
}
]
}
}
}
{code}
Modificación de una plantilla personalizada
En este ejemplo, la PUT
solicitud actualiza los valores predeterminados de las macros personalizadas de la plantilla personalizada 222.
{code}$ cat template_update
{
"template": {
"macros":[
{
"code": "BORDER_SIZE",
"name": "Image Border Size",
"type": "integer",
"is_required": false,
"default_value": "6"
},
{
"code": "BORDER_COLOR",
"name": "Image Border Color",
"type": "string",
"is_required": false,
"default_value": "blue"
}
]
}
}{code}
{code}
$ curl -b cookies -c cookies -X PUT -d @template_update 'https://api.appnexus.com/template?id=222'
{
"response": {
"status": "OK",
"count": 1,
"id": "222",
"start_element": 0,
"num_elements": 100,
"template": {
"id": 222,
"name": "Image with border",
"description": null,
"last_modified": "2012-02-22 23:49:39",
"is_archived": false,
"member_id": 1066,
"is_default": false,
"content_html": null,
"content_js": "document.write('<a href=${CLICK_URL}><img src=${MEDIA_URL} border=#{BORDER_SIZE} border_color=#{BORDER_COLOR}></img></a>');",
"content_xml": null,
"callback_content_html": null,
"media_subtype": {
"id": 1,
"name": "Standard Banner",
"media_type_name": "Banner",
"media_type_id": 1
},
"format": {
"id": 4,
"name": "image"
},
"macros": [
{
"code": "BORDER_COLOR",
"name": "Image Border Color",
"is_required": false,
"type": "string",
"default_value": "blue",
"other_data": null
},
{
"code": "BORDER_SIZE",
"name": "Image Border Size",
"is_required": false,
"type": "integer",
"default_value": "6",
"other_data": null
}
]
}
}
}
{code}
Archivar una plantilla personalizada
En este ejemplo, la PUT
solicitud establece el is_archived
campo true
en , archivando así la plantilla e impidiendo que las futuras creatividades la usen.
{code}$ cat template_archive
{
"template": {
"is_archived": true
}
}{code}
{code}
$ curl -b cookies -c cookies -X PUT -d @template_archive 'https://api.appnexus.com/template?id=222'
{
"response": {
"status": "OK",
"count": 1,
"id": "222",
"start_element": 0,
"num_elements": 100,
"template": {
"id": 222,
"name": "Image with border",
"description": null,
"last_modified": "2012-02-22 23:57:52",
"is_archived": true,
"member_id": 1066,
"is_default": false,
"content_html": null,
"content_js": "document.write('<a href=${CLICK_URL}><img src=${MEDIA_URL} border=#{BORDER_SIZE}
border_color=#{BORDER_COLOR}></img></a>');",
"content_xml": null,
"callback_content_html": null,
"media_subtype": {
"id": 1,
"name": "Standard Banner",
"media_type_name": "Banner",
"media_type_id": 1
},
"format": {
"id": 4,
"name": "image"
},
"macros": [
{
"code": "BORDER_COLOR",
"name": "Image Border Color",
"is_required": false,
"type": "string",
"default_value": "blue",
"other_data": null
},
{
"code": "BORDER_SIZE",
"name": "Image Border Size",
"is_required": false,
"type": "integer",
"default_value": "6",
"other_data": null
}
]
}
}
}
{code}
Volver a activar una plantilla personalizada archivada
En este ejemplo, la PUT
solicitud establece el is_archived
campo en , lo que vuelve a false
activar la plantilla y permite que los nuevos creativos la usen.
{code}$ cat template_activate
{
"template": {
"is_archived": false
}
}{code}
{code}
$ curl -b cookies -c cookies -X PUT -d @template_activate 'https://api.appnexus.com/template?id=222'
{
"response": {
"status": "OK",
"count": 1,
"id": "222",
"start_element": 0,
"num_elements": 100,
"template": {
"id": 222,
"name": "Image with border",
"description": null,
"last_modified": "2012-02-22 23:57:52",
"is_archived": false,
"member_id": 1066,
"is_default": false,
"content_html": null,
"content_js": "document.write('<a href=${CLICK_URL}><img src=${MEDIA_URL} border=#{BORDER_SIZE}
border_color=#{BORDER_COLOR}></img></a>');",
"content_xml": null,
"callback_content_html": null,
"media_subtype": {
"id": 1,
"name": "Standard Banner",
"media_type_name": "Banner",
"media_type_id": 1
},
"format": {
"id": 4,
"name": "image"
},
"macros": [
{
"code": "BORDER_COLOR",
"name": "Image Border Color",
"is_required": false,
"type": "string",
"default_value": "blue",
"other_data": null
},
{
"code": "BORDER_SIZE",
"name": "Image Border Size",
"is_required": false,
"type": "integer",
"default_value": "6",
"other_data": null
}
]
}
}
}
{code}
Eliminación de una plantilla personalizada
En este ejemplo, la DELETE
solicitud quita por completo la plantilla personalizada del sistema.
{code}$ curl -b cookies -c cookies -X DELETE 'https://api.appnexus.com/template?id=222'
{
"response": {
"status": "OK"
}
}
{code}