トランザクションメッセージの管理 managing-transactional-messages
トランザクションイベントを作成して公開したら、このイベントのトリガーをweb サイトに統合する必要があります。
例えば、顧客のひとりがカート内の商品を購入する前にweb サイトを離れるたびに、「カート放棄」イベントがトリガーされるようにします。 これを行うには、Web開発者として、REST トランザクションメッセージ APIを使用する必要があります。
- POST メソッドに従ってリクエストを送信します。これにより、トランザクションイベント 🔗の送信がトリガーされます。
- POST リクエストへのレスポンスにはプライマリキーが含まれており、GET リクエストを通じて1つまたは複数のリクエストを送信できます。 次に、 イベントステータス を取得できます。
トランザクションイベントの送信 sending-a-transactional-event
トランザクションイベントは、次のURL構造を持つPOST リクエストを通じて送信されます。
POST https://mc.adobe.io/<ORGANIZATION>/campaign/<transactionalAPI>/<eventID>
-
<組織>:個人組織ID。 この節を参照してください。
-
<transactionalAPI>: トランザクションメッセージ API エンドポイント。
トランザクションメッセージ API エンドポイントの名前は、インスタンス設定によって異なります。 「mc」の後に個人組織IDが続く値に対応します。 「geometrixx」を組織IDとするGeometrixxの会社の例を見てみましょう。 この場合、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本文に含まれます。 イベント構造は、その定義によって異なります。
イベントにリンクされたトランザクションメッセージの送信を管理するために、次のオプションパラメーターをイベントコンテンツに追加できます。
- 有効期限 (オプション):この日付以降、トランザクションイベントの送信はキャンセルされます。
- scheduled (オプション):この日付から、トランザクションイベントが処理され、トランザクションメッセージが送信されます。
通信チャネルのパラメーター
使用するチャネルに応じて、ペイロードには次のパラメーターを含める必要があります。
- メールチャネル:「mobilePhone」
- SMS チャネル:「メール」
ペイロードに「mobilePhone」のみが含まれている場合、SMS通信チャネルがトリガーされます。 ペイロードに「電子メール」のみが含まれている場合、電子メールコミュニケーションチャネルがトリガーされます。
次の例は、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"
}
}'
ペイロードに「電子メール」と「携帯電話」の両方が含まれている場合、デフォルトの通信方法は電子メールになります。 両方のフィールドが存在する場合にSMSを送信するには、「wishedChannel」パラメーターを使用して、ペイロードでSMSを明示的に指定する必要があります。
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 データベースのキューに保持されます。
- 処理済み: イベントは処理され、メッセージは正常に送信されました。
- ignored:通常、アドレスが強制隔離されている場合、配信によってイベントが無視されました。
- deliveryFailed: イベントの処理中に配信エラーが発生しました。
- routingFailed:ルーティング フェーズが失敗しました。これは、例えば、指定されたイベントのタイプが見つからないときに発生する可能性があります。
- tooOld: イベントを処理する前に有効期限が切れました。これは、送信が複数回失敗した場合(この結果、イベントが最新ではなくなった場合)や、サーバーが過負荷になった後にイベントを処理できなくなった場合など、様々な理由で発生する可能性があります。