その他の操作 additional-operations
並べ替え sorting
デフォルトでは、昇順で並べ替えることができます。 降順で並べ替えるには、_order パラメーターの値に %20desc を追加します。
フィールドが並べ替え可能かどうかを知るには、リソースメタデータに対して「並べ替え可能」パラメーターを確認します。 詳しくは、この節を参照してください。
サンプルリクエスト
-
データベース内のメールをアルファベット順に取得するGET リクエストのサンプル
code language-none -X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile/email?_order=email \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <ACCESS_TOKEN>' \ -H 'Cache-Control: no-cache' \ -H 'X-Api-Key: <API_KEY>'
リクエストに対する応答。
code language-none { "content": [ "adam@email.com", "allison.durance@example.com", "amy.dakota@mail.com", "andrea.johnson@mail.com", ... ] ... }
-
データベース内のメールをアルファベットの降順で取得するGET リクエストのサンプル。
code language-none -X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile/email?_order=email%20desc \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <ACCESS_TOKEN>' \ -H 'Cache-Control: no-cache' \ -H 'X-Api-Key: <API_KEY>'
リクエストに対する応答。
code language-none { "content": [ "tombinder@example.com", "tombinder@example.com", "timross@example.com", "john.smith@example.com", ... ] }
フィルタリング filtering
フィルターメタデータの取得
各リソースに対してフィルターを使用できます。 リソースに関連付けられたフィルターを特定するには、リソースメタデータに対してGET リクエストを実行する必要があります。 このリクエストは、特定のリソースに対してすべてのフィルターが定義されている URL を返します。 メタデータについて詳しくは、 この節を参照してください。
フィルターのメタデータを特定し、その使用方法を判断するには、以前に返された URL に対してGET リクエストを実行する必要があります。
リクエストのサンプル
以下のサンプルペイロードは、「profile」リソースの「byText」フィルターメタデータを取得する方法を示しています。 まず、「プロファイル」リソースメタデータでGET リクエストを実行します。
-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/resourceType/profile \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'
フィルターが記述された URL を返します。
{
"filters": {
"href": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/resourceType/<PKEY>/filters/"
}
}
URL でGET リクエストを実行します。 プロファイルリソースのフィルターのリストと、各フィルターに関連付けられたメタデータが返されます。
{
"birthday": {
"PKey": "@FL-CbDFXbnHbXcVpeCGWL46VXJLn1LqxLMPagt2vz8sCxQ52lvB15KiUaxXkxJYQw-tZXYrgUWG6K8QcB4gxVY9RKoba5bRFY3294YFshDmorRr8",
"category": "0150_profile",
"condition": ...,
"data": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile/birthday?type=$value&precision=$value&operator=$value&day=$value&month=$value&includeStart=$value&endDay=$value&endMonth=$value&includeEnd=$value&relativeValue=$value&nextUnitsValue=$value&previousUnitsValue=$value",
"formType": "webPage",
"fragmentName": "",
"label": "Birthday",
}
メタデータ構造をフィルター
各フィルターで同じメタデータ構造を使用できます。
- 「@formType」フィールドと「@webPage」フィールドは技術分野です。
- データ フィールドには、フィルターの使用方法に関するサンプルが表示されます。
- metadata ノードは、フィルターパラメーターを記述します。
- 条件 ノードは、フィルターの目的を示します。 メタデータノードで記述されたフィルターパラメーターは、フィルター条件の作成に使用されます。 フィルター条件ごとに、enabledIf が true の場合、expr が適用されます。
フィルターメタデータ構造のサンプル:
"byText": {
"PKey": "...",
"category": "99_none",
"condition": ...,
"data": "/profileAndServices/profile/byText?text=$value",
"formType": "none",
"fragmentName": "",
"label": "By name or email",
}
フィルターの使用
フィルタリングは、次のリクエストを使用して実行されます。
GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/<resourceName>/by<filterName>?<filterParam>=<filterValue>
1 回のリクエストで複数のフィルターを組み合わせることができます。
GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/<resourceName>/<filter1name>/<filter2name>?<filter1param>=<filter1value>&<filter2param>=<filter2value>
サンプルリクエスト
-
「email」タイプを持つ「service」リソースを取得するGET リクエストのサンプル。
code language-none -X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/byChannel?channel=email \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <ACCESS_TOKEN>' \ -H 'Cache-Control: no-cache' \ -H 'X-Api-Key: <API_KEY>'
リクエストに対する応答。
code language-none { "content": [ { "PKey": "<PKEY>", "created": "2019-09-25 23:20:35.000Z", "href": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/@I_FIiDush4OQPc0mbOVR9USoh36Tt5CsD35lATvQjdWlXrYc0lFkvle2XIwZUbD8GqTVvSp8AfWFUvjkGMe1fPe5nok", "label": "Marketing Newsletter", "lastModified": "2019-09-25 23:20:35.000Z", "limitedDuration": false, "messageType": "email", "mode": "newsletter", ... }, ... ], ... }
-
「Doe」を含む「プロファイル」リソースを取得するGET リクエストのサンプル
「メール」フィールドまたは「姓」フィールド(byText フィルターは「メール」フィールドと「姓」フィールドの両方を検索します)。code language-none -X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile/byText?text=Doe \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <ACCESS_TOKEN>' \ -H 'Cache-Control: no-cache' \ -H 'X-Api-Key: <API_KEY>'
リクエストに対する応答。
code language-none { "content": [ { "PKey": "<PKEY>", "firstName": "John", "lastName":"Doe", "birthDate": "1980-10-24", ... } ... ], ... }
-
タイプが「email」でラベルが「sport」のサービスリソースを取得するGET リクエストのサンプル。
code language-none -X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/byChannel/byText?channel=email&text=sport \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <ACCESS_TOKEN>' \ -H 'Cache-Control: no-cache' \ -H 'X-Api-Key: <API_KEY>'
リクエストに対する応答。
code language-none { "content": [ { "PKey": "<PKEY>", "created": "2019-09-26 09:36:01.014Z", "href": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/<PKEY>", "label": "sport", "lastModified": "2019-09-26 09:36:01.014Z", "limitedDuration": false, "messageType": "email", "mode": "newsletter", "name": "SVC13", ... } ], ... }
カスタムフィルター
カスタムフィルターを使用する場合は、Adobe Campaign Standard インターフェイスでカスタムフィルターを作成してカスタマイズする必要があります。 カスタムフィルターは、標準のフィルターと同じ動作になります。
GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServicesExt/<resourceName>/by<customFilterName>?<customFilterparam>=<customFilterValue>
詳しくは、Campaign Standard ドキュメントを参照してください。
リクエストのサンプル
取引額が 100 ドル以上の「プロファイル」リソースを取得するGET リクエストのサンプル。 「byAmount」フィルターは、最初にAdobe Campaign Standard インターフェイスで定義され、「Transaction」カスタムテーブルにリンクされています。
-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServicesExt/profile/byAmount?amount_parameter=100 \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'
カウント counting
Adobe Campaign REST API は、リクエスト内のレコード数をカウントできます。 それには、count ノードで返された URL を使用します。
リクエストのサンプル
messageType の値が「sms」と等しいすべてのサービスをカウントするには、byChannel フィルターを使用してGET リクエストを実行します。
-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/byChannel?channel=sms \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'
フィルターに対応するサービスを返します。
{
"content": [
{
...
"messageType": "sms",
"mode": "newsletter",
"name": "SVC6",
...
},
...
],
"count": {
"href": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/byChannel/_count?channel=sms&_lineStart=@iKTZ2q3IiSEDqZ5Nw1vdoGnQCqF-8DAUJRaVwR9obqqTxhMy"
},
"serverSidePagination": true
}
count ノードの URL でGET リクエストを実行し、結果の数を取得します。
-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/service/byChannel/_count?channel=sms&_lineStart=@iKTZ2q3IiSEDqZ5Nw1vdoGnQCqF-8DAUJRaVwR9obqqTxhMy \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'
レコード数を返します。
{
"count": 26
}
ページネーション pagination
デフォルトでは、25 個のリソースが 1 つのリストに読み込まれます。
_lineCount パラメーターを使用すると、応答にリストされるリソースの数を制限できます。 その後、「next」ノードを使用して、次の結果を表示できます。
リクエストのサンプル
プロファイルリソースの 1 つのレコードを表示するGET リクエストのサンプル。
-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile?_lineCount=1 \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'
ページネーションを実行する next ノードを使用した、リクエストへの応答。
{
"content": [
{
"PKey": "<PKEY>",
"firstName": "John",
"lastName":"Doe",
"birthDate": "1980-10-24",
...
}
],
"next": {
"href": "https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile/email?_lineCount=10&_
lineStart=@Qy2MRJCS67PFf8soTf4BzF7BXsq1Gbkp_e5lLj1TbE7HJKqc"
}
...
}
デフォルトでは、大量のデータを含むテーブルを操作する場合は next ノードを使用できません。 ページネーションを実行するには、呼び出し URL に _forcePagination=true パラメーターを追加する必要があります。
-X GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServices/profile?_forcePagination=true \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Cache-Control: no-cache' \
-H 'X-Api-Key: <API_KEY>'