NAV
json

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
email 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 .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 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 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.