6. Envio de Email por meio da API

O método é destinado ao envio de um e-mail por meio da API nos casos em que a funcionalidade de Campanhas de envios através da UI do Serviço, por determinadas razões, não é adequada. Os dados são transmitidos no formato application/json.

Requisição HTTP
  • URL: https://sender-solutions.com/api/emails/send-instant-email/
  • Método HTTP: POST
  • Content-Type: application/json
Corpo da requisição (JSON)
{
    "SendEmail": {
        "TrackingSettings": {
            "TrackLinks": true,
            "TrackPlainTextLinks": true,
            "TrackOpen": true,
            "TrackUnsubscribe": true
        },
        "EmailSettings": {
            "InlineImages": true,
            "SendAt": 1769356236,
            "UseDkim": true,
            "UseDkimSelector": null
        },
        "Email": {
            "To": [
                {
                    "Email": "cat@example.com",
                    "Name": "Mr Cat"
                }
            ],
            "Cc": [],
            "Bcc": [],
            "ReplyTo": [],
            "From": {
                "Email": "info@example.org",
                "Name": "MyCompany Title"
            },
            "Headers": [
                {
                    "Name": "X-Request-Id",
                    "Value": "X-abc-123"
                }
            ],
            "Html": "<!doctype html>\r            <html lang=\"en\">\r            <head>\r                <meta charset=\"UTF-8\">\r                <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r                <title>Test Email<\/title>\r            <\/head>\r            <body>\r            <h1>Hello<\/h1>\r            <p>Test email content<\/p>\r            <\/body>\r            <\/html>",
            "PlainText": "Hello\r\nIt's test email content",
            "Subject": "Test Email via API",
            "Attachments": [
                {
                    "ContentBase64": "VGVzdCBGaWxlIGNvbnRlbnQ=",
                    "ContentId": "ec91464b58363fac4924587afecf53d0",
                    "Disposition": "attachment",
                    "Filename": "Attachment12.txt",
                    "Type": "text/plain"
                }
            ]
        }
    }
}
Exemplo de requisição usando cURL

curl --location 'https://sender-solutions.com/api/emails/send-instant-email/' \
--header 'Content-Type: application/json' \
--header 'Authorization: {{api-token}}' \
--data-raw '{
    "SendEmail": {
        "TrackingSettings": {
            "TrackLinks": true,
            "TrackPlainTextLinks": true,
            "TrackOpen": true,
            "TrackUnsubscribe": true
        },
        "EmailSettings": {
            "InlineImages": true,
            "SendAt": 1769356236,
            "UseDkim": true,
            "UseDkimSelector": null
        },
        "Email": {
            "To": [
                {
                    "Email": "cat@example.com",
                    "Name": "Mr Cat"
                }
            ],
            "Cc": [],
            "Bcc": [],
            "ReplyTo": [],
            "From": {
                "Email": "info@example.org",
                "Name": "MyCompany Title"
            },
            "Headers": [
                {
                    "Name": "X-Request-Id",
                    "Value": "X-abc-123"
                }
            ],
            "Html": "<!doctype html>\r            <html lang=\"en\">\r            <head>\r                <meta charset=\"UTF-8\">\r                <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r                <title>Test Email<\/title>\r            <\/head>\r            <body>\r            <h1>Hello<\/h1>\r            <p>Test email content<\/p>\r            <\/body>\r            <\/html>",
            "PlainText": "Hello\r\nIt'\''s test email content",
            "Subject": "Test Email via API",
            "Attachments": [
                {
                    "ContentBase64": "VGVzdCBGaWxlIGNvbnRlbnQ=",
                    "ContentId": "ec91464b58363fac4924587afecf53d0",
                    "Disposition": "attachment",
                    "Filename": "Attachment12.txt",
                    "Type": "text/plain"
                }
            ]
        }
    }
}'
Descrição dos campos

Se nos campos SendEmail.TrackingSettings.* ou SendEmail.EmailSettings.* for transmitido o valor null (ou o campo não for transmitido de forma alguma), o sistema tomará a decisão sobre o processamento do e-mail por conta própria. Recomenda-se sempre indicar todos os campos de configuração importantes para você, para que o comportamento do sistema seja previsível.

