Como criar um Modelo de Envio de E-mail Marketing utilizando a API da MailerWeb
Você poderá criar modelos de e-mail de forma programática utilizando a nossa API de gestão de contatos e campanhas, utilize os métodos abaixo para começar a criar conteúdo em nossa plataforma de envio de e-mail marketing.
Para se integrar à API é necessário que você esteja autenticado e para isso é importante que você tenha acesso ao artigo "Como se integrar a API da MailerWeb?"
Passo 1 - Criando um Modelo de E-mail
Com esse método você poderá criar modelos de e-mails personalizados, inclusive com variáveis personalizadas. Para criar variáveis personalizadas consulte "Como criar um Campo Personalizado".
Para interagir com o Modelo de E-mail, vamos criar o objeto com o seguinte endpoint e parâmetros:
- Campo "name" é utilizado para apenas identificar o nome da mensagem, não será exibido ao destinatário
- Campo "subject" é utilizado para criar o assunto que vai na mensagem a ser enviada
- Campo "html_body_description" é utilizado para criar a mensagem que será enviada.
Os campos personalizados sempre conterão o formato {{variavel}} e podem ser incluidos tanto no assunto como no corpo da mensagem.
POST: /api/v1/campaigns/email_template/
data = { 'name': 'Isso é um teste', 'subject': 'Olá {{name}}', 'html_body_description': 'Isso é um teste' } curl --dump-header - -H "Content-Type: application/json" \ -H "Authorization: ApiKey username:API_KEY"\ -X POST --data data https://painel.mailerweb.com.br/api/v1/campaigns/email_template/
O resultado esperado será semelhante ao JSON abaixo:
{ "date_created": "2020-10-27", "html_body_description": "{{alternative_view|safe}}Olá isso nao um teste{{opt_out|safe}}" "id": 44458, "last_updated": "2020-10-27", "name": "Isso é um teste", "resource_uri": "/api/v1/campaigns/email_template/XXXX58/", "subject": "Olá {{name}}" }
Repare que o ID da Modelo de E-mail está no atributo ID e no atributo resource_url, onde você poderá acessar os detalhes da lista a partir do endpoint entregue por esse parâmetro. A partir de agora, grave esse ID, ele será utilizado para você relacionar as campanhas no momento que for criar uma.
Outro ponto importante, repare que as tags {{alternative_view|safe}} e {{opt_out|safe}} foram colocadas automática pelo sistema. Essas tags se referem ao link de Opt-Out da plataforma e visualização da página alternativa, ainda que você tente alterar essas tags sempre serão colocadas automaticamente. O que você poderá fazer é mudar a posição delas ao longo do conteúdo do modelo de e-mai.
Abaixo segue as variações de erros que podem acontecer ao tentar incluir um modelo de e-mail:
- O campo assunto é obrigatório e não pode estar em branco, caso você não informe um valor para subject.
- O Campo mensagem é obrigatório, caso não informe o campo html_body_description não esteja preenchido
- O modelo de email não pode ser maior que 150k. Por favor, reduza seu modelo ou entre em contato com o suporte técnico, caso coloque um modelo de e-mail que tenha um tamanho superior a 150kb
- Foi encontrado no código fonte do seu html do seu modelo de e-mail um link para o endereço "http://site.com" que aparentemente NÃO parece ser um link válido.Verifique no seu código html na linha XXX e proceda a correção, caso você coloque um link de forma incorreta no código html
Agora que você está de posse do ID da do Modelo de E-mail, vamos ao Passo 2
Passo 2 - Listando os Modelos de E-mail Existentes
Para visualizar todos os modelos de e-mails criados em sua conta, utilize o método abaixo:
GET: /api/v1/campaigns/email_template/
curl --dump-header - -H "Content-Type: application/json" \ -H "Authorization: ApiKey username:API_KEY"\ -X GET --data data https://painel.mailerweb.com.br/api/v1/campaigns/email_template/
O resultado será semelhante a esse
{ "meta": { "limit": 10, "next": "/api/v1/campaigns/email_template/?limit=10&offset=10", "offset": 0, "previous": null, "total_count": 1 }, "objects": [ { "date_created": "2020-10-27", "html_body_description": "{{alternative_view|safe}}Olá isso nao um teste{{opt_out|safe}}" "id": 44458, "last_updated": "2020-10-27", "name": "Isso é um teste", "resource_uri": "/api/v1/campaigns/email_template/XXXX58/", "subject": "Olá {{name}}" }, ] }
Importante notar que será exibido um objeto no formato JSON, onde virão 2 dicionários: meta e objects, a saber:
- Em "meta" você terá uma visão geral de quantos objetos você possui e ainda o link da próxima página do objeto, isso estará no atributo "next" do dicionário;
- Em objects, você terá um detalhe completo do objeto carregado no campo resource_uri, terá o link para chamar para a atualização desse objeto.
Você também poderá consultar objetos de acordo com os atributos existentes nesse formulário, por exemplo:
Listando os modelos por nome:
GET: /api/v1/campaigns/email_template/?name=teste
curl --dump-header - -H "Content-Type: application/json" \ -H "Authorization: ApiKey username:API_KEY"\ -X GET --data data https://painel.mailerweb.com.br/api/v1/campaigns/email_template/?name=teste
Listando os modelos por assunto:
GET: /api/v1/campaigns/email_template/?subject=teste
curl --dump-header - -H "Content-Type: application/json" \ -H "Authorization: ApiKey username:API_KEY"\ -X GET --data data https://painel.mailerweb.com.br/api/v1/campaigns/email_template/?subject=teste
Passo 3 - Atualizando um modelo de e-mail
Para atualizar o modelo de e-mail, basta procurar o modelo por ID e realizar o seguinte post
PATCH: /api/v1/campaigns/email_template/XXX58/
data = { 'name': 'Isso é um teste 2', 'subject': 'Olá {{name}}', 'html_body_description': 'Isso é um teste' } curl --dump-header - -H "Content-Type: application/json" \ -H "Authorization: ApiKey username:API_KEY"\ -X PATCH --data data https://painel.mailerweb.com.br/api/v1/campaigns/email_template/XXX58/
O resultado entregue será:
{ "date_created": "2020-10-27", "html_body_description": "{{alternative_view|safe}}Olá isso nao um teste{{opt_out|safe}}" "id": 44458, "last_updated": "2020-10-27", "name": "Isso é um teste 2", "resource_uri": "/api/v1/campaigns/email_template/XXXX58/", "subject": "Olá {{name}}" }
Através de nossa API você conseguirá criar modelos de e-mail direto de sua aplicação sem a necessidade de utilizar o nosso painel de controle.