この記事では、Campaign Standard の REST API を使用して、データベースでの操作を実行する方法について説明します。

スコープ

このドキュメントでは、Adobe Campaign Standard の API を使用する方法、および一般的なガイドラインと、それらの実装方法および使用方法の例について説明します。

  1. ACS API を活用するためのシナリオ。
  2. Adobe I/O を介して認証し、JWT を生成する(JSON Web トークン)。
  3. ACS API を使用したプロファイルに対する操作の作成/読み取り/更新/削除(CRUD)を実行します。(ハンズオンエクササイズ)
  4. ACS API を使用して、プロファイルをサービスから登録または登録解除します。(ハンズオンエクササイズ)
  5. API をデモウェブサイトに統合します。(例) 

 

前提条件

ACS APIS のマーケティングビジネスユーザーは、次の事項を理解している必要があります。

  1. API 呼び出しの目的。
  2. API 呼び出しを行う使用事例。
  3. 現実的な問題を解決する技術ソリューションを適用します。

ACS API の開発者には、次のような適切な権限と知識が必要です。

  1. REST API の用途と使用方法。
  2. ACS の管理者権限。
  3. Adobe.IO 認証のセットアップ手順と JWT トークンの生成に関する知識。

参照資料

次の記事は、Adobe I/O を含む、ACS API および関連テクノロジーフレームワークについての参考資料です。

ACS API の現実例

Adobe Campaign Standard は、既存のシステムが ACS プラットフォームと統合してリアルタイムの現実問題を解決できる API を提供します。サインアップやオプトアウトページなどの公開ウェブサイトは、バックエンドシステムに接続してプロファイル情報を保存する必要があります。Adobe Campaign などのバックエンドシステムには、プロファイルデータを取り込んでカスタム操作を実行するための柔軟性と能力があります。

ランディングページと環境設定センターをサインアップします。

ーサンプルウェブサイト Geometrixx ーサンプルからのサインアップページ-顧客または見込み客が名前と電子メールアドレスを登録する手段を提供します。ACS でプロファイル情報と環境設定を取得すると、ACS はユーザーの関心に基づいてパーソナライズされたメッセージを送信できます。

1. キャンペーン API リスナーを持つ登録フォーム。

L4281_1

2. チェックボックスに基づいてカスタムアクションが取得されます。顧客が「電子メール特殊オファー」を選択すると、通常の登録プロセスと比較して、別のカスタム付きカスタムメールギフトクーポンが送信されます。

L4281_2

3. 電子メールの中の「更新詳細」プロファイルを「クリック」したら詳細を変更することはできません。これにより、プロファイルを「プロファイルを更新してください。および環境設定の」詳細を更新する」ページが表示されます。操作を実行するために、プロファイル詳細(Pkey)が Campaign サーバーに渡され、プロファイルが取得されて表示されます。「更新」ボタンをクリックすると、情報がシステムに更新されます(PATCH コマンドを使用)。

L4281_3

このドキュメントでは、主に開発者が上記のシナリオで ACS API を使用できるようにすることを目的とし、電子メールキャンペーンやシステムの作成に成功することを支援します。

ACS API を使用する理由

ビジネス目的

Campaign Standard プラットフォームをウェブサイトおよび/またはその他のビジネスシステム(注文処理、トランザクションシステム、POS など)と統合します。リアルタイムで顧客プロファイルの同期およびメッセージのトリガーが実行されます。


次にいくつか例を示します:

  • 見込み客のオンライン登録
  • 既存の客プロファイルとマーケティングコミュニケーションの環境設定管理。
  • イベントベースのトランザクション通信トリガ – 注文確認、予約日程、パスワードリセットなど。
  • カート放棄の電子メール通信でも可能です。

技術的解決

ACS API を使用すると、開発者とプログラマーは次の操作をシームレスに実行できます。

  1. リアルタイムでデータを同期します。
    1. プロファイルおよびサービスに対して CRUD 操作を実行します。
    2. プロファイルをサービスに登録し、そのプロファイルから登録解除します。
  2. リアルタイムでトリガーされるメッセージ。
    1. カスタムイベントベースの電子メールまたは SMS を、そのアクションに基づいてプロファイルに送信します。

設定

Adobe の認証およびアクセストークンの生成

Adobe Campaign API では、API を要求するユーザーの認証に「API キー」と「ユーザートークン」が必要です。ここでは、Experience Cloud 組織の管理者が Adobe.IO を1ち度の設定で ACS API と統合する方法を管理者に説明します。

