Compartir a través de


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:

  1. La plantilla toma una dirección URL.
  2. Envía un evento a la biblioteca de etiquetas de vendedor.
  3. Seller Tag core tiene un agente de escucha para este evento personalizado e inicia iTunes.
  4. 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 truees , 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 truees , 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_htmlcontent_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_jscontent_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_jscampos , content_htmlo 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
name string Nombre del formato creativo.
Solo lectura.

Macros personalizadas

Debe definir cada macro personalizada utilizada en el content_jscampo , content_htmlo content_xml .

Campo Tipo (longitud) Descripción
code string (30) El nombre de la macro exactamente como se usa en el content_jscampo , content_htmlo 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 truees , 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 trueen , 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 falseactivar 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}