トランザクションメッセージの管理 managing-transactional-messages
トランザクションイベントを作成して公開したら、このイベントのトリガーを Web サイトに統合する必要があります。
例えば、顧客が買い物かごで商品を購入する前に Web サイトを離れたときに「買い物かごの放棄」イベントをトリガーするとします。 これをおこなうには、Web 開発者が REST トランザクションメッセージ API を使用する必要があります。
- POSTメソッドに従ってリクエストを送信し、トリガー トランザクションイベントの送信.
- POSTリクエストへの応答にはプライマリキーが含まれ、1 つのGETリクエストを通じて 1 つ以上のリクエストを送信できます。 その後、 イベントステータス.
トランザクションイベントの送信 sending-a-transactional-event
トランザクションイベントは、次の URL 構造を持つPOSTリクエストを通じて送信されます。
POST https://mc.adobe.io/<ORGANIZATION>/campaign/<transactionalAPI>/<eventID>
-
<organization>:個人の組織 ID。 この節を参照してください。
-
<transactionalapi>:トランザクションメッセージ API endPoints。
トランザクションメッセージ API エンドポイントの名前は、インスタンスの設定に応じて異なります。 値「mc」に続く個人の組織 ID が該当します。 組織 ID が「geometrixx」のGeometrixx会社の例を見てみましょう。 この場合、POSTリクエストは次のようになります。
POST https://mc.adobe.io/geometrixx/campaign/mcgeometrixx/<eventID>
トランザクションメッセージ API エンドポイントは、API プレビュー時にも表示されます。
-
<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です。 イベント構造は定義によって異なります。 リソース定義画面の API プレビューボタンには、リクエストのサンプルが表示されます。 この節を参照してください。
イベントコンテンツに追加して、イベントにリンクされたトランザクションメッセージの送信を管理できます。次のオプションのパラメーターを使用できます。
- 有効期限 (オプション):この日以降、トランザクションイベントの送信はキャンセルされます。
- 予定 (オプション):この日以降、トランザクションイベントが処理され、トランザクションメッセージが送信されます。
応答リクエストに対するPOST
POST応答は、作成時にトランザクションイベントのステータスを返します。 現在のステータス ( イベントプライマリ、イベントステータスなど ) を取得するには、POST応答で返されるイベントキーをGETリクエストで使用します。
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'
{
"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"
}
}
応答リクエストに対する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
応答の「status」フィールドでは、イベントが処理されたかどうかを知ることができます。
- 保留中:イベントは保留中です。イベントがトリガーされたときに、このステータスを取ります。
- 処理中:イベントは配信待ちです。イベントはメッセージに変換され、メッセージは送信中です。
- 一時停止中:イベントプロセスは一時停止中です。 処理は終了しますが、Adobe Campaignデータベースのキューに保持されます。 詳しくは、この節を参照してください。
- 処理済み:イベントは処理され、メッセージは正常に送信されました。
- 無視:通常、アドレスが強制隔離中の場合は、イベントが配信で無視されました。
- deliveryFailed:イベントの処理中に配信エラーが発生しました。
- routingFailed:ルーティングフェーズが失敗しました。これは、指定したイベントのタイプが見つからない場合などに発生する場合があります。
- 古すぎる:イベントは、処理できるより前に期限切れになっています。これは、送信が複数回失敗した(結果としてイベントが最新でなくなった)場合や、サーバーが過負荷になった後にイベントを処理できなくなった場合など、様々な理由で発生する可能性があります。
- targetingFailed:Campaign Standardは、メッセージのターゲティングに使用されているリンクのエンリッチメントに失敗しました。