通知の送信(Python)

説明

send_notifications() は、測定およびレポート用の Adobe Target に表示またはクリック通知を送信するために使用されます。

NOTE
必須のパラメーターを持つ execute オブジェクトがリクエスト自体の中にある場合、インプレッションは、条件を満たすアクティビティについて自動的に増分されます。

インプレッションを自動的に増分するSDKのメソッドは次のとおりです。

  • get_offers()
  • get_attributes()

リクエスト内で prefetch オブジェクトが渡された場合、prefetch オブジェクト内の mbox を持つアクティビティに対して、インプレッションが自動的に増分されることはありません。 インプレッション Send_notifications() コンバージョンを増分するための、事前読み込みされたエクスペリエンスに使用する必要があります。

メソッド

send_notifications

target_client.send_notifications(options)

パラメーター

options の構造は以下のとおりです。

名前
タイプ
必須
デフォルト
説明
request
DeliveryRequest
None
Target Delivery API リクエストに準拠しています
target_cookie
str
いいえ
None
Target cookie
target_location_hint
str
いいえ
None
Target location hint
consumer_id
str
いいえ
None
複数の呼び出しをステッチする場合、異なる消費者 ID を指定する必要があります
customer_ids
list[CustomerId]
いいえ
None
VisitorId 互換の形式の顧客 ID のリスト
session_id
str
いいえ
None
複数のリクエストのリンクに使用
callback
呼び出し
いいえ
None
リクエストを非同期で処理する場合、応答の準備が整うとコールバックが呼び出されます
err_callback
呼び出し
いいえ
None
リクエストを非同期で処理する場合、例外が発生するとエラーコールバックが呼び出されます

Returns

同期的に呼び出される場合は Returns (デフォルト)、コールバックで呼び出される場合は TargetDeliveryResponseAsyncResult します。 TargetDeliveryResponse の構造は以下のとおりです。

名前
タイプ
説明
response
DeliveryResponse
Target Delivery API 応答に準拠しています
target_cookie
dict
Target cookie
target_location_hint_cookie
dict
Target location hint cookie
analytics_details
list[AnalyticsResponse]
Analytics ペイロード(クライアントサイド Analytics を使用する場合)
trace
list[dict]
すべてのリクエスト mbox/ビューの集計トレースデータ
response_tokens
list[dict]
​ 応答トークン​のリスト ​
meta
dict
オンデバイス判定で使用する追加の判定メタデータ

まず、Target Delivery API および home mbox のコンテンツをプリフェッチするための product1 リクエストを作成します。

Python

mboxes = [MboxRequest(name="home"),
          MboxRequest(name="product1")]
prefetch = PrefetchRequest(mboxes=mboxes)
delivery_request = DeliveryRequest(prefetch=prefetch)

# Next, we fetch the offers via Target Python SDK getOffers() API
response = target_client.get_offers({ "request": delivery_request })

正常な応答には、リクエストされた mbox のプリフェッチされたコンテンツを含む Target Delivery API 応答オブジェクトが含まれます。 サンプルの target_response["response"] オブジェクト(dict 形式)は、次のように表示されます。

Python

{
  "status": 200,
  "requestId": "e8ac2dbf5f7d4a9f9280f6071f24a01e",
  "id": {
    "tntId": "08210e2d751a44779b8313e2d2692b96.21_27"
  },
  "client": "adobetargetmobile",
  "edgeHost": "mboxedge21.tt.omtrdc.net",
  "prefetch": {
    "mboxes": [
      {
        "index": 0,
        "name": "home",
        "options": [
          {
            "type": "html",
            "content": "HOME OFFER",
            "eventToken": "t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
            "responseTokens": {
              "profile.memberlevel": "0",
              "geo.city": "dublin",
              "activity.id": "302740",
              "experience.name": "Experience B",
              "geo.country": "ireland"
            }
          }
        ],
        "state": "J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U"
      },
      {
        "index": 1,
        "name": "product1",
        "options": [
          {
            "type": "html",
            "content": "TEST OFFER 1",
            "eventToken": "t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
            "responseTokens": {
              "profile.memberlevel": "0",
              "geo.city": "dublin",
              "activity.id": "302740",
              "experience.name": "Experience B",
              "geo.country": "ireland"
            }
          }
        ],
        "state": "J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U"
      }
    ]
  }
}

各 Target コンテンツオプションには、mbox の name フィールドと state フィールド、および eventToken フィールドがあります。 これらは、各コンテンツオプションが表示されるとすぐに、send_notifications() リクエストで指定する必要があります。 product1 mbox がブラウザー以外のデバイスに表示されているとします。 通知リクエストは次のように表示されます。

Python

notification_mbox = NotificationMbox(name="product1",
                                     state="J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U")
notification = Notification(
    id="1",
    type=MetricType.DISPLAY,
    timestamp=1621530726000,  # Epoch time in milliseconds
    mbox=notification_mbox,
    tokens=["t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q=="]
)
notification_request = DeliveryRequest(notifications=[notification])

プリフェッチ応答で配信された Target オファーに対応する mbox 状態とイベントトークンの両方が含まれていることに注意してください。 通知リクエストを作成したら、Target の API メソッドを使用して send_notifications() に送信できます。

Python

response = target_client.send_notifications({ "request": notification_request })
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3