Plantillas de correo electrónico
Referencia de extremo de plantilla de correo electrónico
Las plantillas de correo electrónico forman la base de cada nuevo correo electrónico en Marketo. Aunque los correos electrónicos se pueden desvincular de las plantillas mediante el reemplazo de HTML, los correos electrónicos deben crearse inicialmente con una plantilla como base. Las plantillas se crean como documentos HTML puros en Marketo con metadatos como nombres y descripciones. Hay pocas restricciones en el contenido, pero el HTML de la plantilla debe ser válido y contener al menos una sección editable, que cumpla los requisitos descritos aquí.
Consulta
La consulta de plantillas de correo electrónico sigue el patrón estándar para los recursos, lo que permite realizar consultas por id, por nombre y explorando una carpeta determinada.
Por ID
GET /rest/asset/v1/emailTemplate/{id}.json
{
"success": true,
"warnings": [ ],
"errors": [ ],
"requestId": "14f9e#14a12955df1",
"result": [
{
"id": 19,
"name": "aFgSxuZrBI",
"description": "fUMhVfIyVkhHzRolYzjGyWouTMfjXCPIAZxHMAEmszAjguVKDtbznEeqbqiDuNBzQoHwBJFdXiMzYiMlGUwtuklUhjGfJlDbhaTL",
"createdAt": "2014-11-14T02:41:26Z+0000",
"updatedAt": "2014-11-14T02:41:26Z+0000",
"folder": {
"type": "Folder",
"value": 15
},
"status": "Draft",
"workspace": "Default"
}
]
}
Por nombre
GET /rest/asset/v1/emailTemplate/byName.json?name=Test Template
{
"success": true,
"warnings": [ ],
"errors": [ ],
"requestId": "14f9e#14a12955df1",
"result": [
{
"id": 19,
"name": "aFgSxuZrBI",
"description": "fUMhVfIyVkhHzRolYzjGyWouTMfjXCPIAZxHMAEmszAjguVKDtbznEeqbqiDuNBzQoHwBJFdXiMzYiMlGUwtuklUhjGfJlDbhaTL",
"createdAt": "2014-11-14T02:41:26Z+0000",
"updatedAt": "2014-11-14T02:41:26Z+0000",
"folder": {
"type": "Folder",
"value": 15
},
"status": "Draft",
"workspace": "Default"
}
]
}
Examinar
GET /rest/asset/v1/emailTemplates.json
{
"success":true,
"warnings":[ ],
"errors":[ ],
"requestId":"33c4#14a1832b4a8",
"result":[
{
"id":18,
"name":"AAA0unit3CreateTestEmailTemplateName.2314673e-7bc2-47da-a1e8-66dfdd8a1f1d",
"description":"AssetAPI: getTemplates test",
"createdAt":"2014-11-03T19:52:58Z+0000",
"updatedAt":"2014-11-03T19:52:58Z+0000",
"folder":{
"type":"Folder",
"value":15
},
"status":"Draft",
"workspace":"Default"
},
{
"id":177,
"name":"ABfRGutnwN",
"description":"HMmHkdTRrGaRpPakdgGKICxfMunCEWDUWiThgAbInfaBXxGxSFfjKQIwerngCHRlGTnAJhKPmwlXLcsjGPtWEiILGyeIJTNVHoHg",
"createdAt":"2014-11-20T19:31:06Z+0000",
"updatedAt":"2014-11-20T19:31:06Z+0000",
"folder":{
"type":"Folder",
"value":15
},
"status":"Draft",
"workspace":"Default"
},
{
"id":148,
"name":"ADVHJBQLyw",
"description":null,
"createdAt":"2014-11-20T06:42:57Z+0000",
"updatedAt":"2014-11-20T06:42:57Z+0000",
"folder":{
"type":"Folder",
"value":15
},
"status":"Draft",
"workspace":"Default"
},
{
"id":201,
"name":"AIpwuwiaqb",
"description":null,
"createdAt":"2014-11-25T20:49:06Z+0000",
"updatedAt":"2014-11-25T20:49:06Z+0000",
"folder":{
"type":"Folder",
"value":15
},
"status":"Draft",
"workspace":"Default"
},
{
"id":240,
"name":"aqZGoAskEF",
"description":"uOMEhLpXOEWkwdZxkpcdDjTjKfokxuHEYHPVIVsADFIUEUobzIEaDiqFFxezwfovGfwjuPTJRxUmuHmGpyIklJdDdVosPJdyOVom",
"createdAt":"2014-11-26T21:11:56Z+0000",
"updatedAt":"2014-11-26T21:11:56Z+0000",
"folder":{
"type":"Folder",
"value":15
},
"status":"Draft",
"workspace":"Default"
},
{
"id":199,
"name":"BAxnkVfLGi",
"description":"TzUMQKzKXdgukNCCcaiJHUWASceqlZswhCqDQFDFZULqzYkEiyKcwtQRzKERynReqtMHOhqjnhExCsZopyfzglmXAOjEJdxNURCX",
"createdAt":"2014-11-25T20:49:06Z+0000",
"updatedAt":"2014-11-25T20:49:06Z+0000",
"folder":{
"type":"Folder",
"value":15
},
"status":"Draft",
"workspace":"Default"
},
{
"id":278,
"name":"bcBNCUIHrL",
"description":"UJEPYBRGTSYosZRnMnahMyVtdyxjRpzJMSXyncATKwcLlDAqDnSCFezGVsDZFpZwPzQvBlvaOZzOzBIsIAtqIerZhJFfpqMogoiB",
"createdAt":"2014-11-30T11:30:07Z+0000",
"updatedAt":"2014-11-30T11:30:07Z+0000",
"folder":{
"type":"Folder",
"value":15
},
"status":"Draft",
"workspace":"Default"
}
]
}
Si se consulta el registro en sí, solo se devuelven metadatos sobre el registro. Para obtener contenido, consulte la sección #content.
Crear y actualizar
Crear o actualizar una plantilla es bastante sencillo. El contenido de cada plantilla se almacena como un documento de HTML y debe pasarse a Marketo con un tipo de datos de varias partes/formularios de POST. Debe pasar el encabezado Content-Type apropiado que incluya un límite como se describe en las RFC para multipart y multipart/form-data.
La creación de una plantilla requiere que incluya tres parámetros: nombre, carpeta, contenido. Se puede incluir un parámetro de descripción opcional. El documento de HTML se pasa en el parámetro content, que también debe incluir el parámetro filename convencional como parte de su encabezado Content-Disposition.
POST /rest/asset/v1/emailTemplates.json
Content-Type: multipart/form-data; boundary=mktoBoundary1480963323998
--mktoBoundary1480963323998
Content-Disposition: form-data; name="name"
Sample Email Template
--mktoBoundary1480963323998
Content-Disposition: form-data; name="folder"
{"id":15,"type":"Folder"}
--mktoBoundary1480963323998
Content-Disposition: form-data; name="content"; filename="testHTML.html"
Content-Type: text/html
<html>
<body>
<h1>TEST HTML</h1>
</body>
</html>
--mktoBoundary1480963323998
Content-Disposition: form-data; name="description"
Create email template using API
--mktoBoundary1480963323998--
{
"success": true,
"warnings": [ ],
"errors": [ ],
"requestId": "a99f#14e22b2b85e",
"result": [
{
"id": 1022,
"name": "Sample Email Template",
"description": "Create email template using API",
"createdAt": "2015-06-23T23:13:34Z+0000",
"updatedAt": "2015-06-23T23:13:34Z+0000",
"url": "https://app-abm.marketo.com/#ET1022B2ZN12",
"folder": {
"type": "Folder",
"value": 15,
"folderName": "Templates"
},
"status": "draft",
"workspace": "Default",
"version": 1
}
]
}
La actualización del contenido se realiza mediante un extremo independiente que requiere el ID de la plantilla de correo electrónico. Este punto de conexión solo permite enviar el parámetro de contenido en el cuerpo. Cuando se realiza una actualización, lo que se pase en el parámetro de contenido reemplazará completamente el contenido existente del correo electrónico en un nuevo borrador si se actualiza una versión aprobada, o reemplazará el borrador actual si el recurso está en estado de solo borrador.
POST /rest/asset/v1/emailTemplate/{id}/content.json
Content-Type: multipart/form-data; boundary=mktoBoundaryEiJFFFPFKK2WovsT
--mktoBoundaryEiJFFFPFKK2WovsT
Content-Disposition: form-data; name="content"; filename="testHTML2.html"
Content-Type: text/html
<html>
<body>
<h1>TEST HTML WITH UPDATE</h1>
<div class="mktEditable"></div>
</body>
</html>
--mktoBoundaryEiJFFFPFKK2WovsT--
{
"success": true,
"warnings": [ ],
"errors": [ ],
"requestId": "f8e2#158d0ae24f8",
"result":[
{
"id":1022,
"status":"Draft",
"content":"<html>\n<body>\n<h1>TEST HTML WITH UPDATE</h1>\n<div class="mktEditable"></div>\n</body>\n</html>"
}
]
}
Actualizar metadatos
Para actualizar los metadatos, el nombre y la descripción de una plantilla, puede usar el mismo punto de conexión que para actualizar el contenido, pero pasar un POST application/x-www-url-formencoded en su lugar, con los parámetros name y description.
POST /rest/asset/v1/emailTemplate/{id}.json
Content-Type: application/x-www-form-urlencoded
description=Updated description&name=New Name
{
"success": true,
"warnings": [ ],
"errors": [ ],
"requestId": "17ca5#14a12ab900a",
"result": [
{
"id": 19,
"name": "New Name",
"description": "Updated description",
"createdAt": "2014-11-14T02:41:26Z+0000",
"updatedAt": "2014-11-14T02:41:26Z+0000",
"folder": {
"type": "Folder",
"value": 15
},
"status": "Draft",
"workspace": "Default"
}
]
}
Aprobación
Las plantillas de correo electrónico siguen el patrón estándar para las aprobaciones de registros de recursos. Puede aprobar un borrador, desaprobar una versión aprobada y descartar un borrador existente de una plantilla de correo electrónico a través de cada uno de sus propios extremos.
Aprobar
Al llamar al extremo de aprobación, el correo electrónico se validará según las reglas de los correos electrónicos de Marketo. El nombre del remitente, el nombre del remitente, el correo electrónico de respuesta y el asunto deben rellenarse antes de que se pueda aprobar el correo electrónico.
POST /rest/asset/v1/emailTemplate/{id}/approveDraft.json
{
"success":true,
"warnings":[ ],
"errors":[ ],
"requestId":"abe2#14a1832a97d",
"result":[
{
"id":338,
"name":"lvAVYMZqPS",
"description":"fZLJQSJRvnYbjGTUpIHHqDOuQgQzXQcWIXoOUPwrVLdMHKcbRqwLoSLkWZTUmaMiCIJSfQiufnnrgITUIqjuAPBLpmliiKuIUFYG",
"createdAt":"2014-12-05T02:06:21Z+0000",
"updatedAt":"2014-12-05T02:06:21Z+0000",
"folder":{
"type":"Folder",
"value":15
},
"status":"Approved",
"workspace":"Default"
}
]
}
Desaprobar
El punto final de desaprobación solo se puede utilizar en plantillas aprobadas.
POST /rest/asset/v1/emailTemplate/{id}/unapprove.json
{
"success":true,
"warnings":[ ],
"errors":[ ],
"requestId":"17bfa#14a1832b3c4",
"result":[
{
"id":344,
"name":"LkilkvKrkp",
"description":"yAyUEXuWMtdhpODUmnCkGjpBcyEKnYucxaSoTyYeQzyNbYanxCXWPOzwiIWmeXPUwjfGAUmgnxlhgOPluVqwNittuvxJmNTaHxYM",
"createdAt":"2014-12-05T02:06:23Z+0000",
"updatedAt":"2014-12-05T02:06:23Z+0000",
"folder":{
"type":"Folder",
"value":15
},
"status":"Draft",
"workspace":"Default"
}
]
}
Descartar
La versión de borrador de la plantilla se crea después de actualizar un correo electrónico aprobado.
POST /rest/asset/v1/emailTemplate/{id}/discardDraft.json
{
"success":true,
"warnings":[ ],
"errors":[ ],
"requestId":"17bfa#14a1832b3c4",
"result":[
{
"id":344,
"name":"LkilkvKrkp",
"description":"yAyUEXuWMtdhpODUmnCkGjpBcyEKnYucxaSoTyYeQzyNbYanxCXWPOzwiIWmeXPUwjfGAUmgnxlhgOPluVqwNittuvxJmNTaHxYM",
"createdAt":"2014-12-05T02:06:23Z+0000",
"updatedAt":"2014-12-05T02:06:23Z+0000",
"folder":{
"type":"Folder",
"value":15
},
"status":"Draft",
"workspace":"Default"
}
]
}
Eliminar
POST /rest/asset/v1/emailTemplate/{id}/delete.json
{
"success":true,
"warnings":[ ],
"errors":[ ],
"requestId":"15cef#149d3de83db",
"result":[
{
"id":12
}
]
}
Clonar
Marketo proporciona un método sencillo para clonar una plantilla de correo electrónico. A diferencia de la creación de, este tipo de solicitud se realiza con un POST application/x-www-url-formencoded y toma dos parámetros, name y folder, un objeto JSON incrustado con id y type. La descripción también es un parámetro opcional.
POST /rest/asset/v1/emailTemplate/{id}/clone.json
Content-Type: application/x-www-form-urlencoded
name=Sample Template 01 - deverly&folder={"id":12,"type":"Folder"}&description=This is a sample template
{
"success": true,
"warnings": [],
"errors": [],
"requestId": "905e#14e22c693f8",
"result": [
{
"id": 1024,
"name": "Sample Template 01 - deverly",
"description": "This is a sample template",
"createdAt": "2015-06-23T23:35:16Z+0000",
"updatedAt": "2015-06-23T23:35:16Z+0000",
"url": "https://app-abm.marketo.com/#ET1024B2ZN12",
"folder": {
"type": "Folder",
"value": 12,
"folderName": "Templates"
},
"status": "draft",
"workspace": "Default"
}
]
}
Consultar dependencias de correo electrónico
Use la plantilla de obtención de correo electrónico utilizada por el extremo para recuperar una lista de correos electrónicos que dependen de una plantilla de correo electrónico determinada. El parámetro de ruta de acceso id
especifica la plantilla de correo electrónico principal.
Hay 2 parámetros opcionales. maxReturn
es un entero que limita el número de resultados (el valor predeterminado es 20, el máximo es 200) y offset
es un entero que se puede usar con maxReturn
para leer conjuntos de resultados grandes (el valor predeterminado es 0).
GET /rest/asset/v1/emailTemplates/{id}/usedBy.json
{
"success": true,
"errors": [],
"requestId": "18b0#16fa3344169",
"warnings": [],
"result": [
{
"id": 1022,
"name": "EmailPr.Email2",
"type": "Email",
"status": "approved",
"updatedAt": "2019-12-02T00:42:21Z+0000"
},
{
"id": 1023,
"name": "Default.Email1.email1",
"type": "Email",
"status": "approved",
"updatedAt": "2019-12-02T00:42:21Z+0000"
},
{
"id": 1025,
"name": "Defa.E1",
"type": "Email",
"status": "draft",
"updatedAt": "2019-12-02T00:42:21Z+0000"
},
{
"id": 1052,
"name": "Email v1 Program.Email v1 Email",
"type": "Email",
"status": "draft",
"updatedAt": "2019-06-07T20:07:16Z+0000"
}
]
}