Transactionele berichten beheren managing-transactional-messages
Nadat u een transactiegebeurtenis hebt gemaakt en gepubliceerd, moet u het activeren van deze gebeurtenis integreren in uw website.
U wilt bijvoorbeeld dat de gebeurtenis 'Afkappen met winkelwagentje' wordt geactiveerd wanneer een van uw klanten uw website verlaat voordat ze de producten in hun winkelwagentje kopen. Om dit te doen, als Webontwikkelaar, moet u de REST Transactionele Berichten API gebruiken.
- Verzend een verzoek volgens de methode van de POST, die het verzenden van de transactionele gebeurtenisteweegbrengt.
- Het antwoord op het POST-verzoek bevat een primaire sleutel, waarmee u een of meerdere verzoeken via een GET-aanvraag kunt verzenden. U kunt dan de gebeurtenisstatusverkrijgen.
Een transactiegebeurtenis verzenden sending-a-transactional-event
De transactiegebeurtenis wordt verzonden via een POST-aanvraag met de volgende URL-structuur:
POST https://mc.adobe.io/<ORGANIZATION>/campaign/<transactionalAPI>/<eventID>
-
<ORGANIZATION>: uw persoonlijke ORGANIZATION ID. Zie deze sectie.
-
<transactieAPI>: de Transactionele eindpunten van Berichten API.
De naam van het Transactionele eindpunt van Berichten API hangt van uw instantieconfiguratie af. Deze komt overeen met de waarde "mc" gevolgd door uw persoonlijke organisatie-id. Laten we het voorbeeld nemen van het Geometrixx-bedrijf, met 'geometrixx' als organisatie-id. In dat geval zou het POST-verzoek als volgt zijn:
POST https://mc.adobe.io/geometrixx/campaign/mcgeometrixx/<eventID>
-
<eventID>: het type van gebeurtenis u wilt verzenden. Deze id wordt gegenereerd wanneer de gebeurtenisconfiguratie wordt gemaakt
Koptekst POST-verzoek
Het verzoek moet een header "Content-Type: application/json" bevatten.
U moet een charset, bijvoorbeeld utf-8 toevoegen. Deze waarde is afhankelijk van de REST-toepassing die u gebruikt.
-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' \
POST-aanvraaginstantie
De gebeurtenisgegevens bevinden zich in de JSON POST-hoofdtekst. De gebeurtenisstructuur is afhankelijk van de definitie ervan.
De volgende optionele parameters kunnen aan de inhoud van de gebeurtenis worden toegevoegd om het verzenden van aan de gebeurtenis gekoppelde transactieberichten te beheren:
- vervaldatum (facultatief): na deze datum, zal het verzenden van de transactionele gebeurtenis worden geannuleerd.
- gepland (facultatief): van deze datum, zal de transactionele gebeurtenis worden verwerkt en het transactiebericht zal worden verzonden.
Parameters communicatiekanaal
Afhankelijk van het te gebruiken kanaal, zou de lading de hieronder parameters moeten bevatten:
- E-mailkanaal: "mobilePhone"
- SMS-kanaal: "email"
Als de payload alleen "mobilePhone" bevat, wordt het SMS-communicatiekanaal geactiveerd. Als de payload alleen "email" bevat, wordt het communicatiekanaal voor de e-mail geactiveerd.
In het onderstaande voorbeeld ziet u een payload waarbij een SMS-communicatie wordt geactiveerd:
curl --location 'https://mc.adobe.io/<ORGANIZATION>/campaign/mcAdobe/EVTcartAbandonment' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Cache-Control: no-cache' \
--header 'X-Api-Key: <API_KEY>' \
--header 'Content-Type: application/json;charset=utf-8' \
--header 'Content-Length: 79' \
--data '
{
"mobilePhone":"+9999999999",
"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"
}
}'
Als de payload zowel "email" als "mobilePhone" bevat, is de standaardcommunicatiemethode e-mail. Als u een SMS wilt verzenden wanneer beide velden aanwezig zijn, moet u dit expliciet opgeven in de payload met de parameter "wishedChannel".
Antwoord op de POST-aanvraag
De POST-reactie retourneert de status van de transactionele gebeurtenis op het moment dat deze werd gemaakt. Om zijn huidige status (gebeurtenisgegevens, gebeurtenisstatus…) terug te winnen, gebruik de Primaire Sleutel door het POST antwoord in een GET verzoek wordt teruggegeven:
GET https://mc.adobe.io/<ORGANIZATION>/campaign/<transactionalAPI>/<eventID>/
verzoek van de Steekproef
POST-verzoek om de gebeurtenis te verzenden.
-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'
{
"
":"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"
}
}
Antwoord op het POST-verzoek.
{
"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":""
}
Status van een transactiegebeurtenis transactional-event-status
In het antwoord kunt u met het veld status weten of de gebeurtenis is verwerkt:
- hangend: de gebeurtenis is in behandeling - de gebeurtenis neemt deze status over wanneer het enkel is teweeggebracht.
- verwerking: de gebeurtenis wacht levering - het wordt omgezet in een bericht en het bericht wordt verzonden.
- gepauzeerd: het gebeurtenisproces wordt gepauzeerd. Het wordt niet meer verwerkt, maar in een rij in het gegevensbestand van Adobe Campaign bewaard.
- verwerkt: de gebeurtenis werd verwerkt en het bericht werd met succes verzonden.
- genegeerd: de gebeurtenis werd genegeerd door de levering, typisch wanneer een adres in quarantaine is.
- deliveryFailed: een leveringsfout voorkwam terwijl de gebeurtenis werd verwerkt.
- routingFailed: de verpletterende ontbroken fase - dit kan bijvoorbeeld voorkomen wanneer het type van gespecificeerde gebeurtenis niet kan worden gevonden.
- toOld: de gebeurtenis verliep alvorens het kon worden verwerkt - dit kan om diverse redenen gebeuren, bijvoorbeeld, wanneer verzenden verscheidene tijden ontbreekt (dit resulteert in de gebeurtenis die niet meer bijgewerkt is) of wanneer de server niet meer gebeurtenissen na het worden overbelast kan verwerken.