Introdução
Para realizar um envio de e-mail em massa por API é simples, basta seguir os procedimentos abaixo:
Autenticação
Para utilizar a API do envie.email é necessário autenticar. A autenticação é realizada através dos tokens public-key e private-key, passados via Header a cada requisição. Todos os endpoints requerem que as requisições contenham tokens de autenticação no cabeçalho, conforme exemplo abaixo:
public-key: XXXXXXXXXXXXXXXXXXXX
private-key: XXXXXXXXXXXXXXXXXXXX
Listas
Criar uma lista
Estrutura a ser enviada:
{
"name": "string"
}
Estrutura JSON de confirmaçãoa a ser retornada:
{
"status": "string",
"list_uid": "string"
}
HTTP Request
POST /lists/create
Estrutura para criar uma lista de emails:
Parâmetro | Descrição | Obrigatório |
---|---|---|
name | Nome da lista | Sim |
Receber dados uma lista
HTTP Request
POST /lists/get
Estrutura a ser enviada:
{
"list": "string" }
}
Estrutura JSON de confirmaçãoa a ser retornada:
{
"status": "string",
"data": {
"record": {
"general": {
"list_uid": "string",
"name": "string",
"display_name": "string",
"description": "string"
},
"defaults": {
"from_name": "string",
"reply_to": "string",
"subject": "string"
},
"notifications": {
"subscribe": "string",
"unsubscribe": "string",
"subscribe_to": "string",
"unsubscribe_to": "string"
},
"company": {
"name": "string",
"address_1": "string",
"address_2": "string",
"zone_name": "string",
"city": "string",
"zip_code": "string",
"phone": "string",
"address_format": "string",
"country": {
"country_id": "string",
"name": "string",
"code": "string"
}
}
}
}
}
Estrutura para receber dados uma lista específica de emails:
Parâmetro | Descrição | Obrigatório |
---|---|---|
list | UID da lista | Sim |
Inscritos
Adicionar inscritos
Estrutura a ser enviada:
{
"list": "string",
"subscribers": [
{
"email": "string",
"tags" : ["string"],
"attachments" : [
{
"name": "string",
"data": "string",
"mime": "string"
}
]
}
]
}
Estrutura JSON de confirmaçãoa a ser retornada:
{
"general": {
"name": "string",
"description": "string"
}
}
HTTP Request
POST /subscribers/add
Uma lista pode conter um ou mais destinatários. Os destinatários são adicionados através de requisições ao endpoint /subscriber/add.
Exemplo:
Você deseja adicionar 100 mil inscritos à lista. A melhor forma é dividir esses inscritos em 100 requisições de mil inscritos cada.
Parâmetro | Descrição | Obrigatório |
---|---|---|
list | UID da lista | Sim |
Endereço de e-mail | Sim | |
tags | Array de variáveis para substituição | Não |
attachments | Array de anexos | Não |
Para substituir uma variável na mensagem é simples. Vamos supor que a requisição contenha o seguinte valor:
"subscribers": [
{
"email": "abc@def.com",
"tags" : ["Nome","12345.67890","25/12/19", "25/12/20", "Sobreome"]
}
]
No caso acima, as variáveis de tags ficarão disponíveis na mensagem em ordem: [TAG1], [TAG2], [TAG3]...
Em uma campanha as tags deverão ser usada como o exemplo abaixo:
Prezado [TAG1] [TAG5], gostaríamos de informar que o contrato [TAG2] vencido em [TAG3] está disponível para negociação com uma oferta especial válida até [TAG4].
A única tag que foge da regra é a tag com o endereço de e-mail do destinatário, que é [EMAIL].
Valor nome dos anexos
Será o nome do arquivo em anexo. Não utilizar espaços ou caracteres especiais. Não adicionar a extensão do arquivo, pois a mesma será adicionada automaticamente com base no MIME Type.
Valor data dos anexos
O valor data dos anexos é o arquivo em si convertido em Base64. É necessário que o parse seja feito adequadamente para não quebrar a formatação JSON.
MIME Types de anexos
Por padrão somente os seguintes MIME Types são aceitos para, isso quer dizer que se um outro MIME Type for utilizado, a requisição não será completada com sucesso. Caso precise utilizar um outro tipo de arquivo (MIME Type), entre em contato com o nosso suporte para habilitarmos.
MIME Type | Tipo de Arquivo |
---|---|
application/pdf | |
application/zip | .zip |
text/plain | .txt |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | .xlsx |
application/excel | .xls |
image/jpeg | .jpg |
image/png | .png |
Receber informações de inscritos
HTTP Request
Estrutura a ser enviada:
{
"subscriber_uid": "string"
}
Estrutura JSON de confirmaçãoa a ser retornada:
{
"general": {
"email": "string",
"tags": ["string"],
"attachments" : [
{
"name": "string",
"data": "string",
"mime": "string"
}
]
}
}
POST /subscribers/get
Parâmetro | Descrição | Obrigatório |
---|---|---|
subscriber_uid | UID do inscrito | Sim |
Remover inscrito de uma lista por UID
HTTP Request
POST /subscribers/remove
Estrutura a ser enviada:
{
"list_uid": "string",
"subscriber_uid": "string"
}
Estrutura JSON de confirmaçãoa a ser retornada:
{
"general": {
"name": "string",
"description": "string"
}
}
Parâmetro | Descrição | Obrigatório |
---|---|---|
list_uid | UID da lista | Sim |
subscriber_uid | UID do inscrito | Sim |
Remover inscrito de uma lista por Email
HTTP Request
POST /subscribers/removeByEmail
Estrutura a ser enviada:
{
"list_uid": "string",
"email": "string"
}
Estrutura JSON de confirmaçãoa a ser retornada:
{
"general": {
"name": "string",
"description": "string"
}
}
Parâmetro | Descrição | Obrigatório |
---|---|---|
list_uid | UID da lista | Sim |
Email do inscrito | Sim |
Remover inscrito de todas as listas
HTTP Request
POST /subscribers/removeFromAllLists
Estrutura a ser enviada:
{
"email": "string"
}
Estrutura JSON de confirmaçãoa a ser retornada:
{
"general": {
"name": "string",
"description": "string"
}
}
Parâmetro | Descrição | Obrigatório |
---|---|---|
Email do inscrito | Sim |
Campanhas
Criar uma campanha
HTTP Request
POST /campaigns/create
Estrutura a ser enviada:
{
"name": "string",
"from_name": "string",
"from_email": "string",
"subject": "string",
"reply_to": "string",
"send_at": "string",
"list_uid": "string",
"template": {
"content": "string",
"plain_text": "string"
}
}
Estrutura JSON de confirmaçãoa a ser retornada:
{
"general": {
"name": "string",
"description": "string"
}
}
Parâmetro | Descrição | Obrigatório |
---|---|---|
name | Nome da campanha | Sim |
from_name | Nome do remetente | Sim |
from_email | Email do remetente | Sim |
subject | Assunto da email | Sim |
send_at | Horário de disparo | Não |
list_uid | UID da lista | Sim |
content | Contéudo do email | Sim |
plain_text | Conteúdo em texto puro | Não |
Remover uma campanha
HTTP Request
POST /campaigns/remove
Estrutura a ser enviada:
{
"campanha_uid": "string"
}
Estrutura JSON de confirmaçãoa a ser retornada:
{
"general": {
"name": "string",
"description": "string"
}
}
Parâmetro | Descrição | Obrigatório |
---|---|---|
campanha_uid | UID da campanha | Sim |
Transacionais
Favor conferir em https://api.envie.email/docs/#transacionais
Webhook
Favor conferir em https://api.envie.email/docs/#webhooks
Erros
Os seguintes erros podem ser retornados pela API:
Código | Significado |
---|---|
400 | Bad Request -- Sua requisição é inválida. |
401 | Unauthorized -- Sua chave API está errada. |
403 | Forbidden -- O acesso é restrito. |
404 | Not Found -- Endpoint não encontrado. |
405 | Method Not Allowed -- Método não permitido. |
406 | Not Acceptable -- O formato da requisição não é JSON. |
429 | Too Many Requests -- Você excedeu a quantidade de requisições por segundo! |
500 | Internal Server Error -- Ocorreu um problema interno. Tente outra vez. |
503 | Service Unavailable -- Serviço temporariamente indisponível - tente mais tarde. |