[可用性限制]{class="badge informative" title="僅限已移轉Campaign Standard的使用者使用"}
管理異動訊息 managing-transactional-messages
建立並發佈交易式事件後,您需要將此事件的觸發專案整合至您的網站。
例如,您想要在客戶購買購物車中的產品之前,於其中一人離開您的網站時觸發「購物車放棄」事件。 若要這麼做,身為網頁開發人員,您必須使用REST異動訊息API。
傳送異動事件 sending-a-transactional-event
交易式事件會透過具有下列URL結構的POST請求傳送:
POST https://mc.adobe.io/<ORGANIZATION>/campaign/<transactionalAPI>/<eventID>
-
<組織>:您的個人組織識別碼。 請參閱本節。
-
<transactionalAPI>: Transactional Messages API端點。
異動訊息API端點的名稱取決於您的執行個體設定。 它與值「mc」相對應,後接您的個人組織ID。 讓我們以Geometrixx公司為例,將「geometrixx」作為其組織ID。 在此情況下,POST要求會如下所示:
POST https://mc.adobe.io/geometrixx/campaign/mcgeometrixx/<eventID>
-
<eventID>:您要傳送的事件型別。 此ID是在建立事件設定時產生的
POST要求標頭
請求必須包含「Content-Type: application/json」標頭。
您必須新增字元集,例如 utf-8。 請注意,此值取決於您使用的REST應用程式。
-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要求內文
事件資料包含在JSON POST內文中。 事件結構取決於其定義。
您可以將下列選用引數新增至事件內容,以管理連結至事件的異動訊息的傳送:
- 到期 (選用):在此日期之後,將會取消交易式事件的傳送。
- 已排程 (選用):從這個日期起,將會處理交易式事件並傳送交易式訊息。
通訊通道引數
根據要使用的頻道,裝載應包含以下引數:
- 電子郵件頻道: "mobilePhone"
- 簡訊頻道: "email"
如果承載僅包含「mobilePhone」,則會觸發SMS通訊頻道。 如果裝載僅包含「電子郵件」,則會觸發電子郵件通訊頻道。
以下範例顯示觸發簡訊通訊的裝載:
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"
}
}'
如果裝載同時包含「email」和「mobilePhone」,則預設的通訊方法為email。 若要在兩個欄位同時出現時傳送SMS,您必須在裝載中使用「wishedChannel」引數明確指定它。
回應POST要求
POST回應會傳回建立交易式事件時的狀態。 若要擷取其目前狀態(事件資料、事件狀態……),請在GET要求中使用POST回應傳回的主索引鍵:
GET https://mc.adobe.io/<ORGANIZATION>/campaign/<transactionalAPI>/<eventID>/
範例要求
傳送事件的POST要求。
-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"
}
}
回應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":""
}
異動事件狀態 transactional-event-status
在回應中,「狀態」欄位可讓您知道事件是否已處理:
- 擱置中:事件擱置中 — 事件會在剛觸發時採取此狀態。
- 正在處理:事件正在等候傳遞 — 它正在轉換成訊息,而且正在傳送訊息。
- 已暫停:事件處理序正在暫停。 系統將不再處理該檔案,但會將其保留在Adobe Campaign資料庫的佇列中。
- 已處理:事件已處理,訊息已成功傳送。
- 已忽略:傳送已忽略事件,通常是在隔離位址時。
- deliveryFailed:處理事件時發生傳遞錯誤。
- routingFailed:路由階段失敗 — 例如,當找不到指定的事件型別時,可能會發生這種情況。
- tooOld:事件在可以處理之前就過期了 — 這可能是由多種原因造成的,例如,傳送多次失敗(這會導致事件不再最新),或是伺服器在超載後無法再處理事件。