Il metodo è destinato all'invio di un'email tramite l'API nei casi in cui la funzionalità delle Campagne di invii tramite l'UI del Servizio, per determinati motivi, non è adatta. I dati vengono trasmessi in formato application/json.
Richiesta HTTP
- URL:
https://sender-solutions.com/api/emails/send-instant-email/ - Metodo HTTP: POST
- Content-Type:
application/json
Corpo della richiesta (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"
}
]
}
}
} Esempio di richiesta 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"
}
]
}
}
}'
Descrizione dei campi
Se nei campi SendEmail.TrackingSettings.* o SendEmail.EmailSettings.* si trasmette il valore null (o non si trasmette affatto il campo), il sistema prenderà autonomamente la decisione sull'elaborazione dell'email. Si raccomanda di indicare sempre tutti i campi di impostazione importanti per te, affinché il comportamento del sistema sia prevedibile.
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
SendEmail.TrackingSettings.TrackLinks | boolean | null | L'impostazione è responsabile del tracciamento dei clic sui link. Se attivata, i link nella parte HTML dell'email verranno modificati per attivare il tracciamento dei clic. | |
SendEmail.TrackingSettings.TrackPlainTextLinks | boolean | null | L'impostazione è responsabile del tracciamento dei clic sui link. Se attivata, i link nella parte plain/text dell'email verranno modificati per attivare il tracciamento dei clic. | |
SendEmail.TrackingSettings.TrackOpen | boolean | null | L'impostazione è responsabile del tracciamento dell'apertura dell'email. | |
SendEmail.TrackingSettings.TrackUnsubscribe | boolean | null | L'impostazione è responsabile del tracciamento delle disiscrizioni dall'invio. | |
SendEmail.EmailSettings.InlineImages | boolean | null | Se questa opzione è attivata, la parte HTML dell'email verrà ottimizzata: le immagini esterne verranno aggiunte come allegati inline (non è possibile scaricarle). L'aspetto dell'email non cambierà, ma i client di posta si fideranno di più di tale email. | |
SendEmail.EmailSettings.SendAt | int | null | Data minima di invio dell'email (unix timestamp). Si usa per l'invio differito. | |
SendEmail.EmailSettings.UseDkim | boolean | null | Se è necessario usare la firma DKIM. Il sistema troverà autonomamente la chiave DKIM adatta per questa email. | |
SendEmail.EmailSettings.UseDkimSelector | string | null | Valore del selettore della chiave DKIM che è necessario usare per la firma. La trasmissione di un valore non vuoto di questo campo fa sì che il sistema consideri la proprietà SendEmail.EmailSettings.UseDkim come attivata, anche se viene trasmessa come false. Se non viene trovata una chiave adatta con il selettore indicato, il sistema tenterà di trovare e usare un'altra chiave DKIM adatta. | |
SendEmail.Email.To | array | Array di oggetti con le chiavi Email e Name. Ogni oggetto corrisponde a un singolo destinatario dell'email. È necessario almeno un destinatario. | |
SendEmail.Email.CcSendEmail.Email.BccSendEmail.Email.ReplyTo | array | Array di oggetti con le chiavi Email e Name. Ogni oggetto corrisponde a un singolo indirizzo email e lo aggiunge all'intestazione corrispondente dell'email (Cc, Bcc, ReplyTo). | |
SendEmail.Email.To.*.Email | string | Indirizzo email del destinatario. Campo obbligatorio per ogni oggetto in SendEmail.Email.To.*. | |
SendEmail.Email.To.*.Name | string | Nome del destinatario. È auspicabile indicarlo se conosci questo valore. | |
SendEmail.Email.Cc.*.EmailSendEmail.Email.Bcc.*.EmailSendEmail.Email.ReplyTo.*.Email | string | Indirizzo email. Campo obbligatorio per ogni elemento trasmesso degli array Cc, Bcc, ReplyTo. Gli array stessi non sono obbligatori. | |
SendEmail.Email.Cc.*.NameSendEmail.Email.Bcc.*.NameSendEmail.Email.ReplyTo.*.Name | string | Nome del destinatario. È auspicabile indicarlo se conosci questo valore. | |
SendEmail.Email.From.Email | string | Indirizzo email del mittente. In base ad esso viene determinato il dominio di invio. Il dominio deve essere aggiunto al progetto nell'Account personale e confermato. | |
SendEmail.Email.From.Name | string | Nome del mittente. Si raccomanda di indicarlo affinché sia chiaro agli iscritti da chi proviene l'email. | |
SendEmail.Email.Headers | array | Array di oggetti con le proprietà stringa Name e Value. Queste intestazioni verranno aggiunte all'email. Alcune intestazioni sono protette e non possono essere aggiunte o sovrascritte tramite l'API. Trasmetti solo le intestazioni non standard realmente necessarie. | |
SendEmail.Email.Html | string | Codice HTML dell'email. Può essere vuoto o assente se viene trasmesso il campo SendEmail.Email.PlainText. | |
SendEmail.Email.PlainText | string | Versione testuale dell'email. Può essere vuota o assente se viene trasmesso il campo SendEmail.Email.Html. | |
SendEmail.Email.Subject | string | Oggetto dell'email. | |
SendEmail.Email.Attachments | array | Array di oggetti, ognuno dei quali corrisponde a un allegato. Gli allegati non sono obbligatori, ma se vengono trasmessi — tutti i campi, tranne ContentId, sono obbligatori. ContentId è necessario solo per gli allegati con Disposition = inline. | |
SendEmail.Email.Attachments.*.ContentBase64 | string | Contenuto dell'allegato in formato base64. | |
SendEmail.Email.Attachments.*.ContentId | string | ContentId (identificatore) dell'allegato, deve essere univoco all'interno di una stessa email. È necessario per gli allegati con Disposition = inline. | |
SendEmail.Email.Attachments.*.Disposition | string | Determina il tipo di allegato. Valori possibili: attachment — allegato che si può scaricare, e inline — allegato per l'uso all'interno dell'email. | |
SendEmail.Email.Attachments.*.Filename | string | Nome dell'allegato. | |
SendEmail.Email.Attachments.*.Type | string | Tipo MIME dell'allegato, ad esempio application/pdf. |
Esempio di risposta riuscita
{
"success": true,
"SendEmail": {
"SendMessageRequestId": 49,
"MessageId": "1vb1rzxzem2naah3dxp3t9k6zoj9d4hc@sender-solutions.com"
}
} Nel corpo della risposta il campo SendEmail.SendMessageRequestId corrisponde all'identificatore univoco del task di invio di una email. Il campo SendEmail.MessageId corrisponde al valore univoco dell'intestazione Message-ID dell'email.
Questi dati possono essere utili per eseguire altre richieste alla nostra API o per contattare il supporto tecnico.