6. API üzerinden Email gönderme

Metot, Servisin UI'si üzerinden Gönderim Kampanyaları işlevselliğinin belirli nedenlerle uygun olmadığı durumlarda API üzerinden bir e-posta göndermek için tasarlanmıştır. Veriler application/json formatında iletilir.

HTTP isteği
  • URL: https://sender-solutions.com/api/emails/send-instant-email/
  • HTTP metodu: POST
  • Content-Type: application/json
İsteğin gövdesi (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"
                }
            ]
        }
    }
}
cURL kullanılarak istek örneği

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"
                }
            ]
        }
    }
}'
Alanların açıklaması

SendEmail.TrackingSettings.* veya SendEmail.EmailSettings.* alanlarına null değeri iletilirse (veya alan hiç iletilmezse), sistem e-postanın işlenmesine ilişkin kararı kendisi verir. Sistemin davranışının öngörülebilir olması için, sizin için önemli olan tüm ayar alanlarını her zaman belirtmeniz önerilir.

Alan Tür Zorunlu Açıklama
SendEmail.TrackingSettings.TrackLinks boolean | null Ayar, bağlantılara yapılan tıklamaların izlenmesinden sorumludur. Etkinleştirilirse, e-postanın HTML kısmındaki bağlantılar, tıklamaların izlenmesini etkinleştirmek için değiştirilir.
SendEmail.TrackingSettings.TrackPlainTextLinks boolean | null Ayar, bağlantılara yapılan tıklamaların izlenmesinden sorumludur. Etkinleştirilirse, e-postanın plain/text kısmındaki bağlantılar, tıklamaların izlenmesini etkinleştirmek için değiştirilir.
SendEmail.TrackingSettings.TrackOpen boolean | null Ayar, e-postanın açılmasının izlenmesinden sorumludur.
SendEmail.TrackingSettings.TrackUnsubscribe boolean | null Ayar, gönderimden abonelikten çıkmaların izlenmesinden sorumludur.
SendEmail.EmailSettings.InlineImages boolean | null Seçenek etkinleştirilirse, e-postanın HTML kısmı optimize edilir: harici görüntüler inline eki olarak eklenir (indirilemezler). E-postanın görünümü değişmez, ancak posta istemcileri böyle bir e-postaya daha çok güvenir.
SendEmail.EmailSettings.SendAt int | null E-postanın minimum gönderim tarihi (unix timestamp). Ertelenmiş gönderim için kullanılır.
SendEmail.EmailSettings.UseDkim boolean | null DKIM imzasının kullanılıp kullanılmayacağı. Sistem, bu e-posta için uygun DKIM anahtarını kendisi bulur.
SendEmail.EmailSettings.UseDkimSelector string | null İmza için kullanılması gereken DKIM anahtarının seçici değeri. Bu alanın boş olmayan bir değerinin iletilmesi, false olarak iletilse bile sistemin SendEmail.EmailSettings.UseDkim özelliğini etkin sayması sonucunu doğurur. Belirtilen seçiciye sahip uygun bir anahtar bulunmazsa, sistem başka bir uygun DKIM anahtarını bulmaya ve kullanmaya çalışır.
SendEmail.Email.To array Email ve Name anahtarlarına sahip nesnelerden oluşan dizi. Her nesne, e-postanın ayrı bir alıcısından sorumludur. En az bir alıcı gereklidir.
SendEmail.Email.Cc
SendEmail.Email.Bcc
SendEmail.Email.ReplyTo
array Email ve Name anahtarlarına sahip nesnelerden oluşan dizi. Her nesne, ayrı bir e-posta adresinden sorumludur ve onu e-postanın ilgili başlığına (Cc, Bcc, ReplyTo) ekler.
SendEmail.Email.To.*.Email string Alıcının e-posta adresi. SendEmail.Email.To.* içindeki her nesne için zorunlu alan.
SendEmail.Email.To.*.Name string Alıcının adı. Bu değeri biliyorsanız belirtmeniz önerilir.
SendEmail.Email.Cc.*.Email
SendEmail.Email.Bcc.*.Email
SendEmail.Email.ReplyTo.*.Email
string E-posta adresi. Cc, Bcc, ReplyTo dizilerinin her iletilen öğesi için zorunlu alan. Dizilerin kendisi zorunlu değildir.
SendEmail.Email.Cc.*.Name
SendEmail.Email.Bcc.*.Name
SendEmail.Email.ReplyTo.*.Name
string Alıcının adı. Bu değeri biliyorsanız belirtmeniz önerilir.
SendEmail.Email.From.Email string Gönderenin e-posta adresi. Buna dayanarak gönderim alan adı belirlenir. Alan adı, Kişisel hesapta projeye eklenmiş ve onaylanmış olmalıdır.
SendEmail.Email.From.Name string Gönderenin adı. Abonelerin e-postanın kimden geldiğini anlaması için belirtilmesi önerilir.
SendEmail.Email.Headers array Dize özellikleri Name ve Value olan nesnelerden oluşan dizi. Bu başlıklar e-postaya eklenir. Bazı başlıklar korumalıdır ve API üzerinden eklenemez veya yeniden tanımlanamaz. Yalnızca gerçekten gerekli standart olmayan başlıkları iletin.
SendEmail.Email.Html string E-postanın HTML kodu. SendEmail.Email.PlainText alanı iletilirse boş veya yok olabilir.
SendEmail.Email.PlainText string E-postanın metin sürümü. SendEmail.Email.Html alanı iletilirse boş veya yok olabilir.
SendEmail.Email.Subject string E-postanın konusu.
SendEmail.Email.Attachments array Her biri bir ekten sorumlu olan nesnelerden oluşan dizi. Ekler zorunlu değildir, ancak iletilirlerse — ContentId dışındaki tüm alanlar zorunludur. ContentId yalnızca Disposition = inline olan ekler için gereklidir.
SendEmail.Email.Attachments.*.ContentBase64 string Ekin base64 formatındaki içeriği.
SendEmail.Email.Attachments.*.ContentId string Ekin ContentId'si (tanımlayıcısı), tek bir e-posta içinde benzersiz olmalıdır. Disposition = inline olan ekler için gereklidir.
SendEmail.Email.Attachments.*.Disposition string Ekin türünü tanımlar. Olası değerler: attachment — indirilebilen ek, ve inline — e-postanın içinde kullanmak için ek.
SendEmail.Email.Attachments.*.Filename string Ekin adı.
SendEmail.Email.Attachments.*.Type string Ekin MIME türü, örneğin application/pdf.
Başarılı yanıt örneği
{
    "success": true,
    "SendEmail": {
        "SendMessageRequestId": 49,
        "MessageId": "1vb1rzxzem2naah3dxp3t9k6zoj9d4hc@sender-solutions.com"
    }
}

Yanıtın gövdesinde SendEmail.SendMessageRequestId alanı, bir e-posta gönderme görevinin benzersiz tanımlayıcısından sorumludur. SendEmail.MessageId alanı, e-postadaki Message-ID başlığının benzersiz değerinden sorumludur.
Bu veriler, API'mize başka istekler yürütmek için veya teknik destek servisine başvurmak için faydalı olabilir.