> For the complete documentation index, see [llms.txt](https://help.impact.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.impact.com/brand/fr/what-would-you-like-to-learn-about/account-administration/account-settings/notifications/enable-event-notification-postbacks-for-brands.md).

# Activez les webhooks de notification d’événements pour les marques

Les postbacks de notification d’événements (webhooks) informent vos systèmes internes en temps réel lorsque des événements spécifiques se produisent. Bien que les données envoyées varient selon l’événement, le processus de configuration est le même pour tous.

{% stepper %}
{% step %}

## Accéder aux postbacks de notification d’événements

1. Dans la barre de navigation supérieure, sélectionnez ![](https://57104473-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2F210dEQa93qyQgoJDkieL%2FUser%20profile.svg?alt=media\&token=f84c5b17-fae4-4a30-990a-9de5e57a150b) **\[Profil utilisateur] → Paramètres**.
2. Sous la *Technique* section, sélectionnez [**Notifications d’événements**](https://app.impact.com/secure/advertiser/accountSettings/techintegration/view-edit-adv-pingback-settings-flow.ihtml?).
   {% endstep %}

{% step %}

## Renseignez les champs de configuration globaux

1. Placez le curseur sur l’événement pour lequel vous souhaitez configurer un postback de notification et sélectionnez ![](https://57104473-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fkka3dqJOx8ZhiX82RDLt%2FEdit_light.svg?alt=media\&token=f454405c-ebd8-49af-90db-22efc27476bf) **\[Modifier]**.
2. Utilisez le tableau ci-dessous pour configurer les paramètres de livraison :

<table><thead><tr><th width="225.36328125">Champ</th><th>Description</th></tr></thead><tbody><tr><td>URL</td><td>Le point de terminaison sur votre serveur qui recevra les données.</td></tr><tr><td>Méthode HTTP</td><td><p><code>GET</code>: Les données sont ajoutées à l’URL sous forme de chaînes de requête.</p><p><code>POST</code>: Les données sont envoyées dans le corps de la requête, qui inclut divers paramètres facultatifs que vous pouvez définir.<br><br>Reportez-vous à <a href="#notification-events-and-payloads">Événements de notification et charges utiles</a> pour plus d’informations sur chaque événement et le contenu de la charge utile.</p></td></tr><tr><td>En-tête HTTP</td><td>(Facultatif) Ajoutez des en-têtes personnalisés pour l’authentification (par ex., <code>Authorization : jeton Bearer</code>).</td></tr><tr><td>Délai minimum</td><td>Définissez <em>Délai minimum</em> en secondes afin de protéger votre serveur contre les pics de trafic.</td></tr><tr><td>Nombre maximal de requêtes</td><td>Définissez <em>Nombre maximal de requêtes</em> par seconde afin de protéger votre serveur contre les pics de trafic.</td></tr><tr><td>Réponse de succès</td><td>La chaîne de texte spécifique ou le code d’état HTTP que votre serveur renvoie lorsqu’un postback est traité correctement.</td></tr><tr><td>Réponse d’erreur</td><td>La chaîne de texte ou le code d’état qui indique un échec (par ex., <code>ERREUR</code> ou <code>500</code>).</td></tr></tbody></table>
{% endstep %}
{% endstepper %}

## Événements de notification et charges utiles

Chaque notification d’événement envoie un ensemble unique de points de données configurables (par ex., `{ActionId}`). Reportez-vous aux événements ci-dessous pour savoir quels points de données vous pouvez extraire des charges utiles.

<details>

<summary>Événements du cycle de vie des actions</summary>

Les Événements du cycle de vie des actions émettront une requête HTTP à une URL spécifiée (et à tous les paramètres inclus) lorsqu’une action est suivie, modifiée ou annulée.

```json
// Un exemple de POST au format JSON
{
  "CampaignId": 9876, // ID du programme
  "ActionTrackerId": 12345, // ID du type d’événement
  "MediaPartnerId": 555, // ID du partenaire
  "CampaignName": "Promotion mondiale de printemps", // Nom du programme
  "ActionTrackerName": "Suivi des ventes standard", // Nom du type d’événement
  "MediaPartnerName": "Top Tier Affiliates", // Nom du partenaire
  "ActionId": "ACT-778899", // ID de l’action
  "Status": "MODIFIED", // Statut de l’action
  "StatusDetail": "Retour d’article - paiement ajusté", // Plus de détails sur le statut de l’action
  "AdId": 44332, // ID de l’annonce
  "Payout": 10.50, // Paiement de l’action au partenaire, dans la devise du partenaire
  "DeltaPayout": -5.00, // Montant de paiement corrigé par rapport à l’action précédente
  "IntendedPayout": 15.50, // Montant de paiement prévu pour une action dépassant la limite
  "Amount": 100.00, // Montant de l’action, dans la devise du compte
  "DeltaAmount": -50.00, // Montant corrigé par rapport à l’action précédente
  "IntendedAmount": 150.00, // Montant de vente prévu pour une action dépassant la limite
  "Currency": "USD", // Devise de l’action
  "OriginalCurrency": "USD", // Devise d’origine (c.-à-d. du panier) de l’action
  "OriginalAmount": 100.00, // Montant d’origine (c.-à-d. du panier) de l’action
  // Collection "items" : données pour les articles individuels de cette action
  "items": [{join(items, i, 
  "\{\"sku\":\"{i.sku}\",
  \"item_price\":{i.amt},
  \"category\":\"{i.cat}\",
  \"quantity\":{i.qty},
  \"cartamt\":{i.cartamt},
  \"rbt\":\"{i.rbt}\",
  \"name\":\"{i.name}\"\}")}],
  "EventDate": "2026-04-08T09:00:00Z", // Date de conversion
  "CreationDate": "2026-04-08T09:05:00Z", // Date de création dans le système
  "LockingDate": "2026-05-08T00:00:00Z", // Date à laquelle l’action sera verrouillée
  "ClearedDate": "2026-05-15T00:00:00Z", // Date prévue pour la compensation
  "ReferringDomain": "blog.partner.com", // Domaine de référence
  "LandingPageUrl": "https://brand.com/sale", // URL de la page de destination
  "RefCustomerArea": "California", // Zone du client (déduite de l’IP)
  "RefCustomerCity": "San Francisco", // Ville du client (déduite de l’IP)
  "RefCustomerRegion": "CA", // Région du client (déduite de l’IP)
  "RefCustomerCountry": "US", // Code pays du client (déduit de l’IP)
  "RefClickId": "CLK9988776655", // Identifiant de clic unique
  "SharedId": "social_post_01", // ID partagé par le partenaire
  "PromoCode": "SAVE20", // Code promo général
  "CustomerStatus": "EXISTING", // Statut du client
  "Oid": "ORD-554433", // ID de commande
  "Note": "Retour partiel traité", // Note transmise avec l’action
  "CustomerPostCode": "94105", // Code postal du client
  "CustomerCity": "San Francisco", // Ville du client
  "CustomerCountry": "US", // Code pays du client
  "CustomerRegion": "CA", // Région du client
  "CustomerId": "CUST-12345", // ID du client
  "CustomerEmail": "a665a45920422f9d417...", // E-mail client haché
  "IpAddress": "192.168.1.1", // Adresse IP
  "CallerId": null, // Numéro de téléphone de l’appelant
  // Champs supplémentaires personnalisés
  "Text1": "Valeur personnalisée 1", // Texte 1
  "Date1": "2026-04-08", // Date 1
  "Money1": 10.00, // Montant 1
  "Numeric1": 1, // Valeur numérique 1
  // Métadonnées de l’appareil et de l’application
  "appPackage": "com.brand.app", // Package de l’application mobile
  "appName": "BrandStore", // Nom de l’application mobile
  "appVersion": "4.2.1", // Version de l’application mobile
  "deviceOs": "iOS", // Système d’exploitation de l’appareil
  "deviceOsVersion": "17.4", // Version du système d’exploitation de l’appareil
  "deviceManuf": "Apple", // Fabricant de l’appareil
  "deviceModel": "iPhone 15", // Modèle de l’appareil
  "macAddress": "00:1B:44:11:3A:B7", // Adresse MAC (majuscule)
  "macAddressLower": "00:1b:44:11:3a:b7", // Adresse MAC (minuscule)
  "macAddressAlpha": "001B44113AB7", // Adresse MAC (sans deux-points)
  "macAddressSha1": "47a32...", // MAC SHA1
  "iosIfa": "EA7583CD-A667-48BC-B806-42ECB2B48606", // ID publicitaire iOS
  "iosAdTracking": "1", // Paramètre de suivi publicitaire iOS
  "androidId": null, // ID Android
  "deviceId": "D-556677", // ID de l’appareil
  "deviceIp": "192.168.1.1" // IP de l’appareil
}
```

</details>

<details>

<summary>Événements de demande d’action</summary>

Les Événements de demande d’action émettront une requête HTTP à une URL spécifiée (et à tous les paramètres inclus) lorsque des demandes d’action sont créées ou résolues.

```json
// Un exemple de POST au format JSON
{
  "Id": 554433, // Identifiant unique de la demande d’action dans le système
  "MediaPartnerId": 555, // ID du partenaire
  "MediaPartnerName": "Top Tier Affiliates", // Nom du partenaire
  "CampaignId": 9876, // ID du programme
  "CampaignName": "Promotion mondiale de printemps", // Nom du programme
  "OrderId": "ORD-12345", // ID de commande de l’action signalée
  "TransactionDate": "2026-04-01T14:30:00Z", // Date de transaction de l’événement ayant déclenché la demande d’action
  "TransactionAmount": 250.00, // Montant de transaction de l’événement ayant déclenché la demande d’action
  "InquiryType": "MISSING_ACTION", // Type de demande d’action
  "ExpectedPayout": 25.00, // Montant de paiement attendu par le partenaire
  "ResolutionDeadlineDate": "2026-05-01T00:00:00Z", // Date limite à laquelle la demande doit être acceptée ou refusée
  "TrackingLink": "https://proweb.com/click?cid=1&pid=555", // Lien de suivi fourni par le partenaire
  "ActionId": "ACT-999000", // ID de l’action (si associé à une action existante)
  "AutoApprovalDate": "2026-05-05T00:00:00Z", // Date à laquelle le système exécutera les règles d’approbation automatique
  "ResolutionStatus": "PENDING", // Statut final de résolution de la demande d’action
  "RejectReason": null, // Raison pour laquelle la demande d’action a été rejetée
  "FinalPayout": 0.00, // Paiement final associé à la demande d’action
  "ResolutionDate": null, // Date à laquelle la demande a été tranchée
  "CreationDate": "2026-04-08T10:05:00Z", // Date de création de la demande dans le système
  "InquiryNotes": "Le client affirme avoir cliqué sur le lien, mais aucun crédit n’a été affiché.", // Notes de la demande soumises par le partenaire
  "ResolutionNotes": null, // Notes soumises lors de la décision de la demande
  "Comments": "[{\"user\": \"support_agent\", \"text\": \"Vérification des journaux de clics en cours.\"}, {\"user\": \"partner\", \"text\": \"Le client a fourni un reçu.\"}]" // Commentaires ajoutés à la demande (au format JSON)
}
```

</details>

<details>

<summary>Événements de compensation des actions</summary>

Les Événements de compensation des actions émettront une requête HTTP à une URL spécifiée (et à tous les paramètres inclus) lorsque les actions sont compensées.

```json
// Un exemple de POST au format JSON
{
  "ActionTrackerId": 12345, // ID du type d’événement
  "ActionTrackerName": "Suivi des ventes standard", // Nom du type d’événement
  "CampaignId": 9876, // ID du programme
  "CampaignName": "Promotion mondiale de printemps", // Nom du programme
  "MediaPartnerId": 555, // ID du partenaire
  "MediaPartnerName": "Top Tier Affiliates", // Nom du partenaire
  "OrderIds": "ORD-9921,ORD-9922", // ID de commande des actions signalées (séparés par des virgules)
  "ActionIds": "ACT-101,ACT-102", // ID d’action (séparés par des virgules)
  "ClearedDate": "2026-04-15T12:00:00Z", // Date (ISO 8601) à laquelle l’action est prévue pour être compensée
  "LedgerDate": "2026-04-08T09:54:43Z" // Date (ISO 8601) à laquelle l’action a été compensée
}
```

</details>

<details>

<summary>Événements de demande de valeur de suivi</summary>

Les Événements de demande de valeur de suivi émettront une requête HTTP à une URL spécifiée (et à tous les paramètres inclus) lorsque des demandes de suivi sont créées.

```json
// Un exemple de POST au format JSON
{
  "CampaignId": 9876, // ID du programme
  "ActionTrackerId": 12345, // ID du type d’événement
  "MediaPartnerId": 555, // ID du partenaire
  "ActionId": "ACT-778899", // ID de l’action
  "Amount": 150.00, // Montant de l’action dans la devise du compte
  "Currency": "USD", // Devise de l’action
  "Oid": "ORD-554433", // ID de commande
  // Collection "items" : répartition des produits individuels de l’action
  "items": [{join(items, i, "\{\"sku\":\"{i.sku}\",\"item_price\":{i.amt},\"category\":\"{i.cat}\",\"quantity\":{i.qty},\"cartamt\":{i.cartamt},\"rbt\":\"{i.rbt}\",\"name\":\"{i.name}\"\}")}],
  "EventDate": "2026-04-08T09:00:00Z", // Date de conversion
  "IpAddress": "192.168.1.1", // Adresse IP de l’appareil
  "RefClickId": "CLK9988776655" // Identifiant de clic unique
}
```

</details>

<details>

<summary>Événements de tâche terminée</summary>

Les Événements de tâche terminée émettront une requête HTTP à une URL spécifiée (et à tous les paramètres supplémentaires) lorsqu’une tâche a été terminée pour un [Export de rapport](https://integrations.impact.com/brand-api-reference/reference/report-export/report-export) ou [Cliquez sur Export](https://integrations.impact.com/brand-api-reference/reference/clicks/clickexport).

```json
// Un exemple de POST au format JSON
{
  "JobId": 10293847, // ID unique du travail
  "JobType": "REPORT_EXPORT", // Type du travail
  "AccountId": 7744, // ID du compte
  "StartDate": "2026-04-08T10:00:05Z", // Heure de début du travail
  "EndDate": "2026-04-08T10:11:02Z", // Heure de fin du travail
  "RecordsProcessed": 5240, // Nombre d’enregistrements traités ou générés
  "ApiJobDetailUri": "https://api.impact.com/jobs/10293847", // URI de l’API pour obtenir plus de détails sur le travail
  "ApiResultUri": "https://api.impact.com/jobs/10293847/result", // URI de l’API pour obtenir le résultat de la sortie du travail
  "ResultDownloadUrlExp5": "https://download.impact.com/file?token=a1b2...&exp=5min", // URL de téléchargement de la sortie (expiration de 5 minutes)
  "ResultDownloadUrlExp15": "https://download.impact.com/file?token=a1b2...&exp=15min", // URL de téléchargement de la sortie (expiration de 15 minutes)
  "ResultDownloadUrlExp30": "https://download.impact.com/file?token=a1b2...&exp=30min", // URL de téléchargement de la sortie (expiration de 30 minutes)
  "ResultDownloadUrlExp60": "https://download.impact.com/file?token=a1b2...&exp=60min" // URL de téléchargement de la sortie (expiration de 60 minutes)
}
```

</details>

<details>

<summary>Événements d’application des partenaires</summary>

{% hint style="success" %}
**Remarque :** Cette fonctionnalité est en bêta. Contactez votre CSM ou notre [équipe d’assistance](https://app.impact.com/support/portal.ihtml?createTicket=true&) si vous souhaitez tester cette fonctionnalité.
{% endhint %}

Les Événements d’application des partenaires émettront une requête HTTP à une URL spécifiée lorsqu’un partenaire soumet une candidature et chaque fois que celle-ci est approuvée, rejetée ou retirée.

Si un `PENDING` charge utile est livrée avec des points de données vides, le système est conçu pour déclencher des mises à jour au fur et à mesure que des informations deviennent disponibles. Les livraisons réussies ultérieures rempliront ces champs précédemment vides, garantissant que vos enregistrements restent synchronisés avec les informations traitées les plus récentes.

{% hint style="warning" %}
**Important :** Si vous avez [des workflows de candidature](/brand/fr/what-would-you-like-to-learn-about/platform-features/review-partner-applications/automate-partner-application-processing.md) configurés, ils s’exécutent avant le déclenchement du webhook. Le webhook se déclenche avec le *Statut*: `APPROVED` ou `REJECTED` si un workflow a traité la candidature, `PENDING` si aucun workflow n’a été appliqué, ou `RETRACTED` si le partenaire a retiré la candidature.
{% endhint %}

Le contenu de la charge utile varie selon le *Statut*. L’exemple ci-dessous montre un `PENDING` événement, avec des commentaires indiquant quels champs apparaissent pour les autres statuts.

```json
// Un exemple de POST au format JSON
{
  "Status": "PENDING", // Statut de la candidature : PENDING, APPROVED, REJECTED, RETRACTED
  "ProgramId": "9876", // ID du programme
  "TemplateTermsId": "4455", // ID des conditions du modèle
  "ContractId": "112233", // ID du contrat
  "ApplicationDate": "2026-04-09T08:30:00Z", // Date de la candidature
  "PublisherSignerName": "Sarah Chen", // Nom de l’utilisateur partenaire ayant traité
  "PublisherId": "555", // ID du partenaire
  "Name": "Elite Content Creators", // Nom du partenaire
  "BusinessModel": "SOCIAL_INFLUENCER", // Modèle économique principal du partenaire
  "Address": "123 Marketing Way", // Adresse
  "City": "Los Angeles", // Ville
  "State": "CA", // État
  "Country": "US", // Pays

  // APPROVED, REJECTED, RETRACTED uniquement
  "DecisionDate": null, // Date de la décision

  // APPROVED uniquement
  "ContractStartDate": null, // Date de début du contrat

  // REJECTED uniquement
  "DeclineReason": null, // Raison du rejet

  // APPROVED, REJECTED uniquement
  "AdvertiserSignerName": null, // Nom de l’utilisateur annonceur ayant traité

  // PENDING uniquement : champs du profil du partenaire
  "Description": "Un réseau premium d’influenceurs lifestyle et voyage.", // Description du profil du partenaire
  "Language": "en-US", // Langue
  "PublisherSize": "M", // XS, S, M, L, XL
  "PastRelationship": "false", // Booléen indiquant un contrat précédent
  "MarketplaceApproved": "true", // Booléen indiquant le statut marketplace
  "ReceivedPayout": "true", // Booléen indiquant s’ils ont reçu un paiement

  // PENDING uniquement : propriétés média associées au partenaire
  "properties": [{join(properties, i, "{\"platform\":\"{i.platform}\",\"verified\":\"{i.verified}\",\"url\":\"{i.url}\",\"category\":\"{i.category}\",\"reach\":\"{i.reach}\",\"engagementRate\":\"{i.engagementRate}\",\"audienceCountryPct\":\"{i.audienceCountryPct}\",\"audienceGenderPct\":\"{i.audienceGenderPct}\",\"audienceAgeRangePct\":\"{i.audienceAgeRangePct}\"}")}],

  // PENDING uniquement : champs démographiques du créateur
  "CreatorIncome": "", // Revenu du foyer
  "CreatorGender": "", // Genre
  "CreatorEthnicity": "", // Origine ethnique
  "CreatorEducation": "", // Niveau d’études
  "CreatorRelationshipStatus": "", // Statut relationnel
  "CreatorParentalStatus": "", // Statut parental
  "CreatorPronouns": "", // Pronoms
  "CreatorDOB": "", // Date de naissance

  // PENDING uniquement : IDs de groupe
  "GroupIds": "1001,1002,1003" // IDs de groupe séparés par des virgules
}
```

</details>

## Mécanisme de relance des postbacks

Si un postback échoue lors de la tentative d’envoi à l’URL de destination, la livraison est automatiquement relancée selon un calendrier défini jusqu’à 15 fois. Les relances permettent de gérer les problèmes de réseau temporaires ou l’indisponibilité du serveur.

### Conditions dans lesquelles les relances n’auront pas lieu

Un postback ne sera pas relancé dans les cas suivants :

* L’URL de destination est mal formée ou invalide.
* L’URL de destination ou son hôte ne peut pas être résolu, par exemple en raison d’un échec de résolution DNS.

### Calendrier des relances

Les tentatives de relance suivent le calendrier ci-dessous. Les relances 1, 2 et 3 sont ignorées si le code de réponse HTTP se situe dans la plage de `400` à `500`.

<details>

<summary>Référence du calendrier des relances</summary>

<table><thead><tr><th width="180.5390625">Tentative de relance</th><th>Délai avant la relance</th></tr></thead><tbody><tr><td>Relance 1</td><td>+15 secondes</td></tr><tr><td>Relance 2</td><td>+15 secondes</td></tr><tr><td>Relance 3</td><td>+15 secondes</td></tr><tr><td>Relance 4</td><td>+3 minutes</td></tr><tr><td>Relance 5</td><td>+3 minutes</td></tr><tr><td>Relance 6</td><td>+15 minutes</td></tr><tr><td>Relance 7</td><td>+15 minutes</td></tr><tr><td>Relance 8</td><td>+15 minutes</td></tr><tr><td>Relance 9</td><td>+2 heures</td></tr><tr><td>Relance 10</td><td>+2 heures</td></tr><tr><td>Relance 11</td><td>+2 heures</td></tr><tr><td>Relance 12</td><td>+6 heures</td></tr><tr><td>Relance 13</td><td>+6 heures</td></tr><tr><td>Relance 14</td><td>+6 heures</td></tr><tr><td>Relance 15</td><td>+6 heures</td></tr></tbody></table>

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.impact.com/brand/fr/what-would-you-like-to-learn-about/account-administration/account-settings/notifications/enable-event-notification-postbacks-for-brands.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
