Envoyer Des Notifications (Python)
Description
send_notifications() sert à envoyer des notifications d’affichage ou de clic aux Adobe Target pour la mesure et le compte rendu des performances.
execute avec les paramètres requis se trouve dans la requête elle-même, l’impression est incrémentée automatiquement pour les activités de qualification.Les méthodes SDK qui incrémentent automatiquement une impression sont les suivantes :
get_offers()get_attributes()
Lorsqu’un objet prefetch est transmis dans la requête, l’impression n’est pas automatiquement incrémentée pour les activités comportant des mbox au sein de l’objet prefetch. Send_notifications() doit être utilisé pour les expériences prérécupérées afin d’incrémenter les impressions et les conversions.
Méthode
send_notifications
target_client.send_notifications(options)
Paramètres
options présente la structure suivante :
Retours
Returns un TargetDeliveryResponse s’il est appelé de manière synchrone (par défaut) ou un AsyncResult s’il est appelé avec un rappel . TargetDeliveryResponse présente la structure suivante :
Exemple
Tout d’abord, nous allons créer la requête Target Delivery API pour la prérécupération du contenu des mbox home et 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 })
Une réponse réussie contient un objet de réponse Target Delivery API, qui contient du contenu prérécupéré pour les mbox demandées. Un exemple d’objet target_response["response"] (au format dict) peut se présenter comme suit :
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"
}
]
}
}
Notez les champs name et state de la mbox, ainsi que le champ eventToken, dans chacune des options de contenu de Target. Ils doivent être fournis dans la requête send_notifications(), dès que chaque option de contenu est affichée. Supposons que la mbox product1 ait été affichée sur un appareil qui n’est pas un navigateur. La demande de notifications se présente comme suit :
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])
Notez que nous avons inclus l’état de la mbox et le jeton d’événement correspondant à l’offre Target diffusée dans la réponse de prérécupération. Après avoir créé la requête de notifications, nous pouvons l’envoyer à Target via la méthode de l’API send_notifications() :
Python
response = target_client.send_notifications({ "request": notification_request })