次の方法で共有


ログ サービスの変更

概要

読み取り専用の変更ログおよび変更ログ詳細サービスは、一連のオブジェクトに対して行われた変更に関する情報を取得するために、他のサービス (以下に示す) と組み合わせて使用されます。 このページでは、これら 2 つのサービスを使用して、関心のあるログに記録された変更の一覧を取得する方法について説明します。 変更ログ サービスは、 "member""advertiser"、または "member_advertiser" ユーザーの種類を持つユーザーのみが使用できます。

注:

変更ログ サービスには、次に示すように、他の Xandr API サービスと若干の違いがあります。

  • 日付フィルター処理に使用される min_last_modified オプションは、 min_timestampに置き換えられます。
  • last_modified オプションはサポートされていません。 代わりに created_on を使用します。

変更の ID を取得するための REST API

HTTP メソッド エンドポイント 説明
GET https://api.appnexus.com/change-log?service=SERVICE&resource_id=ID リソースに発生した変更の ID を取得します。
POST https://api.appnexus.com/change-log
(ログ JSON の変更)
リソースの変更の ID を転記する。

変更ログ サービスの JSON フィールド

注:

  • 変更ログ サービスは読み取り専用です。ただし、一部のフィールドは POST 呼び出しで応答をフィルター処理するために使用できます。 ただし、すべてのフィールドは POST 呼び出しでは使用されないため、 GET をお勧めします。
  • 変更ログ サービスには、すべてのサービスに対して少なくとも 6 か月間のデータが含まれています。それ以上ではない場合。

エンドポイントへの入力として受け入れられるフィールド

フィールド 種類 説明
service string 変更を行うために使用されるサービス。 次に、使用可能な値の例をいくつか示します。
- insertion-order
- line-item
- campaign
- profile

