Mail Transazionali
API Rest mail transazionali
Tutte le funzioni restituiscono un oggetto JSON con i seguenti campi standard:
-
code: codice di errore. 0 = nessun errore, !=0 errore
-
message: vuoto in caso di successo, altimenti messaggio di errore
-
data: campo con i dati specifici della funzione
Tutte le chiamate devono includere nel header X-AUTH-TOKEN l’api key.
Resource Group ¶
Send Mail ¶
Send MailPOST/api/v1/messages/send
-
html: Testo con tag html e inline styles. (Richiesto)
-
text: Testo alternativo senza tag html e inline styles. (Opzionale)
-
subject: Oggetto della mail. (Richiesto)
-
from: Array di indirizzi mail. (Richiesto)
-
to: Array di indirizzi mail. (Richiesto)
-
cc/bcc: Array di indirizzi mail. (Opzionale)
-
tags: Array di tags usati nel testo della mail. (Opzionale)
-
attachments: Array di file da allegare alla mail. I file sono in formato base64. Il totale dei file inviati non devono superare i 10MB. (Opzionale)
-
images: Array di immagini usate nel testo della mail. Le immagini sono in formato base64. La singola immagine non deve superare i 100KB. (Opzionale)
-
NB.
- Se vengono usati i tag nel testo della mail, ci devono essere tanti tags quanti indirizzi mail in to: . Il numero dei tag è arbitrario.
- Le dimensioni dei attachments/images si riferiscono al file convertito in base64 e non al file originale. Il file convertito avrà un overhead di circa 33%.
- La dimensione totale del messaggio non deve superare i 20MB.
Example URI
Headers
Content-Type: application/jsonBody
{
"html": "<p>Buongiorno %name% %surname%. <br> Lei ha %age% anni. <img src='%IMAGETAGID%'> </p>",
"text": "Buongiorno %name% %surname%. Lei ha %age% anni.",
"subject": "Soggetto email",
"from": [
{
"email": "noreply@domain.com",
"name": "noreply"
}
],
"to": [
{
"email": "mario.rossi@domain.com",
"name": "Mario Rossi"
},
{
"email": "alessandro.lovato@domain.com",
"name": "Alessandro Lovato"
}
],
"cc": [
{
"email": "carbon.copy@domain.com",
"name": ""
}
],
"bcc": [
{
"email": "blindcarbon.copy@domain.com",
"name": ""
}
],
"tags": [
{
"email": "mario.rossi@domain.com",
"values": [
{
"tag": "name",
"value": "Mario"
},
{
"tag": "surname",
"value": "Rossi"
},
{
"tag": "age",
"value": 21
}
]
},
{
"email": "alessandro.lovato@domain.com",
"values": [
{
"tag": "name",
"value": "Alessandro"
},
{
"tag": "surname",
"value": "Lovato"
},
{
"tag": "age",
"value": 35
}
]
}
],
"attachments": [
{
"type": "text/plain",
"name": "miofile.txt",
"content": "ZXhhbXBsZSBmaWxl"
}
],
"images": [
{
"type": "image/png",
"name": "IMAGETAGID",
"content": "ZXhhbXBsZSBmaWxl"
}
]
}200Headers
Content-Type: application/jsonBody
{
"id": "abc123abc",
"email": "test@email.com",
"status": 0,
"reject_reason": "hard bounce",
"date": 1505731515
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "id messaggio"
},
"email": {
"type": "string",
"description": "mail destinatario"
},
"status": {
"type": "number",
"description": "stato messaggio"
},
"reject_reason": {
"type": "string",
"description": "motivazione rifiuto"
},
"date": {
"type": "number",
"description": "unix timestamp"
}
}
}Mail Status ¶
Mail StatusPOST/api/v1/messages/info
Visualizza lo status di una determinata mail.
-
STATUS: 0 - email in attesa di essere processata.
-
STATUS: 1 - email processata è inserita nella coda dei messaggi del server di posta.
-
STATUS: 2 - inviato (mail correttamente inviata)
-
STATUS: 3 - (hard bounce) - il messaggio ha generato errori permanenti durante la fase d’invio. (es: indirizzo email non esistente, ecc. )
-
STATUS: 4 - (soft bounce) - il server ha provato a inviare la mail ma per qualche motivo l’operazione non è andata a buon fine. (es: utente destinatario è temporaneamente fuori quota massima, problemi temporanei del server di destinazione ,ecc ). Non è da considerare questo tipo di errore come mail non inviata, perchè il server di default riprova a inviarla per più giorni.
-
STATUS: 5 - (expired) - da considerare come soft bounce
-
STATUS: 6 - (deferred) - da considerare come soft bounce
-
STATUS: 7 - (rejected) - a mail ha generato un errore in fase di creazione.(contenuto allegato errato, ecc. ) da considerare come hard bounce.
-
STATUS: 8 - sconosciuto
- id: Id messaggio. (Richiesto)
Example URI
Headers
Content-Type: application/jsonBody
{
"id": "abc123abc123abc123abc123abc123"
}200Headers
Content-Type: application/jsonBody
{
"code": 0,
"message": "",
"data":
{
"id": "abc123abc123abc123abc123abc123"
"email": "mario.rossi@example.com",
"status": 2,
"opened": false,
"reject_reason": "hard bounce",
}
}