6. Trimiterea Email prin API

Metoda este destinată trimiterii unui e-mail prin API în cazurile în care funcționalitatea Campaniilor de marketing prin UI-ul Serviciului, din anumite motive, nu este potrivită. Datele se transmit în formatul application/json.

Cerere HTTP
  • URL: https://sender-solutions.com/api/emails/send-instant-email/
  • Metodă HTTP: POST
  • Content-Type: application/json
Corpul cererii (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"
                }
            ]
        }
    }
}
Exemplu de cerere cu folosirea 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"
                }
            ]
        }
    }
}'
Descrierea câmpurilor

Dacă în câmpurile SendEmail.TrackingSettings.* sau SendEmail.EmailSettings.* se transmite valoarea null (sau câmpul nu se transmite deloc), sistemul va lua singur decizia privind prelucrarea e-mailului. Se recomandă să indicați întotdeauna toate câmpurile de setări importante pentru voi, pentru ca comportamentul sistemului să fie previzibil.

Câmp Tip Obligatoriu Descriere
SendEmail.TrackingSettings.TrackLinks boolean | null Setarea răspunde de urmărirea clicurilor pe linkuri. Dacă este activată, linkurile din partea HTML a e-mailului vor fi modificate pentru activarea urmăririi clicurilor.
SendEmail.TrackingSettings.TrackPlainTextLinks boolean | null Setarea răspunde de urmărirea clicurilor pe linkuri. Dacă este activată, linkurile din partea plain/text a e-mailului vor fi modificate pentru activarea urmăririi clicurilor.
SendEmail.TrackingSettings.TrackOpen boolean | null Setarea răspunde de urmărirea deschiderii e-mailului.
SendEmail.TrackingSettings.TrackUnsubscribe boolean | null Setarea răspunde de urmărirea dezabonărilor de la campanie.
SendEmail.EmailSettings.InlineImages boolean | null Dacă opțiunea este activată, partea HTML a e-mailului va fi optimizată: imaginile externe vor fi adăugate ca atașamente inline (nu pot fi descărcate). Aspectul e-mailului nu se va schimba, dar clienții de e-mail vor avea mai multă încredere într-un astfel de e-mail.
SendEmail.EmailSettings.SendAt int | null Data minimă de trimitere a e-mailului (unix timestamp). Se folosește pentru trimiterea amânată.
SendEmail.EmailSettings.UseDkim boolean | null Dacă este necesar să se folosească semnătura DKIM. Sistemul va găsi singur cheia DKIM potrivită pentru acest e-mail.
SendEmail.EmailSettings.UseDkimSelector string | null Valoarea selectorului cheii DKIM care trebuie folosită pentru semnătură. Transmiterea unei valori nevide a acestui câmp duce la faptul că sistemul consideră proprietatea SendEmail.EmailSettings.UseDkim activată, chiar dacă ea este transmisă ca false. Dacă nu se găsește o cheie potrivită cu selectorul indicat, sistemul va încerca să găsească și să folosească o altă cheie DKIM potrivită.
SendEmail.Email.To array Array de obiecte cu cheile Email și Name. Fiecare obiect răspunde de un destinatar individual al e-mailului. Este necesar cel puțin un destinatar.
SendEmail.Email.Cc
SendEmail.Email.Bcc
SendEmail.Email.ReplyTo
array Array de obiecte cu cheile Email și Name. Fiecare obiect răspunde de o adresă de e-mail individuală și o adaugă în antetul corespunzător al e-mailului (Cc, Bcc, ReplyTo).
SendEmail.Email.To.*.Email string Adresa de e-mail a destinatarului. Câmp obligatoriu pentru fiecare obiect din SendEmail.Email.To.*.
SendEmail.Email.To.*.Name string Numele destinatarului. Este de dorit să indicați, dacă cunoașteți această valoare.
SendEmail.Email.Cc.*.Email
SendEmail.Email.Bcc.*.Email
SendEmail.Email.ReplyTo.*.Email
string Adresa de e-mail. Câmp obligatoriu pentru fiecare element transmis al array-urilor Cc, Bcc, ReplyTo. Array-urile în sine nu sunt obligatorii.
SendEmail.Email.Cc.*.Name
SendEmail.Email.Bcc.*.Name
SendEmail.Email.ReplyTo.*.Name
string Numele destinatarului. Este de dorit să indicați, dacă cunoașteți această valoare.
SendEmail.Email.From.Email string Adresa de e-mail a expeditorului. Pe baza ei se determină domeniul de trimitere. Domeniul trebuie adăugat la proiect în Contul personal și confirmat.
SendEmail.Email.From.Name string Numele expeditorului. Se recomandă să indicați, pentru ca abonaților să le fie clar de la cine a venit e-mailul.
SendEmail.Email.Headers array Array de obiecte cu proprietățile de tip șir Name și Value. Aceste anteturi vor fi adăugate la e-mail. Unele anteturi sunt protejate și nu pot fi adăugate sau redefinite prin API. Transmiteți doar anteturile nestandardizate cu adevărat necesare.
SendEmail.Email.Html string Codul HTML al e-mailului. Poate fi gol sau absent, dacă se transmite câmpul SendEmail.Email.PlainText.
SendEmail.Email.PlainText string Versiunea text a e-mailului. Poate fi goală sau absentă, dacă se transmite câmpul SendEmail.Email.Html.
SendEmail.Email.Subject string Subiectul e-mailului.
SendEmail.Email.Attachments array Array de obiecte, fiecare dintre care răspunde de un atașament. Atașamentele nu sunt obligatorii, dar dacă sunt transmise — toate câmpurile, în afară de ContentId, sunt obligatorii. ContentId este necesar doar pentru atașamentele cu Disposition = inline.
SendEmail.Email.Attachments.*.ContentBase64 string Conținutul atașamentului în formatul base64.
SendEmail.Email.Attachments.*.ContentId string ContentId (identificatorul) atașamentului, trebuie să fie unic în cadrul unui singur e-mail. Necesar pentru atașamentele cu Disposition = inline.
SendEmail.Email.Attachments.*.Disposition string Definește tipul atașamentului. Valori posibile: attachment — atașament care poate fi descărcat, și inline — atașament pentru folosirea înăuntrul e-mailului.
SendEmail.Email.Attachments.*.Filename string Denumirea atașamentului.
SendEmail.Email.Attachments.*.Type string Tipul MIME al atașamentului, de exemplu application/pdf.
Exemplu de răspuns reușit
{
    "success": true,
    "SendEmail": {
        "SendMessageRequestId": 49,
        "MessageId": "1vb1rzxzem2naah3dxp3t9k6zoj9d4hc@sender-solutions.com"
    }
}

În corpul răspunsului, câmpul SendEmail.SendMessageRequestId răspunde de identificatorul unic al sarcinii de trimitere a unui e-mail. Câmpul SendEmail.MessageId răspunde de valoarea unică a antetului Message-ID din e-mail.
Aceste date pot fi utile pentru executarea altor cereri către API-ul nostru sau pentru adresarea către serviciul de suport tehnic.