iQロードルールAPI
iQロードルールAPIはPATCHメソッドを使用してプロファイルのロードルールを更新します。
このAPIと利用可能なオブジェクトフィールドについて詳しくは、iQプロファイルAPIとiQプロファイルオブジェクトをご覧ください。
使い方
PATCHメソッドを使用して、iQプロファイルオブジェクト内のロードルールを作成、更新、削除します。
PATCH /v3/tiq/accounts/{ACCOUNT}/profiles/{PROFILE}
PATCHメソッドを使用すると、saveまたはsave-asを使用してプロファイルのロードルールをプログラム的に変更します。APIで変更を加えた後も、アプリケーションにログインして公開する必要があります。
cURLリクエストの例
curl --location --request PATCH 'https://platform.tealiumapis.com/v3/tiq/accounts/{ACCOUNT}/profiles/{PROFILE}' \
  --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUx...MiJ9' \
  --header 'Content-Type: application/json' \
  --data '
認証
ベアラートークンはすべてのAPI呼び出しを認証するために使用され、APIキーではありません。APIキーは認証呼び出しでのみ使用されます。ベアラートークンに加えて、認証応答には、後続のサーバーサイドAPI呼び出しで使用する必要がある地域固有のホスト名が含まれます。
APIキーからベアラートークンを生成する方法については、Tealium API V3 Getting Startedガイドを参照してください。
プロファイルフィールド
プロファイルのロードルールは、以下の可能なフィールドを含むJSONオブジェクトです:
| フィールド | タイプ | 必須 | 説明 | 
|---|---|---|---|
| versionTitle | String | Optional | 保存されたバージョンのタイトル。 saveTypeがsaveAsに構成されている場合のデフォルト:API | {TIMESTAMP}saveTypeがsaveに構成されている場合のデフォルト:既存のバージョンタイトル | 
| saveType | String | Optional | PATCHリクエストで実行する保存のタイプ: saveまたはsaveAs。デフォルトはsaveAs。 | 
| notes | String | Required | パブリッシュバージョンに関する追加のノート。 | 
| op | String | Required | 実行する操作: add、replace、またはremove。 | 
| path | String | Required | 更新するコンポーネントタイプとID、形式: /loadRules。 | 
| value.object | String | Required | 更新されるオブジェクトタイプ: variable、loadRule、またはextension。 | 
| value.name | String | Required (for add/replace) | ロードルールの名前。 | 
| value.status | String | Required | オン/オフステータス: activeまたはinactive。 | 
| value.notes | String | Optional | ロードルールに関するノート。 | 
| value.startDate | Date | value.endDateが空の場合はオプション。 | スケジュールされたロードルールの開始日。日付形式は yyyyMMddHHmmでなければなりません。 | 
| value.endDate | Date | Optional | スケジュールされたロードルールの終了日。日付形式は yyyyMMddHHmmでなければなりません。 | 
| value.loadRuleCondition | Array[object] | Required | 変数名、演算子、値を含むオブジェクトの配列。配列内の各オブジェクトは and演算子で関連付けられ、配列内の各配列はor演算子で関連付けられます。以下の演算子は値を受け付けません:is definedis badge assignedis badge not assignedis not definedis not populated | 
リクエストの例
{
  "versionTitle": "Adding Rule",
  "saveType": "saveAs",
  "notes": "version notes here", 
  "operationList": [
    {
      "op": "add",
      "path": "/loadRules",
      "value":{
        "object": "loadRule",
        "name": "new rule API Dom variable",
        "status": "active",
        "notes": "Load Rule notes here",
        "startDate": "202202020000",
        "endDate": "202202020000",
        "loadRuleCondition": [
          [
            {
              "variable": "udo.new_name",
              "operator": "does_not_equal",
              "value": 10
            }
          ]
        ]   
      }
    }
  ] 
}
PATCH操作パラメータ
POST、PUT、DELETEメソッドの代わりに、PATCHメソッドはopパラメータを使用して実行するアクションを指定します。
opパラメータは以下の値をサポートします:
- add- コンポーネントを作成します。
- replace- コンポーネントを更新します。
- remove- コンポーネントを削除します。
コンポーネントのタイプとIDを指定するには、pathパラメータを使用します。pathパラメータの形式は/{TYPE}/{ID}です。
例えば、ロードルールを追加するには:
"op" : "add",
"path" : "/loadRules"
特定のロードルールを更新するには、IDをパスに追加します:
"op" : "replace",
"path" : "/loadRules/503"
ロードルールの作成
このPATCHメソッドは、プロファイルのロードルールオブジェクトと追加のロードルールフィールドを取ります。
リクエストの例
{
  "versionTitle": "Adding Rule",
  "saveType": "saveAs",
  "notes": "version notes here", 
  "operationList": [
    {
      "op": "add",
      "path": "/loadRules",
      "value":{
        "object": "loadRule",
        "name": "new rule API Dom variable",
        "status": "active",
        "notes": "Load Rule notes here",
        "startDate": "202202020000",
        "endDate": "202202020000",
        "loadRuleCondition": [
          [
            {
              "variable": "udo.new_name",
              "operator": "does_not_equal",
              "value": 10
            }
          ]
        ]   
      }
    }
  ] 
}
ロードルールの更新
このPATCHメソッドは、プロファイルのロードルールオブジェクトと追加のロードルールフィールドを取ります。
リクエストの例
{
  "versionTitle": "Adding Rule",
  "saveType": "saveAs",
  "notes": "version notes here", 
  "operationList": [
    {
      "op": "replace",
      "path": "/loadRules/49",
      "value":{
        "object": "loadRule",
        "name": "new rule API Dom variable",
        "status": "active",
        "notes": "Load Rule notes here",
        "startDate": "202202020000",
        "endDate": "202202020000",
        "loadRuleCondition": [
          [
            {
              "variable": "udo.new_name",
              "operator": "does_not_equal",
              "value": 10
            }
          ]
        ]   
      }
    }
  ] 
}
ロードルールの削除
このPATCHメソッドは、プロファイルのロードルールオブジェクトと追加のロードルールフィールドを取ります。
リクエストの例
{
  "versionTitle": "Adding Rule",
  "saveType": "saveAs",
  "notes": "version notes here", 
  "operationList": [
    {
      "op": "remove",
      "path": "/loadRules/49",
      "value":{
        "object": "loadRule"
      }
    }
  ]
}
エラーメッセージ
このエンドポイントの潜在的なエラーメッセージ:
| エラーコード | エラーメッセージ | 
|---|---|
| 400 | "Validate patch request failed due to %s""Cannot set tag scope extension with tags that do not exist, id: {ID} - {ACCOUNT} | profile: {PROFILE}""Cannot set extension scope to sync if the setting is not turned on - {ACCOUNT} | profile: {PROFILE}""Error in getting next extension id - {ACCOUNT} | profile: {PROFILE}""Profile libraries are out of date, merge changes before patching profile - {ACCOUNT} | profile: {PROFILE}""Not Supported""patchProfile.arg2.notes: must not be empty" | 
| 404 | "Account: {ACCOUNT}, profile: {PROFILE} not found" | 
| 409 | "Users are currently viewing the same account: {ACCOUNT} profile: {PROFILE}"Error saving profile: {PROFILE} for account: {ACCOUNT}, duplicate versions: {VERSIONS} | 
| 500 | "An error occurred""Profile: {PROFILE} inherits from library profile""Unable to invoke request: unknown host, see logs for more detail.""Error saving profile metadata - account: {ACCOUNT} | profile: {PROFILE}""Error saving profile - account: {ACCOUNT} | profile: {PROFILE}""Error saving profile(legacy) - {ACCOUNT} | profile: {PROFILE}" | 
最終更新日 :: 2024年March月29日