Back to top

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 Mail
POST/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

POST http://polls.apiblueprint.org//api/v1/messages/send
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Status
POST/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

POST http://polls.apiblueprint.org//api/v1/messages/info
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "abc123abc123abc123abc123abc123"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "code": 0,
    "message": "",
    "data": 
            {
                "id": "abc123abc123abc123abc123abc123"
                "email": "mario.rossi@example.com",
                "status": 2,
                "opened": false,
                "reject_reason": "hard bounce",
            }
}

Generated by aglio on 25 Sep 2018