Campo Tipo Obrigatório Descrição
SendEmail.TrackingSettings.TrackLinks boolean | null A configuração é responsável pelo rastreamento de cliques em links. Se ativada, os links na parte HTML do e-mail serão modificados para ativar o rastreamento de cliques.
SendEmail.TrackingSettings.TrackPlainTextLinks boolean | null A configuração é responsável pelo rastreamento de cliques em links. Se ativada, os links na parte plain/text do e-mail serão modificados para ativar o rastreamento de cliques.
SendEmail.TrackingSettings.TrackOpen boolean | null A configuração é responsável pelo rastreamento da abertura do e-mail.
SendEmail.TrackingSettings.TrackUnsubscribe boolean | null A configuração é responsável pelo rastreamento dos cancelamentos de assinatura do envio.
SendEmail.EmailSettings.InlineImages boolean | null Se a opção estiver ativada, a parte HTML do e-mail será otimizada: as imagens externas serão adicionadas como anexos inline (não é possível baixá-las). A aparência do e-mail não mudará, mas os clientes de e-mail confiarão mais em um e-mail assim.
SendEmail.EmailSettings.SendAt int | null Data mínima de envio do e-mail (unix timestamp). Usada para envio adiado.
SendEmail.EmailSettings.UseDkim boolean | null Se é necessário usar a assinatura DKIM. O sistema encontrará por conta própria a chave DKIM adequada para este e-mail.
SendEmail.EmailSettings.UseDkimSelector string | null Valor do seletor da chave DKIM que deve ser usada para a assinatura. A transmissão de um valor não vazio neste campo faz com que o sistema considere a propriedade SendEmail.EmailSettings.UseDkim ativada, mesmo que ela seja transmitida como false. Se não for encontrada uma chave adequada com o seletor indicado, o sistema tentará encontrar e usar outra chave DKIM adequada.
SendEmail.Email.To array Array de objetos com as chaves Email e Name. Cada objeto corresponde a um destinatário individual do e-mail. É necessário pelo menos um destinatário.
SendEmail.Email.Cc
SendEmail.Email.Bcc
SendEmail.Email.ReplyTo
array Array de objetos com as chaves Email e Name. Cada objeto corresponde a um endereço de e-mail individual e o adiciona ao cabeçalho correspondente do e-mail (Cc, Bcc, ReplyTo).
SendEmail.Email.To.*.Email string Endereço de e-mail do destinatário. Campo obrigatório para cada objeto em SendEmail.Email.To.*.
SendEmail.Email.To.*.Name string Nome do destinatário. É desejável indicar, se você conhecer esse valor.
SendEmail.Email.Cc.*.Email
SendEmail.Email.Bcc.*.Email
SendEmail.Email.ReplyTo.*.Email
string Endereço de e-mail. Campo obrigatório para cada elemento transmitido dos arrays Cc, Bcc, ReplyTo. Os próprios arrays não são obrigatórios.
SendEmail.Email.Cc.*.Name
SendEmail.Email.Bcc.*.Name
SendEmail.Email.ReplyTo.*.Name
string Nome do destinatário. É desejável indicar, se você conhecer esse valor.
SendEmail.Email.From.Email string Endereço de e-mail do remetente. Com base nele é determinado o domínio de envio. O domínio deve estar adicionado ao projeto na Conta pessoal e confirmado.
SendEmail.Email.From.Name string Nome do remetente. Recomenda-se indicar, para que fique claro aos assinantes de quem veio o e-mail.
SendEmail.Email.Headers array Array de objetos com as propriedades de string Name e Value. Esses cabeçalhos serão adicionados ao e-mail. Alguns cabeçalhos são protegidos e não podem ser adicionados ou redefinidos por meio da API. Transmita apenas os cabeçalhos não padronizados realmente necessários.
SendEmail.Email.Html string Código HTML do e-mail. Pode estar vazio ou ausente, se o campo SendEmail.Email.PlainText for transmitido.
SendEmail.Email.PlainText string Versão em texto do e-mail. Pode estar vazia ou ausente, se o campo SendEmail.Email.Html for transmitido.
SendEmail.Email.Subject string Assunto do e-mail.
SendEmail.Email.Attachments array Array de objetos, cada um dos quais corresponde a um anexo. Os anexos não são obrigatórios, mas se forem transmitidos — todos os campos, exceto ContentId, são obrigatórios. ContentId é necessário apenas para anexos com Disposition = inline.
SendEmail.Email.Attachments.*.ContentBase64 string Conteúdo do anexo no formato base64.
SendEmail.Email.Attachments.*.ContentId string ContentId (identificador) do anexo, deve ser único dentro de um mesmo e-mail. Necessário para anexos com Disposition = inline.
SendEmail.Email.Attachments.*.Disposition string Define o tipo do anexo. Valores possíveis: attachment — anexo que pode ser baixado, e inline — anexo para uso dentro do e-mail.
SendEmail.Email.Attachments.*.Filename string Nome do anexo.
SendEmail.Email.Attachments.*.Type string Tipo MIME do anexo, por exemplo application/pdf.
Exemplo de resposta bem-sucedida
{
    "success": true,
    "SendEmail": {
        "SendMessageRequestId": 49,
        "MessageId": "1vb1rzxzem2naah3dxp3t9k6zoj9d4hc@sender-solutions.com"
    }
}

No corpo da resposta, o campo SendEmail.SendMessageRequestId corresponde ao identificador único da tarefa de envio de um e-mail. O campo SendEmail.MessageId corresponde ao valor único do cabeçalho Message-ID no e-mail.
Esses dados podem ser úteis para a execução de outras requisições à nossa API ou para o contato com o serviço de suporte técnico.