Metoda przeznaczona jest do wysyłania wiadomości przez API w przypadkach, gdy funkcjonalność Kampanii wysyłek przez UI Serwisu z pewnych powodów nie jest odpowiednia. Dane przekazywane są w formacie application/json.
Żądanie HTTP
- URL:
https://sender-solutions.com/api/emails/send-instant-email/ - Metoda HTTP: POST
- Content-Type:
application/json
Treść żądania (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"
}
]
}
}
} Przykład żądania z użyciem 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"
}
]
}
}
}'
Opis pól
Jeśli w polach SendEmail.TrackingSettings.* lub SendEmail.EmailSettings.* przekazać wartość null (albo w ogóle nie przekazywać pola), system samodzielnie podejmie decyzję dotyczącą przetwarzania wiadomości. Zaleca się zawsze wskazywać wszystkie ważne dla Ciebie pola ustawień, aby zachowanie systemu było przewidywalne.
| Pole | Typ | Obowiązkowe | Opis |
|---|---|---|---|
SendEmail.TrackingSettings.TrackLinks | boolean | null | Ustawienie odpowiada za śledzenie kliknięć w linki. Jeśli włączone, linki w części HTML wiadomości zostaną zmienione w celu włączenia śledzenia kliknięć. | |
SendEmail.TrackingSettings.TrackPlainTextLinks | boolean | null | Ustawienie odpowiada za śledzenie kliknięć w linki. Jeśli włączone, linki w części plain/text wiadomości zostaną zmienione w celu włączenia śledzenia kliknięć. | |
SendEmail.TrackingSettings.TrackOpen | boolean | null | Ustawienie odpowiada za śledzenie otwarcia wiadomości. | |
SendEmail.TrackingSettings.TrackUnsubscribe | boolean | null | Ustawienie odpowiada za śledzenie rezygnacji z wysyłki. | |
SendEmail.EmailSettings.InlineImages | boolean | null | Jeśli opcja jest włączona, część HTML wiadomości zostanie zoptymalizowana: zewnętrzne obrazy zostaną dodane jako załączniki inline (nie można ich pobrać). Wygląd wiadomości się nie zmieni, ale klienty pocztowe będą bardziej ufać takiej wiadomości. | |
SendEmail.EmailSettings.SendAt | int | null | Minimalna data wysłania wiadomości (unix timestamp). Używana do odroczonego wysyłania. | |
SendEmail.EmailSettings.UseDkim | boolean | null | Czy należy używać podpisu DKIM. System samodzielnie znajdzie odpowiedni klucz DKIM dla tej wiadomości. | |
SendEmail.EmailSettings.UseDkimSelector | string | null | Wartość selektora klucza DKIM, którego należy używać do podpisu. Przekazanie niepustej wartości tego pola powoduje, że system uznaje właściwość SendEmail.EmailSettings.UseDkim za włączoną, nawet jeśli została przekazana jako false. Jeśli odpowiedni klucz o wskazanym selektorze nie zostanie znaleziony, system spróbuje znaleźć i wykorzystać inny odpowiedni klucz DKIM. | |
SendEmail.Email.To | array | Tablica obiektów z kluczami Email i Name. Każdy obiekt odpowiada za osobnego odbiorcę wiadomości. Potrzebny jest co najmniej jeden odbiorca. | |
SendEmail.Email.CcSendEmail.Email.BccSendEmail.Email.ReplyTo | array | Tablica obiektów z kluczami Email i Name. Każdy obiekt odpowiada za osobny adres email i dodaje go do odpowiedniego nagłówka wiadomości (Cc, Bcc, ReplyTo). | |
SendEmail.Email.To.*.Email | string | Adres email odbiorcy. Pole obowiązkowe dla każdego obiektu w SendEmail.Email.To.*. | |
SendEmail.Email.To.*.Name | string | Imię odbiorcy. Zalecane jest podawanie, jeśli ta wartość jest Ci znana. | |
SendEmail.Email.Cc.*.EmailSendEmail.Email.Bcc.*.EmailSendEmail.Email.ReplyTo.*.Email | string | Adres email. Pole obowiązkowe dla każdego przekazanego elementu tablic Cc, Bcc, ReplyTo. Same tablice nie są obowiązkowe. | |
SendEmail.Email.Cc.*.NameSendEmail.Email.Bcc.*.NameSendEmail.Email.ReplyTo.*.Name | string | Imię odbiorcy. Zalecane jest podawanie, jeśli ta wartość jest Ci znana. | |
SendEmail.Email.From.Email | string | Adres email nadawcy. Na jego podstawie określana jest domena wysyłki. Domena musi być dodana do projektu w Panelu osobistym i potwierdzona. | |
SendEmail.Email.From.Name | string | Nazwa nadawcy. Zaleca się podawanie, aby subskrybentom było jasne, od kogo pochodzi wiadomość. | |
SendEmail.Email.Headers | array | Tablica obiektów z tekstowymi właściwościami Name i Value. Te nagłówki zostaną dodane do wiadomości. Niektóre nagłówki są chronione i nie mogą być dodane ani nadpisane przez API. Przekazuj tylko naprawdę niezbędne niestandardowe nagłówki. | |
SendEmail.Email.Html | string | Kod HTML wiadomości. Może być pusty lub nieobecny, jeśli przekazano pole SendEmail.Email.PlainText. | |
SendEmail.Email.PlainText | string | Wersja tekstowa wiadomości. Może być pusta lub nieobecna, jeśli przekazano pole SendEmail.Email.Html. | |
SendEmail.Email.Subject | string | Temat wiadomości. | |
SendEmail.Email.Attachments | array | Tablica obiektów, z których każdy odpowiada za załącznik. Załączniki nie są obowiązkowe, ale jeśli zostały przekazane — wszystkie pola, oprócz ContentId, są obowiązkowe. ContentId jest potrzebny tylko dla załączników z Disposition = inline. | |
SendEmail.Email.Attachments.*.ContentBase64 | string | Zawartość załącznika w formacie base64. | |
SendEmail.Email.Attachments.*.ContentId | string | ContentId (identyfikator) załącznika, musi być unikalny w obrębie jednej wiadomości. Potrzebny dla załączników z Disposition = inline. | |
SendEmail.Email.Attachments.*.Disposition | string | Określa typ załącznika. Możliwe wartości: attachment — załącznik, który można pobrać, oraz inline — załącznik do użycia wewnątrz wiadomości. | |
SendEmail.Email.Attachments.*.Filename | string | Nazwa załącznika. | |
SendEmail.Email.Attachments.*.Type | string | Typ MIME załącznika, na przykład application/pdf. |
Przykład pomyślnej odpowiedzi
{
"success": true,
"SendEmail": {
"SendMessageRequestId": 49,
"MessageId": "1vb1rzxzem2naah3dxp3t9k6zoj9d4hc@sender-solutions.com"
}
} W treści odpowiedzi pole SendEmail.SendMessageRequestId odpowiada za unikalny identyfikator zadania wysłania jednej wiadomości. Pole SendEmail.MessageId odpowiada za unikalną wartość nagłówka Message-ID w wiadomości.
Te dane mogą być przydatne do wykonania innych żądań do naszego API lub do kontaktu z działem wsparcia technicznego.