DocumentationTargetGuide du développeur de Target

Envoyer des notifications (Python)

Dernière mise à jour : 5 mai 2025
  • Rubriques :
  • APIs/SDKs

Créé pour :

  • Développeur

Description

send_notifications() est utilisé pour envoyer des notifications d’affichage ou de clic à Adobe Target pour la mesure et la création de rapports.

REMARQUE
Lorsqu’un objet 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 admissibles.

Les méthodes du SDK qui incrémenteront 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 dans 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 a la structure suivante :

NomTypeRequisPar défautDescription
eventsDeliveryRequestOuiNoneSe conforme à la requête Target Delivery API
target_cookiestrnonNonecookie Target
target_location_hintstrnonNoneTarget indicateur d’emplacement
consumer_idstrnonNoneLors de la combinaison de plusieurs appels, différents identifiants de consommateur doivent être fournis.
customer_idslist[CustomerId]nonNoneListe des ID de client au format compatible avec VisitorId
session_idstrnonNoneUtilisé pour lier plusieurs requêtes
callbackcallablenonNoneSi vous gérez la requête de manière asynchrone, le rappel est appelé lorsque la réponse est prête.
err_callbackcallablenonNoneSi vous gérez la requête de manière asynchrone, le rappel d’erreur est appelé lorsque l’exception est levée.

Retours

Returns a TargetDeliveryResponse s’il est appelé de manière synchrone (par défaut) ou AsyncResult s’il est appelé avec un rappel. TargetDeliveryResponse a la structure suivante :

NomTypeDescription
responseDeliveryResponseSe conforme à la réponse Target Delivery API
target_cookiedictcookie Target
target_location_hint_cookiedictcookie d’indicateur d’emplacement Target
analytics_detailslist[AnalyticsResponse]Charge utile Analytics, en cas d’utilisation de Analytics côté client
tracelist[dict]
response_tokenslist[dict]Liste de ​ jetons de réponse
metadictMétadonnées de prise de décision supplémentaires à utiliser avec la prise de décision sur appareil

Exemple

Commençons par créer la requête Target Delivery API pour la prérécupération de contenu pour les 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 le 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 mbox name et state, ainsi que le champ eventToken, dans chacune des options de contenu Target. Elles doivent être fournies 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 périphérique autre que le navigateur. La demande de notification s’affiche 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 à la fois l’état mbox et le jeton d’événement correspondant à l’offre Target fournie dans la réponse de prérécupération. Une fois la requête de notifications créée, nous pouvons l’envoyer à Target via la méthode d’API send_notifications() :

Python

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