Gestione dei messaggi transazionali managing-transactional-messages
Dopo aver creato e pubblicato un evento transazionale, devi integrarne l’attivazione nel sito web.
Ad esempio, desideri che venga attivato un evento di "abbandono del carrello" ogni volta che uno dei tuoi clienti abbandona il sito web prima di acquistare i prodotti nel carrello. A tal fine, in qualità di sviluppatore web, devi utilizzare l’API per messaggi transazionali REST.
- Invia una richiesta in base al metodo POST, che attiva l'invio dell'evento transazionale.
- La risposta alla richiesta POST contiene una chiave primaria che consente di inviare una o più richieste tramite una richiesta GET. È quindi possibile ottenere lo stato evento.
Invio di un evento transazionale sending-a-transactional-event
L’evento transazionale viene inviato tramite una richiesta POST con la seguente struttura URL:
POST https://mc.adobe.io/<ORGANIZATION>/campaign/<transactionalAPI>/<eventID>
-
<ORGANIZZAZIONE>: ID organizzazione personale. Fai riferimento a questa sezione.
-
<transactionalAPI>: endpoint API per messaggi transazionali.
Il nome dell’endpoint API per messaggi transazionali dipende dalla configurazione dell’istanza. Corrisponde al valore "mc" seguito dal tuo ID organizzazione personale. Prendiamo l’esempio dell’azienda di Geometrixx, con "geometrixx" come ID organizzazione. In tal caso, la richiesta POST sarebbe la seguente:
POST https://mc.adobe.io/geometrixx/campaign/mcgeometrixx/<eventID>
Durante l’anteprima API è visibile anche l’endpoint API per messaggi transazionali.
-
<eventID>: tipo di evento da inviare. Questo ID viene generato durante la creazione della configurazione dell'evento (consulta questa sezione).
Intestazione richiesta POST
La richiesta deve contenere un’intestazione "Content-Type: application/json".
Aggiungere un set di caratteri, ad esempio utf-8. Questo valore dipende dall’applicazione REST in uso.
-X POST \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json;charset=utf-8' \
-H 'Content-Length:79' \
Corpo della richiesta POST
I dati dell’evento sono contenuti nel corpo del POST JSON. La struttura dell’evento dipende dalla sua definizione. Il pulsante di anteprima API nella schermata di definizione delle risorse fornisce un esempio di richiesta. Fai riferimento a questa sezione.
Per gestire l’invio di messaggi transazionali collegati all’evento, è possibile aggiungere al contenuto dell’evento i seguenti parametri facoltativi:
- scadenza (facoltativo): dopo questa data, l'invio dell'evento transazionale verrà annullato.
- pianificato (facoltativo): a partire da questa data, l'evento transazionale verrà elaborato e il messaggio transazionale verrà inviato.
Risposta alla richiesta POST
La risposta di POST restituisce lo stato dell’evento transazionale al momento della creazione. Per recuperare lo stato corrente (dati evento, stato evento…), utilizza la chiave primaria restituita dalla risposta del POST in una richiesta GET:
GET https://mc.adobe.io/<ORGANIZATION>/campaign/<transactionalAPI>/<eventID>/
Richiesta di esempio
POST richiede di inviare l’evento.
-X POST https://mc.adobe.io/<ORGANIZATION>/campaign/mcAdobe/EVTcartAbandonment \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json;charset=utf-8' \
-H 'Content-Length:79'
{
"email":"test@example.com",
"scheduled":"2017-12-01 08:00:00.768Z",
"expiration":"2017-12-31 08:00:00.768Z",
"ctx":
{
"cartAmount": "$ 125",
"lastProduct": "Leather motorbike jacket",
"firstName": "Jack"
}
}
Risposta alla richiesta POST.
{
"PKey":"<PKEY>",
"ctx":
{
"cartAmount": "",
"lastProduct": "",
"firstName": ""
}
"email":"",
"scheduled":"2017-12-01 08:00:00.768Z",
"expiration":"2017-12-31 08:00:00.768Z",
"href": "mcAdobe/EVTcartAbandonment/<PKEY>",
"serverUrl":" https://myserver.com ",
"status":"pending",
"type":""
}
Stato degli eventi transazionali transactional-event-status
Nella risposta, il campo "status" ti consente di sapere se l’evento è stato elaborato o meno:
- in sospeso: l'evento è in sospeso. L'evento assume questo stato quando è appena stato attivato.
- elaborazione: l'evento è in attesa di recapito. Verrà trasformato in un messaggio e il messaggio verrà inviato.
- sospeso: il processo dell'evento è in pausa. Non viene più elaborato, ma mantenuto in coda nel database di Adobe Campaign. Per ulteriori informazioni al riguardo, consulta questa sezione.
- processed: l'evento è stato elaborato e il messaggio inviato correttamente.
- ignorato: evento ignorato dalla consegna, in genere quando un indirizzo è in quarantena.
- deliveryFailed: errore di consegna durante l'elaborazione dell'evento.
- routingFailed: la fase di routing non è riuscita. Ciò può verificarsi, ad esempio, quando non è possibile trovare il tipo di evento specificato.
- tooOld: l'evento è scaduto prima che potesse essere elaborato. Ciò può verificarsi per vari motivi, ad esempio quando un invio non riesce più volte (il che fa sì che l'evento non sia più aggiornato) o quando il server non è più in grado di elaborare gli eventi dopo l'overload.
- targetingFailed: Campaign Standard non è riuscito ad arricchire un collegamento utilizzato per il targeting dei messaggi.