Activer les postbacks 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.
Accéder aux postbacks de notification d’événements
Dans la barre de navigation supérieure, sélectionnez
[Profil utilisateur] → Paramètres.
Sous la Technique section, sélectionnez Notifications d’événements.
Renseigner les champs de configuration globaux
Survolez l’événement pour lequel vous souhaitez configurer un postback de notification et sélectionnez
[Modifier].
Utilisez le tableau ci-dessous pour configurer les paramètres de livraison :
URL
Le point de terminaison sur votre serveur qui recevra les données.
Méthode HTTP
GET: les données sont ajoutées à l’URL sous forme de chaînes de requête.
POST: les données sont envoyées dans le corps de la requête, qui comprend divers paramètres facultatifs que vous pouvez définir.
Reportez-vous à Événements de notification et charges utiles pour plus d’informations sur chaque événement et le contenu de la charge utile.
En-tête HTTP
(Facultatif) Ajoutez des en-têtes personnalisés pour l’authentification (par ex. Authorization: Bearer token).
Délai minimum
Définissez Délai minimum en secondes afin de protéger votre serveur contre les pics de trafic.
Nombre maximal de requêtes
Définissez Nombre maximal de requêtes par seconde afin de protéger votre serveur contre les pics de trafic.
Réponse de succès
La chaîne de texte spécifique ou le code d’état HTTP que votre serveur renvoie lorsqu’un postback est traité correctement.
Réponse d’erreur
La chaîne de texte ou le code d’état qui indique un échec (par ex. ERROR ou 500).
É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.
Événements du cycle de vie de l’action
Les événements du cycle de vie de l’action enverront une requête HTTP à une URL spécifiée (ainsi que tous les paramètres inclus) lorsqu’une action est suivie, modifiée ou annulée.
// 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": "Spring Global Promotion", // Nom du programme
"ActionTrackerName": "Standard Sale Tracker", // 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": "Item return - payout adjusted", // Plus de détails sur le statut de l’action
"AdId": 44332, // ID de l’annonce
"Payout": 10.50, // Commission de l’action versée au partenaire, dans la devise du partenaire
"DeltaPayout": -5.00, // Modification du montant de la commission
"IntendedPayout": 15.50, // Montant de commission 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 de compensation
"ReferringDomain": "blog.partner.com", // Domaine de provenance
"LandingPageUrl": "https://brand.com/sale", // URL de la page d’atterrissage
"RefCustomerArea": "California", // Zone client (dérivée de l’IP)
"RefCustomerCity": "San Francisco", // Ville du client (dérivée de l’IP)
"RefCustomerRegion": "CA", // Région du client (dérivée de l’IP)
"RefCustomerCountry": "US", // Code pays du client (dérivé de l’IP)
"RefClickId": "CLK9988776655", // Identifiant de clic unique
"SharedId": "social_post_01", // ID partagé du partenaire
"PromoCode": "SAVE20", // Code promotionnel général
"CustomerStatus": "EXISTING", // Statut du client
"Oid": "ORD-554433", // ID de commande
"Note": "Partial return processed", // Note fournie 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 du 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": "Custom Val 1", // Texte 1
"Date1": "2026-04-08", // Date 1
"Money1": 10.00, // Montant 1
"Numeric1": 1, // 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
}Événements de demande d’action
Les événements de demande d’action enverront une requête HTTP à une URL spécifiée (ainsi que tous les paramètres inclus) lorsque des demandes d’action sont créées ou résolues.
// 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": "Spring Global Promotion", // 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 la 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 commission attendu par le partenaire
"ResolutionDeadlineDate": "2026-05-01T00:00:00Z", // Date avant 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ée à 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, // Commission finale associée à la demande d’action
"ResolutionDate": null, // Date à laquelle la demande a été décidée
"CreationDate": "2026-04-08T10:05:00Z", // Date de création de la demande dans le système
"InquiryNotes": "Customer claims they clicked the link but no credit was shown.", // Notes de la demande soumises par le partenaire
"ResolutionNotes": null, // Notes soumises lorsque la demande a été résolue
"Comments": "[{\"user\": \"support_agent\", \"text\": \"Verifying click logs now.\"}, {\"user\": \"partner\", \"text\": \"Customer provided receipt.\"}]" // Commentaires ajoutés à la demande (au format JSON)
}Événements de compensation d’action
Les événements de compensation d’action enverront une requête HTTP à une URL spécifiée (ainsi que tous les paramètres inclus) lorsque les actions sont compensées.
// Exemple de POST au format JSON
{
"ActionTrackerId": 12345, // ID du type d’événement
"ActionTrackerName": "Standard Sale Tracker", // Nom du type d’événement
"CampaignId": 9876, // ID du programme
"CampaignName": "Spring Global Promotion", // 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
}Événements de demande de valeur de suivi
Les événements de demande de valeur de suivi enverront une requête HTTP à une URL spécifiée (ainsi que tous les paramètres inclus) lorsque des demandes de suivi sont créées.
// 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 dans 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
}Événements de tâche terminée
Les événements de tâche terminée enverront une requête HTTP à une URL spécifiée (ainsi que tout paramètre supplémentaire) lorsqu’une tâche a été terminée pour un Export de rapport ou Cliquez sur Exporter.
Événements d’application du partenaire
Remarque : Cette fonctionnalité est en version bêta. Contactez votre CSM ou notre équipe d’assistance si vous souhaitez tester cette fonctionnalité.
Les événements d’application du partenaire enverront une requête HTTP à une URL spécifiée lorsqu’un partenaire soumet une candidature.
Dans les cas où une charge utile est fournie avec des points de données vides, le système est conçu pour déclencher des mises à jour au fur et à mesure que les informations deviennent disponibles. Les livraisons réussies suivantes rempliront ces champs précédemment vides, garantissant que vos enregistrements restent synchronisés avec les dernières informations traitées.
Important : Le postback ne sera pas déclenché si vous avez configuré des flux de travail de candidature.
Mécanisme de nouvelle tentative du postback
Si un postback échoue lors de la tentative d’envoi vers l’URL de destination, la livraison est automatiquement retentée selon un calendrier défini, jusqu’à 15 fois. Les nouvelles tentatives permettent de tenir compte des problèmes réseau temporaires ou de l’indisponibilité du serveur.
Conditions dans lesquelles les nouvelles tentatives n’auront pas lieu
Un postback ne sera pas retenté dans les cas suivants :
L’URL de destination est mal formée ou invalide.
L’URL de destination ou son hôte ne résout pas, par exemple en raison d’un échec de recherche DNS.
Calendrier des nouvelles tentatives
Les tentatives de nouvelle exécution suivent le calendrier ci-dessous. Les tentatives 1, 2 et 3 sont ignorées si le code de réponse HTTP se situe dans l’intervalle de 400 à 500.
Référence du calendrier des nouvelles tentatives
Nouvelle tentative 1
+15 secondes
Nouvelle tentative 2
+15 secondes
Nouvelle tentative 3
+15 secondes
Nouvelle tentative 4
+3 minutes
Nouvelle tentative 5
+3 minutes
Nouvelle tentative 6
+15 minutes
Nouvelle tentative 7
+15 minutes
Nouvelle tentative 8
+15 minutes
Nouvelle tentative 9
+2 heures
Nouvelle tentative 10
+2 heures
Nouvelle tentative 11
+2 heures
Nouvelle tentative 12
+6 heures
Nouvelle tentative 13
+6 heures
Nouvelle tentative 14
+6 heures
Nouvelle tentative 15
+6 heures
Mis à jour
Ce contenu vous a-t-il été utile ?

