Modelos de email
Referência de Ponto de Extremidade de Modelo de Email
Modelos de email formam a base para cada novo email no Marketo. Embora os emails possam ser desvinculados dos modelos por meio da substituição do HTML, eles devem ser criados inicialmente com um modelo como base. Os modelos são criados como documentos puros do HTML no Marketo com metadados como nomes e descrições. Há poucas restrições no conteúdo, mas a HTML do modelo deve ser válida e deve conter pelo menos uma seção editável, que siga os requisitos descritos aqui.
Consultar
A consulta de modelos de email segue o padrão padrão de ativos, permitindo consultas por id, por nome e navegação em uma determinada pasta.
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 nome
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"
}
]
}
Navegar
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"
}
]
}
Consultar o próprio registro retornará apenas metadados sobre o registro. Para obter conteúdo, consulte a seção #content.
Criar e atualizar
Criar ou atualizar um modelo é relativamente simples. O conteúdo de cada modelo é armazenado como um documento do HTML e deve ser passado para o Marketo usando um tipo de dados multipart/form de POST. Você deve passar o cabeçalho Content-Type apropriado que inclua um limite conforme descrito nas RFCs para multipart e multipart/form-data.
A criação de um template requer a inclusão de três parâmetros: nome, pasta, conteúdo. Um parâmetro de descrição opcional pode ser incluído. O documento do HTML é transmitido no parâmetro de conteúdo, que também deve incluir o parâmetro de nome de arquivo convencional como parte de seu cabeçalho 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
}
]
}
A atualização do conteúdo é feita usando um ponto de extremidade separado que requer a identificação do modelo de email. Esse endpoint só permite o envio do parâmetro de conteúdo no corpo. Quando uma atualização é feita, o que for transmitido no parâmetro de conteúdo substituirá completamente o conteúdo existente do email em um novo rascunho, se atualizar uma versão aprovada, ou substituirá o rascunho atual, se o ativo estiver em um estado somente de rascunho.
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>"
}
]
}
Atualizar metadados
Para atualizar os metadados, o nome e a descrição de um modelo, você pode usar o mesmo ponto de extremidade para atualizar o conteúdo, mas enviar uma POSTAGEM codificada por aplicativo/x-www-url-formencoded, com os parâmetros de nome e descrição.
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"
}
]
}
Aprovação
Os modelos de email seguem o padrão padrão para aprovações de registros de ativos. Você pode aprovar um rascunho, cancelar a aprovação de uma versão aprovada e descartar um rascunho existente de um modelo de email por meio de cada um de seus próprios endpoints.
Aprovar
Ao chamar o endpoint de aprovação, o email será validado em relação às regras para emails do Marketo. O nome do remetente, do email, da resposta para o email e o assunto devem ser preenchidos antes que o email possa ser aprovado.
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"
}
]
}
Cancelar aprovação
O endpoint não aprovado só pode ser usado em modelos aprovados.
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
A versão de rascunho do modelo é criada depois que um email aprovado é atualizado.
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"
}
]
}
Excluir
POST /rest/asset/v1/emailTemplate/{id}/delete.json
{
"success":true,
"warnings":[ ],
"errors":[ ],
"requestId":"15cef#149d3de83db",
"result":[
{
"id":12
}
]
}
Clonar
O Marketo fornece um método simples para clonar um Modelo de email. Diferentemente da criação de, esse tipo de solicitação é feita com um aplicativo/x-www-url-formencoded POST e usa dois parâmetros obrigatórios, nome e pasta, um objeto JSON incorporado com id e tipo. A descrição também é um 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"
}
]
}
Dependências de Consulta de Email
Use o ponto de extremidade Obter Modelo de Email Usado por para recuperar uma lista de emails que dependem de determinado modelo de email. O parâmetro de caminho id especifica o modelo de email pai.
Há 2 parâmetros opcionais. maxReturn é um número inteiro que limita o número de resultados (o padrão é 20, o máximo é 200) e offset é um número inteiro que pode ser usado com maxReturn para ler grandes conjuntos de resultados (o padrão é 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"
}
]
}