6. Odeslání E-mailu přes API

Metoda je určena k odeslání e-mailu přes API v případech, kdy funkcionalita Kampaní rozesílek přes UI Služby z určitých důvodů nevyhovuje. Data se předávají ve formátu application/json.

HTTP požadavek
  • URL: https://sender-solutions.com/api/emails/send-instant-email/
  • HTTP metoda: POST
  • Content-Type: application/json
Tělo požadavku (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"
                }
            ]
        }
    }
}
Příklad požadavku s použitím 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"
                }
            ]
        }
    }
}'
Popis polí

Pokud v polích SendEmail.TrackingSettings.* nebo SendEmail.EmailSettings.* předáte hodnotu null (nebo pole vůbec nepředáte), systém sám rozhodne o zpracování e-mailu. Doporučuje se vždy uvádět všechna pro vás důležitá pole nastavení, aby bylo chování systému předvídatelné.

Pole Typ Povinné Popis
SendEmail.TrackingSettings.TrackLinks boolean | null Nastavení odpovídá za sledování přechodů na odkazy. Pokud je zapnuto, odkazy v HTML části e-mailu budou změněny pro zapnutí sledování přechodů.
SendEmail.TrackingSettings.TrackPlainTextLinks boolean | null Nastavení odpovídá za sledování přechodů na odkazy. Pokud je zapnuto, odkazy v plain/text části e-mailu budou změněny pro zapnutí sledování přechodů.
SendEmail.TrackingSettings.TrackOpen boolean | null Nastavení odpovídá za sledování otevření e-mailu.
SendEmail.TrackingSettings.TrackUnsubscribe boolean | null Nastavení odpovídá za sledování odhlášení z rozesílky.
SendEmail.EmailSettings.InlineImages boolean | null Pokud je tato možnost zapnuta, HTML část e-mailu bude optimalizována: externí obrázky budou přidány jako inline přílohy (nelze je stáhnout). Vzhled e-mailu se nezmění, ale poštovní klienti budou takovému e-mailu více důvěřovat.
SendEmail.EmailSettings.SendAt int | null Minimální datum odeslání e-mailu (unix timestamp). Používá se pro odložené odeslání.
SendEmail.EmailSettings.UseDkim boolean | null Zda je třeba použít DKIM podpis. Systém sám najde odpovídající DKIM klíč pro tento e-mail.
SendEmail.EmailSettings.UseDkimSelector string | null Hodnota selektoru DKIM klíče, který je třeba použít pro podpis. Předání neprázdné hodnoty tohoto pole vede k tomu, že systém považuje vlastnost SendEmail.EmailSettings.UseDkim za zapnutou, i když je předána jako false. Pokud odpovídající klíč s uvedeným selektorem není nalezen, systém se pokusí najít a použít jiný odpovídající DKIM klíč.
SendEmail.Email.To array Pole objektů s klíči Email a Name. Každý objekt odpovídá za jednotlivého příjemce e-mailu. Je potřeba alespoň jeden příjemce.
SendEmail.Email.Cc
SendEmail.Email.Bcc
SendEmail.Email.ReplyTo
array Pole objektů s klíči Email a Name. Každý objekt odpovídá za jednotlivou e-mailovou adresu a přidává ji do příslušného záhlaví e-mailu (Cc, Bcc, ReplyTo).
SendEmail.Email.To.*.Email string E-mailová adresa příjemce. Povinné pole pro každý objekt v SendEmail.Email.To.*.
SendEmail.Email.To.*.Name string Jméno příjemce. Je vhodné uvést, pokud je vám tato hodnota známa.
SendEmail.Email.Cc.*.Email
SendEmail.Email.Bcc.*.Email
SendEmail.Email.ReplyTo.*.Email
string E-mailová adresa. Povinné pole pro každý předaný prvek polí Cc, Bcc, ReplyTo. Samotná pole nejsou povinná.
SendEmail.Email.Cc.*.Name
SendEmail.Email.Bcc.*.Name
SendEmail.Email.ReplyTo.*.Name
string Jméno příjemce. Je vhodné uvést, pokud je vám tato hodnota známa.
SendEmail.Email.From.Email string E-mailová adresa odesílatele. Na jejím základě se určuje doména odeslání. Doména musí být přidána k projektu v Osobním účtu a potvrzena.
SendEmail.Email.From.Name string Jméno odesílatele. Doporučuje se uvést, aby bylo odběratelům jasné, od koho e-mail přišel.
SendEmail.Email.Headers array Pole objektů s řetězcovými vlastnostmi Name a Value. Tato záhlaví budou přidána k e-mailu. Některá záhlaví jsou chráněná a nelze je přes API přidat ani přepsat. Předávejte pouze skutečně nezbytná nestandardní záhlaví.
SendEmail.Email.Html string HTML kód e-mailu. Může být prázdný nebo chybět, pokud je předáno pole SendEmail.Email.PlainText.
SendEmail.Email.PlainText string Textová verze e-mailu. Může být prázdná nebo chybět, pokud je předáno pole SendEmail.Email.Html.
SendEmail.Email.Subject string Předmět e-mailu.
SendEmail.Email.Attachments array Pole objektů, z nichž každý odpovídá za přílohu. Přílohy nejsou povinné, ale pokud jsou předány — všechna pole kromě ContentId jsou povinná. ContentId je potřeba pouze pro přílohy s Disposition = inline.
SendEmail.Email.Attachments.*.ContentBase64 string Obsah přílohy ve formátu base64.
SendEmail.Email.Attachments.*.ContentId string ContentId (identifikátor) přílohy, musí být jedinečný v rámci jednoho e-mailu. Je potřeba pro přílohy s Disposition = inline.
SendEmail.Email.Attachments.*.Disposition string Určuje typ přílohy. Možné hodnoty: attachment — příloha, kterou lze stáhnout, a inline — příloha pro použití uvnitř e-mailu.
SendEmail.Email.Attachments.*.Filename string Název přílohy.
SendEmail.Email.Attachments.*.Type string MIME typ přílohy, například application/pdf.
Příklad úspěšné odpovědi
{
    "success": true,
    "SendEmail": {
        "SendMessageRequestId": 49,
        "MessageId": "1vb1rzxzem2naah3dxp3t9k6zoj9d4hc@sender-solutions.com"
    }
}

V těle odpovědi pole SendEmail.SendMessageRequestId odpovídá za jedinečný identifikátor úlohy pro odeslání jednoho e-mailu. Pole SendEmail.MessageId odpovídá za jedinečnou hodnotu záhlaví Message-ID v e-mailu.
Tato data mohou být užitečná pro provedení dalších požadavků na naše API nebo pro kontaktování technické podpory.