手記: 現在、 budget-splitter サービスはブロックリストにあります。
必須: はい
フィルター: はい
resource_id int 変更を行うために使用されるオブジェクトの ID。
必須: はい
フィルター: はい
additional_fields string
- GET 要求の場合、これはコンマ区切り文字列のグループです。 たとえば、 additional_fields = request_sourceuser_idobject_json
- POST 要求の場合、これは文字列配列です。 たとえば、"additional_fields":["request_source","user_id","object_json”] のように指定します。
このフィールドを使用すると、ユーザーは応答に追加のデータを追加できます。 additional_fieldsには、追加の戻り値フィールドを含めることができます。 受け入れられる値の例を次に示します。
- request_source
- user_id
- object_json
必須: いいえ
フィルター: いいえ

エンドポイントからの応答で返されるフィールド

フィールド 種類 説明
min_timestamp timestamp オブジェクトに対する最も早い変更の日時 ( YYYY-MM-DD または YYYY-MM-DDHH:MM:SS 形式)。
max_timestamp timestamp オブジェクトに対する最後の変更の日時 ( YYYY-MM-DD または YYYY-MM-DDHH:MM:SS 形式)。
start_element int 既定では、 change-log サービスは 100 トランザクション以下を返します。 トランザクションが増える場合は、 start_element を使用してオフセットを設定します。 クエリ文字列に「」と入力します。 GET要求とPOST要求の両方に含めることができます。
num_elements int 既定では、 change-log サービスは 100 トランザクション以下を返します。 トランザクションが多い場合は、 num_elements を使用して、指定した数のトランザクションを取得します。 クエリ文字列に「」と入力します。 GET要求とPOST要求の両方に含めることができます。
service string 変更を行うために使用されるサービス。
resource_id int 変更を行うために使用されるオブジェクトの ID。
additional_fields string このフィールドは、入力で指定された応答に追加のデータを返します。
transaction_id int エンドポイントへの入力として受け入れられた変更トランザクションの ID。
resource_id int 変更を行うために使用されるオブジェクトの ID。
created_on timestamp オブジェクトに対する変更の日付と時刻を YYYY-MM-DDHH:MM:SS 形式で指定します。
sort string “FIELD.[asc\|desc]”形式の文字列。 たとえば、created_onでの昇順並べ替えのcreated_on.asc。 現在、 created_on での並べ替えのみが許可されています。
modified_by_admin ブール値 管理者のみが変更した項目でフィルター処理します。

手記: この要求パラメーターは、 GET 要求でのみ使用できます。
modified_by_plugin ブール値 プラグインによってのみ変更された項目でフィルター処理します。

手記: この要求パラメーターは、 GET 要求でのみ使用できます。
transactions_with_changes ブール値 変更がある項目でフィルター処理します。

変更の詳細を取得するための REST API

HTTP メソッド エンドポイント 説明
GET https://api.appnexus.com/change-log-detail?service=SERVICE&resource_id=ID&transaction_id=ID リソースへの変更の詳細をフェッチします。
POST https://api.appnexus.com/change-log-detail
(ログ詳細 JSON の変更)
変更の詳細をリソースに投稿します。

変更ログの詳細サービスの JSON フィールド

注:

変更ログの詳細サービスは読み取り専用です。ただし、一部のフィールドは POST 呼び出しで応答をフィルター処理するために使用できます。

変更ログの詳細サービスでエンドポイントへの入力として受け入れられるフィールド

フィールド 種類 説明
service string 変更を行うために使用されるサービス。
必須: はい
フィルター: はい
transaction_id int エンドポイントへの入力として受け入れられた変更トランザクションの ID。
必須: はい
フィルター: はい
previous_object ブール値 true の場合、クエリされたトランザクションと以前のトランザクションの違いが表示されます。 それ以外の場合は、クエリされたトランザクションと次のトランザクションの違いが既定で表示されます。 この入力は、クエリ パラメーターまたは要求本文で渡すことができます。
既定値: false
必須: いいえ
フィルター: はい

変更ログの詳細サービスのエンドポイントからの応答で返されるフィールド

フィールド 種類 説明
created_on timestamp オブジェクトに対する変更の日付と時刻を YYYY-MM-DDHH:MM:SS 形式で指定します。
user_id int 変更を行ったユーザーの ID。
method 列挙 変更を行うために使用される API メソッド。 使用可能な値は次のとおりです。
- "put"
- "post"
- "delete"
url string 元の要求の URL。
changes オブジェクトの配列 返されるオブジェクトに加えられた変更に関する詳細。 changes配列内の各オブジェクトには、フィールドが含まれています。
plugin_id int 変更を加えたプラグインの ID。 null場合、プラグインは変更を加えませんでした (ユーザーが行いました)。 プラグインの詳細については、 プラグイン サービスに関するページを参照してください。
transaction_id int エンドポイントへの入力として受け入れられた変更トランザクションの ID。
member_id int 変更を開始したメンバーの ID。
num_of_changes int オブジェクトに加えられたフィールドの変更の数。 これは、"changed"の値がtrueされる"changes"フィールドの数に対応します。
modified_by_admin ブール値 変更が管理者によって開始されるかどうかを指定します。
admin_id int 変更を開始した管理者の ID。
user_full_name string 変更を加えたユーザーの名前。 これは、応答で返される "user_id" フィールドに対応します。
resource_id int 変更を行うために使用されるオブジェクトの ID。
raw_json string 読み取り専用です。 変更トランザクションの前の完全なデータ オブジェクト JSON。 このトランザクションの raw_json 値は、変更された内容を推測する最後のトランザクションの値と比較されます。
session_id string 読み取り専用です。 API へのアクセスに使用されるユーザーの認証トークン。
internal_txn ブール値 読み取り専用です。 true場合、これは内部トランザクションです (つまり、API 呼び出しは別の内部 API 呼び出しによってトリガーされました)。
request_source 列挙 読み取り専用です。 API 要求が発生した場所。 使用可能な値:
- "hbui": 要求が UI からであることを示します。
- "direct": 直接 API 呼び出しからの要求を示します。
- "LIAA-allocation": 行項目編集フォームで更新が行われたことを示します。
- "bmwBulkEdit""LIAA-blkupld": 更新がそれぞれ一括編集と一括インポートで実行されたことを示します。
- "bmwInlineEdit": ユーザーが、個々のセクションを編集できる詳細ページの鉛筆アイコンをクリックしたことを示します。
- "LIAA-dup": 重複プロセスを通じて行われたことを示します。

注: この値は POST 呼び出しでのみ表示されます。
client_ip string 読み取り専用です。 クライアントの IP アドレス。
ip_info string 読み取り専用です。 要求がプロキシからの IP アドレスのチェーン。

changes オブジェクト

フィールド 種類 説明
field_name string 読み取り専用です。 フィールドの名前が変更されました。
old_value Any (int/string/boolean/timestamp など) 読み取り専用です。 フィールドの古い値。
new_value Any (int/string/boolean/timestamp など) 読み取り専用です。 フィールドの新しい値。 new_valueのデータ型は、old_valueと同じです。
changed ブール値 読み取り専用です。 true場合は、フィールドの値が [Log Services]\(ログ サービス\) #[変更] であることを意味します。

を使用して変更ログの詳細を取得する GET

手順 1: /change-log を呼び出して、目的のトランザクションを取得する resource_id

GET/change-logします。

$ curl -b cookies 'https://api.appnexus.com/change-log?service=line-item&resource_id=13984849'
{
"response": {
"change_logs": [
{
"transaction_id": "4ba6d032-68ef-544e-9f01-49aa6b36b0b4",
"created_on": "2021-02-12 15:24:27",
"resource_id": 13984849
},
{
"transaction_id": "0ee74310-f580-5001-8007-2f71f84a5454",
"created_on": "2021-02-12 15:14:50",
"resource_id": 13984849
}
],
"start_element": 0,
"num_elements": 100,
"count": 2,
"status": "OK"
}
}

GETパラメーターを使用して/change-log"additional_fields"します。

$ curl -b cookies 'https://api.appnexus.com/change-log?service=line-item&resource_id=13984849&additional_fields=request_source,user_id,object_json'
{
"response": {
"change_logs": [
{
"transaction_id": "2b11b163-c8a6-5c8b-b3d2-6e580d41d929",
"object_json": "{\"id\":13984849,\"code\":null,...}",
"created_on": "2021-03-03 17:05:53",
"user_id": [redacted],
"resource_id": 13984849,
"request_source": "LIAA-blkupld"
},
...
],
"start_element": 0,
"num_elements": 1,
"count": 1,
"status": "OK"
}
}

手順 2: を使用して /change-log-detail を呼び出す transaction_id

GET/change-log-detailします。

$ curl -b cookies 'https://api.appnexus.com/change-log-detail?service=line-item&transaction_id=0ee74310-f580-5001-8007-2f71f84a5454'
{
"response": {
"change_log_details": [
{
"transaction_id": "0ee74310-f580-5001-8007-2f71f84a5454",
"member_id": 364,
"raw_json": "{\"line-item\":{\"advertiser_id\":4143132,\"currency\":\"GBP\",...}",
"plugin_id": "",
"method": "PUT",
"changes": [
{
"field_name": "advertiser_id",
"old_value": 4143132,
"new_value": 4143132,
"changed": false
},
...
],
"session_id": "authn:234473:42824ee8a5453:nym2",
"internal_txn": false,
"url": "https://hbapi-proxy-production/line-item?id=13984849&advertiser_id=4143132",
"request_source": "LIAA-blkupld",
"num_of_changes": 2,
"created_on": "2021-03-03 17:05:53",
"user_id": [redacted int value],
"modified_by_admin": true,
"admin_id": 0,
"user_full_name": "Test User",
"resource_id": 13984849,
"client_ip": "[redacted]",
"ip_info": "[redacted]"
}
],
"start_element": 0,
"num_elements": 1,
"count": 1,
"status": "OK"
}
}

を使用して変更ログの詳細を取得する POST

注:

次の手順のコード サンプルは、ユーザーが 2021 年 3 月 3 日の 17:00:00 から 2021 年 3 月 3 日の 18:00:00 の間に広告主の5260730に加えられた変更を取得する方法を示しています。

手順 1: JSON 形式の変更ログ要求を作成する

JSON ファイルには、表示する変更ログの serviceresource_id 、変更ログを特定の期間に制限するための min_timestampmax_timestamp が含まれている必要があります。 クエリ文字列で start_element または num_elements を使用することもできます。

JSON を作成します。

$ cat change-log.json
{
"change-log" : {
"service" : "advertiser",
"resource_id": "5260730",
"min_timestamp" : "2021-03-03 17:00:00",
"max_timestamp" : "2021-03-03 18:00:00"
}
}

手順 2: 変更ログ サービスに要求を POST する

POST transaction_idを含む基本的な変更ログ情報を取得するための JSON 要求。

POST/change-logします。

$ curl -b cookies -X POST -d @change-log.json 'https://api.appnexus.com/change-log'
{
"response": {
"change_logs": [
{
"transaction_id": "016ac252-aa30-5d10-a7a0-b5b3d88df832",
"created_on": "2021-03-03 17:16:07",
"resource_id": 5260730
}
],
"start_element": 0,
"num_elements": 100,
"count": 1,
"status": "OK"
}
}

手順 3: JSON 形式の変更ログ詳細要求を作成する

JSON ファイルには、詳細を表示する変更ログの servicetransaction_id が含まれている必要があります。

JSON を作成します。

$ cat change-log-detail.json
{
"change-log-detail" : {
"service" : "advertiser",
"transaction_id": "016ac252-aa30-5d10-a7a0-b5b3d88df832",
"previous_object": "true"
}
}

手順 4: 変更ログ詳細サービスに要求を POST する

POST transaction_idに対応する変更の詳細な変更ログを取得する JSON 要求。

POST/change-log-detailします。

$ curl -b cookies -X POST -d @change-log-detail.json 'https://api.appnexus.com/change-log-detail'
{
"response": {
"change_log_details": [
{
"transaction_id": "016ac252-aa30-5d10-a7a0-b5b3d88df832",
"member_id": 7823,
"raw_json":"{\"advertiser\":{\"id\":0,\"code\":\"0080459398\",...}",
"plugin_id": "",
"method": "POST",
"changes": [
{
"field_name": "allow_safety_pacing",
"old_value": null,
"new_value": null,
"changed": false
},
{
"field_name": "billing_address1",
"old_value": null,
"new_value": "New Address",
"changed": true
},
...
],
"session_id": "authn:206221:8d1c33b7fadc3:ams3",
"internal_txn": false,
"url": "https://api.appnexus.com/advertiser",
"request_source": "direct",
"num_of_changes": 25,
"created_on": "2021-03-03 17:16:07",
"user_id": [redacted],
"modified_by_admin": true,
"admin_id": 0,
"user_full_name": "Test",
"resource_id": 5260730,
"client_ip": "[redacted]",
"ip_info": "[redacted]"
}
],
"start_element": 0,
"num_elements": 1,
"count": 1,
"status": "OK"
}
}