公開トークンを使用して ACS API にアクセスするための Adobe.IO の設定

1. Adobe I/O コンソール(https://www.adobe.io/console)にサインインして、IMS 組織を組織ドロップダウンから選択します。「新しい統合」を選択します。

Screen Shot 2017-05-22 at 11.52.09

2. 設定したい統合のタイプを選択します。ここでは、「Access API」を選択して「続行」をクリックします。

Screen Shot 2017-05-22 at 11.58.58

3. Experience Cloud セクションの下の有効な統合リストにある、Adobe Campaign を選択し、「続行」をクリックして下さい。

Screen Shot 2017-05-22 at 12.10.27

4. 新しい統合を選択し、「続行」をクリック。

Screen Shot 2017-05-22 at 12.15.11

5. 新しい統合を作成するのに必要な詳細を入力します。

  • 統合名と説明を示します。
  • 公開キーをアップロードして、Adobe I/O に証明書を登録します。キーは、JWT を生成時に後で使用されます。キーは .crt ファイルである必要があります。
  • 使用する Campaign サービスを選択します。このリストは、最初の手順で選択した組織で使用可能な Campaign ユーザグループのリストです。

次に、「統合を作成」をクリックします。

統合が自動的に作成され、その詳細にアクセスできるようになります。

Screen Shot 2017-05-22 at 12.21.19
Screen Shot 2017-05-22 at 12.25.53

6. JWT を生成するには、次の資格情報を保持します。

  • API キー
  • Client secret
  • 技術アカウント ID
  • 組織 ID
Screen_Shot_2017-05-22_at_12_36_11
Screen_Shot_2017-05-22_at_12_36_40

JWT を使用したトークンの生成

ACS API アクセストークンを利用するために、ユーザー認証に提供されます。上記の保存された資格情報を使用して、JWT を生成します。JWT を生成するには、以下の Python スクリプトを使用します。
他の言語は、オープンソースのコミュニティでサポートされています。

詳細については、次のページを参照してください:https://www.adobe.io/apis/cloudplatform/usermanagement/docs/setup.html

import sys
if sys.version_info[0] ==2:
from ConfigParser import RawConfigParser
from urllib import urlencode
elif sys.version_info[0] >=3:
from configparser import RawConfigParser
from urllib.parse import urlencode
import time
import jwt
import requests
import json
import email.utils
import math
import random
expiry = int(time.time()) + 60*60*24
payload = {
"https://ims-na1.adobelogin.com/s/ent_campaign_sdk" : True,
"exp" : expiry,
"iss" : "<Organization ID> ", // Example : 3CAF2DEA571E82A87F000101@AdobeOrg
"sub" : "<Technical account ID> ", // Example : A5714DE558B7A30C0A495C3A@techacct.adobe.com "aud" : https://ims-na1.adobelogin.com/c/< API key> // Example : 43e61e5733c34c2882d0b4af9580016f
}
priv_file = open("<Path to private key>") // Example : ‘C:/Users/njia/Work/API/ACS API/private.key’
priv_key = priv_file.read()
priv_file.close()
jwt_token = jwt.encode(payload, priv_key, algorithm='RS256')
jwt_token = jwt_token.decode("utf-8")
print(jwt_token)

アクセストークン

REST 操作を実行するには、トークンを生成して使用する必要があります。

参考文献 


認証プロセスおよびトークンの作成について説明します:https://www.adobe.io/apis/cloudplatform/usermanagement/docs/setup.html 

API を使用するには、JSON ウェブトークンの生成が不可欠です。

メール集配人について

API の使用を照会するためには、このドキュメントの手順では REST 呼び出し用の Postman ツールを使用します。

  • デスクトップに Postman を起動できることを確認してください(Chrom のプラグインをインストールします):https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=ja 
  • 電子メールで共有されているすべての POSTMAN サンプル(3 つのファイルがあり、インスタンスごとに1つ)を含む JSON のコレクションの読み込み。
  • 各 JSON コレクションには次のものがあります。
    • ハードコーディングされた API キー。
    • テナント名を含む API エンドポイントの URL を修正します。
    • リアルタイムメッセージングに使用するための設定済みのイベント名(3つのインスタンスで同じ)。
  • アクセストークンは POSTMAN にペーストする必要があります。

リアルタイムのデータ同期

この API を使用すると、開発者はプロファイルに対して次の CRUD 操作を実行できます。

  1. プロファイルを追加します。
  2. 電子メール ID からプロファイルを取得します。
  3. プロファイルを変更します。
  4. アカウントのサービス一覧を表示します。
  5. プロファイルをサービスに登録します。
  6. サービスからプロファイルを登録解除します。

レッスン 1 -プロファイルを追加します

1. POSTMAN を起動し、コレクションをインポートします(このページの下部にある使用可能なアセットが用意されています)。

L4281_12

2. REST API の呼び出し「ACS のプロファイルの挿入」を開いて要求ヘッダー値を確認します。

L4281_13

3. X API キーと URL を、インスタンスに基づいて設定する必要があります。

4. 生成されたトークンに基づいて認証を設定します。

L4281_14

5. 「送信」ボタンをクリックします。

6. 出力ウィンドウ(JSON オブジェクト)の結果を検証します。

L4281_15

リクエストの応答が以下に表示されますー ACS システムに関連付けられているすべてのオブジェクトに関連付けられている一意の ley が PKey と呼ばれます。プロファイルを作成すると、応答には他の属性と一緒に PKey が含まれます。

L4281_16

7. プロファイルを検証します。ACS インスタンスにログインし、プロファイルが作成されたことを確認します。

  • 所与の資格情報を使用して ACS にログインし、トップヘッダバーの「プロファイル」に移動します。
L4281_17
  • プロファイルの電子メールアドレスで検索します。
    • 「Adobe Campaign」の下の左上にある「検索」アイコンをクリックします。
L4281_18
  • 検索条件を電子メールで入力します。この場合 sample@adobe.com。
  • Enter キーを押して、右側のウィンドウに結果を表示します。
L4281_19
  • 結果を検証します。
L4281_20

POST プロファイルを要約するために、API 呼び出しは次のように構成されます。

API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServicesExt/profile/

要求ヘッダー:

  • X-Api-Key:Adobe I/O によってプロビジョニングされた API キーの値
  • 認証:「Bearer」という形式のアクセストークン。
  • キャッシュコントロール:no-cache(コンテンツキャッシュの問題を回避するために推奨)。
  • コンテンツタイプ:application/json – リクエストは、JSON 形式のペイロードを想定しています。

要求メソッドー POST

 
要求本文
要求本文がプロファイル情報で構成された JSON blob でなければなりません。

{
"email":"hello@abd.com",
"cusCustomer_ID":"Adobe1000003",
"firstName":"Hello",
"lastName":"World"
}

レスポンス本文

{
"PKey": “@YDiPuQnFDXw_QJhpYrDS08PihTZGn88AszVPWMNLlM1smuI8hYnGwxCGo9CcvrhxnKhf2ZeF4mLWBqKlPYvvfR5lZac",
"age": 0,
"birthDate": ""
}

レッスン 2 ー電子メールアドレスのプロファイルを取得します

プロファイルは、ACS API の GET メソッドを使用して検索および取得できます。

API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServicesExt/profile/byEmail?email=abcd@adobe.com

リクエストヘッダー:

  • X-Api-Key:Adobe I/O によってプロビジョニングされた API キーの値
  • 認証:「Bearer」という形式のアクセストークン。
  • キャッシュコントロール:no-cache(コンテンツキャッシュの問題を回避するために推奨)。

リクエストメソッドー GET

 
レスポンス本文
応答本文はプロファイル情報で構成される JSON blob を有します。画像の下に、PKey およびその他のプロファイルキーと値が表示されます。

L4281_21

レッスン 3 -プロファイルを更新します

L4281_22

プロファイルは、ACS API で PATCH メソッドを使用して更新できます。

電子メールアドレスを使用してプロファイルを検索します。上記のレッスンのように PKey の値を取得し、PKey を使用してプロファイルを更新します。

API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServicesExt/profile/

リクエストヘッダ

  • X-Api-Key:Adobe I/O によってプロビジョニングされた API キーの値。
  • 認証:「Bearer」という形式のアクセストークン。
  • キャッシュコントロール:no-cache(コンテンツキャッシュの問題を回避するために推奨)。
  • コンテンツタイプ:application/json – リクエストは、JSON 形式のペイロードを想定しています。

リクエストメソッドー PATCH


要求本文
要求本文は、更新される必要がある特定の情報で構成された JSON blob である必要があります。


レスポンス本文
次の画像に示すように、レスポンス本文は PKey およびプロファイル URI から成ります。

L4281_23

変更を確認するには、レスポンス本文の href を使用します。

レッスン 4 -プロファイルの登録リストを取得します

プロファイルは、ACS API の GET メソッドを使用して検索および取得できます。


API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServicesExt/profile/<profile_pkey>/subscriptions

リクエストヘッダ

  • X-Api-Key:Adobe I/O によってプロビジョニングされた API キーの値。
  • 認証:「Bearer」という形式のアクセストークン。
  • キャッシュコントロール:no-cache(コンテンツキャッシュの問題を回避するために推奨)。

リクエストメソッド ー GET

レスポンス本文
応答本文はプロファイルの登録リストを含む JSON blob を有します。

レッスン 5 -リストサービス

アカウント内のすべてのサービスをリストするには、サービス API を呼び出すために GET メソッドを使用します。


API – https://mc.adobe.io/<instance name>.adobe.com/campaign/profileAndServices/service

リクエストヘッダ

  • X-Api-Key:Adobe I/O によってプロビジョニングされた API キーの値。
  • 認証:「Bearer」という形式のアクセストークン。
  • キャッシュコントロール:no-cache(コンテンツキャッシュの問題を回避するために推奨)。

リクエストメソッド

L4281_24

レッスン 6 -プロファイルをサービスに登録します

次の API に PKey を POST することによって、プロファイルをサービスに登録できます。

API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServices/service/<service_id>/subscriptions

リクエストヘッダ

  • X-Api-Key:Adobe I/O によってプロビジョニングされた API キーの値。
  • 認証:「Bearer」という形式のアクセストークン。
  • キャッシュコントロール:no-cache(コンテンツキャッシュの問題を回避するために推奨)。
  • コンテンツタイプ:application/json – リクエストは、JSON 形式のペイロードを想定しています。

リクエストメソッドー POST


要求本文
要求本文はプロファイルの PKey を含む JSON blob である必要があります。

{
"subscriber":{"PKey": " @YDiPuQnFDXw_QJhpYrDS08PihTZGn88AszVPWMNLlM1smuI8hYnGwxCGo9CcvrhxnKhf2ZeF4mLWBqKlPYvvfR5lZac"}
}

レッスン 7 -サービスからプロファイルを登録解除

サービス API で DELETE メソッドを呼び出してプロファイル PKey を渡すことで、プロファイルをサービスから登録解除できます。


API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServices/service/<service_id>/subscriptions

リクエストヘッダ

  • 認証:「Bearer」という形式のアクセストークン。
  • コンテンツタイプ:application/json – リクエストは、JSON 形式のペイロードを想定しています。

リクエストメソッドー DELETE


要求本文
要求本文はプロファイルの PKey を含む JSON blob である必要があります。

{
"subscriber":{"PKey": " @YDiPuQnFDXw_QJhpYrDS08PihTZGn88AszVPWMNLlM1smuI8hYnGwxCGo9CcvrhxnKhf2ZeF4mLWBqKlPYvvfR5lZac"}
}

レッスン 8 -リアルタイムのイベントに基づく電子メールをトリガーする

顧客のアクションに基づいて電子メールをトリガーできます。イベント処理では、カスタム登録された Campaign イベントの POST メソッドを呼び出して、必要なアクションを実行できます。


API - https://<instance name>.adobe.com/rest/<instanace id>/Form_Registration

リクエストヘッダ

  • 認証:「Bearer」という形式のアクセストークン。
  • コンテンツタイプ:application/json – リクエストは、JSON 形式のペイロードを想定しています。

リクエストメソッドー POST


要求本文
要求本文はプロファイルの PKey を含む JSON blob である必要があります。

{
"email": "hw@adobe.com",
"ctx":
{
"MOBILE": "111",
"Email": "hw@adobe.com",
"FNAME": "Xaxaxa"
}
}

レッスン 9 - リアルタイムイベントに基づいて SMS をトリガーします

顧客のアクションに基づいて SMS をトリガーできます。イベント処理では、カスタム登録された Campaign イベントの POST メソッドを呼び出して、必要なアクションを実行できます。


API - https://<instance name>.adobe.com/rest/<instance id>/EVTsms_trigger

リクエストヘッダ

  • 認証:「Bearer」という形式のアクセストークン。
  • コンテンツタイプ:application/json – リクエストは、JSON 形式のペイロードを想定しています。

リクエストメソッドー POST


要求本文
要求本文はプロファイルの PKey を含む JSON blob である必要があります。

{
"mobilePhone":"+9197####5013",
"ctx":
{
"mobile":"+919711##5013",
"coupon":2147483647,
"fname":"Hello",
"email":”helloworld@adobe.com”
}
}

ダウンロード

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー