iQ ロードルール API
iQ Variables APIを使用すると、iQタグ管理プロファイル内でロードルールをプログラム的に作成、更新、削除することができます。
このAPIと利用可能なオブジェクトフィールドについての詳細は、iQ Profiles API および iQ Profiles Objects を参照してください。
動作方法
PATCH
メソッドを使用して、iQプロファイルオブジェクト内のロードルールを作成、更新、削除します。
PATCH /v3/tiq/accounts/{ACCOUNT}/profiles/{PROFILE}
PATCHメソッドを使用すると、保存または名前を付けて保存を使用してプロファイルのロードルールをプログラム的に変更します。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 '
認証
Bearerトークンは、すべてのAPI呼び出しを認証するために使用され、APIキーは認証呼び出しでのみ使用されます。Bearerトークンに加えて、認証応答には、後続のサーバーサイドAPI呼び出しで使用する必要がある地域固有のホスト名が含まれています。
APIキーからBearerトークンを生成する方法については、Authenticationを参照してください。
プロファイルフィールド
プロファイルロードルールは、以下の可能なフィールドを含むJSONオブジェクトです:
FIELD | TYPE | REQUIRED | DESCRIPTION |
---|---|---|---|
versionTitle |
文字列 | 任意 | 結果として保存されるバージョンのタイトル。saveType がsaveAs に構成されている場合のデフォルト:API | {TIMESTAMP} saveType がsave に構成されている場合のデフォルト:既存のバージョンタイトル |
saveType |
文字列 | 任意 | PATCHリクエストで実行する保存のタイプ:save またはsaveAs 。デフォルトはsaveAs です。 |
notes |
文字列 | 必須 | 公開バージョンに関する追加のノート。 |
op |
文字列 | 必須 | 実行する操作:add 、replace 、またはremove 。 |
path |
文字列 | 必須 | 更新するコンポーネントタイプとIDの形式:/loadRules 。 |
value.object |
文字列 | 必須 | 更新されるオブジェクトタイプ:variable 、loadRule 、またはextension 。 |
value.name |
文字列 | 必須(add/replaceの場合) | ロードルールの名前。 |
value.status |
文字列 | 必須 | オン/オフの状態:active またはinactive 。 |
value.notes |
文字列 | 任意 | ロードルールに関するノート。 |
value.startDate |
日付 | value.endDate が空の場合は任意。 |
スケジュールされたロードルールの開始日。日付形式はyyyyMMddHHmm でなければなりません。 |
value.endDate |
日付 | 任意 | スケジュールされたロードルールの終了日。日付形式はyyyyMMddHHmm でなければなりません。 |
value.conditions |
Array[object] | 必須 | 変数名、オペレータ、値を含むオブジェクトの配列。配列内の各オブジェクトはand オペレータで関連付けられ、配列内の各配列はor オペレータで関連付けられます。次のオペレータは値を受け付けません:is defined is badge assigned is badge not assigned is not defined is 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",
"conditions": [
[
{
"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",
"conditions": [
[
{
"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",
"conditions": [
[
{
"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"
}
}
]
}
エラーメッセージ
このエンドポイントの潜在的なエラーメッセージ:
ERROR CODE | ERROR MESSAGE |
---|---|
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}" |
最終更新日 :: 2025年May月12日