Abilita i postback di notifica degli eventi per i brand

Le callback di notifica eventi (webhook) notificano i tuoi sistemi interni in tempo reale quando si verificano eventi specifici. Sebbene i dati inviati varino in base all'evento, il processo di configurazione è lo stesso per tutti.

1

Accedi ai callback di notifica eventi

  1. Dalla barra di navigazione superiore, seleziona [Profilo utente] → Impostazioni.

  2. Nella Tecnica sezione, seleziona Notifiche eventiarrow-up-right.

2

Compila i campi di configurazione globale

  1. Passa il mouse sull'evento per il quale desideri configurare un callback di notifica e seleziona [Modifica].

  2. Usa la tabella seguente per configurare le impostazioni di consegna:

Campo
Descrizione

URL

L'endpoint sul tuo server che riceverà i dati.

Metodo HTTP

GET: I dati vengono aggiunti all'URL come stringhe di query.

POST: I dati vengono inviati nel corpo della richiesta, che include vari parametri opzionali che puoi impostare. Fai riferimento a Eventi di notifica e payload per ulteriori informazioni su ciascun evento e sul contenuto del payload.

Intestazione HTTP

(Opzionale) Aggiungi intestazioni personalizzate per l'autenticazione (ad es., Authorization: Bearer token).

Ritardo minimo

Imposta Ritardo minimo in secondi per proteggere il tuo server da picchi di traffico.

Numero massimo di richieste

Imposta Numero massimo di richieste al secondo per proteggere il tuo server da picchi di traffico.

Risposta di successo

La stringa di testo specifica o il codice di stato HTTP che il tuo server restituisce quando un callback viene gestito correttamente.

Risposta di errore

La stringa di testo o il codice di stato che indica un fallimento (ad es., ERROR o 500).

Eventi di notifica e payload

Ogni notifica evento invia un set univoco di punti dati configurabili (ad es., {ActionId}). Fai riferimento agli eventi qui sotto per scoprire quali punti dati puoi estrarre dai payload.

chevron-rightEventi del ciclo di vita dell'azionehashtag

Gli eventi del ciclo di vita dell'azione invieranno una richiesta HTTP a un URL specificato (e a eventuali parametri inclusi) quando un'azione viene tracciata, modificata o annullata.

// Esempio di POST in formato JSON
{
  "CampaignId": 9876, // ID programma
  "ActionTrackerId": 12345, // ID tipo evento
  "MediaPartnerId": 555, // ID partner
  "CampaignName": "Spring Global Promotion", // Nome programma
  "ActionTrackerName": "Standard Sale Tracker", // Nome tipo evento
  "MediaPartnerName": "Top Tier Affiliates", // Nome partner
  "ActionId": "ACT-778899", // ID azione
  "Status": "MODIFIED", // Stato dell'azione
  "StatusDetail": "Reso articolo - payout adeguato", // Ulteriori dettagli sullo stato dell'azione
  "AdId": 44332, // ID annuncio
  "Payout": 10.50, // Payout dell'azione al partner, nella valuta del partner
  "DeltaPayout": -5.00, // Variazione dell'importo del payout
  "IntendedPayout": 15.50, // Importo payout previsto per un'azione oltre limite
  "Amount": 100.00, // Importo dell'azione, nella valuta dell'account
  "DeltaAmount": -50.00, // Importo corretto dall'azione precedente
  "IntendedAmount": 150.00, // Importo di vendita previsto per un'azione oltre limite
  "Currency": "USD", // Valuta dell'azione
  "OriginalCurrency": "USD", // Valuta originale (cioè del carrello) dell'azione
  "OriginalAmount": 100.00, // Importo originale (cioè del carrello) dell'azione
  // raccolta "items": dati dei singoli articoli in questa azione
  "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", // Data della conversione
  "CreationDate": "2026-04-08T09:05:00Z", // Data di creazione nel sistema
  "LockingDate": "2026-05-08T00:00:00Z", // Data in cui l'azione verrà bloccata
  "ClearedDate": "2026-05-15T00:00:00Z", // Data pianificata per il clearing
  "ReferringDomain": "blog.partner.com", // Dominio di provenienza
  "LandingPageUrl": "https://brand.com/sale", // URL della landing page
  "RefCustomerArea": "California", // Area cliente (derivata dall'IP)
  "RefCustomerCity": "San Francisco", // Città cliente (derivata dall'IP)
  "RefCustomerRegion": "CA", // Regione cliente (derivata dall'IP)
  "RefCustomerCountry": "US", // Codice paese cliente (derivato dall'IP)
  "RefClickId": "CLK9988776655", // Identificatore univoco del clic
  "SharedId": "social_post_01", // ID condiviso del partner
  "PromoCode": "SAVE20", // Codice promozionale generale
  "CustomerStatus": "EXISTING", // Stato cliente
  "Oid": "ORD-554433", // ID ordine
  "Note": "Reso parziale elaborato", // Nota fornita con l'azione
  "CustomerPostCode": "94105", // CAP cliente
  "CustomerCity": "San Francisco", // Città cliente
  "CustomerCountry": "US", // Codice paese cliente
  "CustomerRegion": "CA", // Regione cliente
  "CustomerId": "CUST-12345", // ID cliente
  "CustomerEmail": "a665a45920422f9d417...", // Email cliente sottoposta a hash
  "IpAddress": "192.168.1.1", // Indirizzo IP
  "CallerId": null, // Numero di telefono del chiamante
  // Campi supplementari personalizzati
  "Text1": "Valore personalizzato 1", // Testo 1
  "Date1": "2026-04-08", // Data 1
  "Money1": 10.00, // Importo 1
  "Numeric1": 1, // Numerico 1
  // Metadati dispositivo e app
  "appPackage": "com.brand.app", // Pacchetto app mobile
  "appName": "BrandStore", // Nome app mobile
  "appVersion": "4.2.1", // Versione app mobile
  "deviceOs": "iOS", // Sistema operativo del dispositivo
  "deviceOsVersion": "17.4", // Versione del sistema operativo del dispositivo
  "deviceManuf": "Apple", // Produttore del dispositivo
  "deviceModel": "iPhone 15", // Modello del dispositivo
  "macAddress": "00:1B:44:11:3A:B7", // Indirizzo MAC (maiuscolo)
  "macAddressLower": "00:1b:44:11:3a:b7", // Indirizzo MAC (minuscolo)
  "macAddressAlpha": "001B44113AB7", // Indirizzo MAC (senza due punti)
  "macAddressSha1": "47a32...", // MAC SHA1
  "iosIfa": "EA7583CD-A667-48BC-B806-42ECB2B48606", // ID pubblicità iOS
  "iosAdTracking": "1", // Impostazione di tracciamento annunci iOS
  "androidId": null, // ID Android
  "deviceId": "D-556677", // ID dispositivo
  "deviceIp": "192.168.1.1" // IP del dispositivo
}
chevron-rightEventi di richiesta azionehashtag

Gli eventi di richiesta azione invieranno una richiesta HTTP a un URL specificato (e a eventuali parametri inclusi) quando le richieste di azione vengono create o risolte.

// Esempio di POST in formato JSON
{
  "Id": 554433, // Identificatore univoco della richiesta di azione nel sistema
  "MediaPartnerId": 555, // ID partner
  "MediaPartnerName": "Top Tier Affiliates", // Nome partner
  "CampaignId": 9876, // ID programma
  "CampaignName": "Spring Global Promotion", // Nome programma
  "OrderId": "ORD-12345", // ID ordine dell'azione segnalata
  "TransactionDate": "2026-04-01T14:30:00Z", // Data transazione dell'evento che ha attivato la richiesta di azione
  "TransactionAmount": 250.00, // Importo della transazione dell'evento che ha attivato la richiesta di azione
  "InquiryType": "MISSING_ACTION", // Tipo di richiesta di azione
  "ExpectedPayout": 25.00, // Importo del payout previsto dal partner
  "ResolutionDeadlineDate": "2026-05-01T00:00:00Z", // La data entro la quale la richiesta deve essere accettata o rifiutata
  "TrackingLink": "https://proweb.com/click?cid=1&pid=555", // Link di tracciamento fornito dal partner
  "ActionId": "ACT-999000", // ID azione (se associata a un'azione esistente)
  "AutoApprovalDate": "2026-05-05T00:00:00Z", // La data in cui il sistema eseguirà le regole di approvazione automatica
  "ResolutionStatus": "PENDING", // Stato finale di risoluzione per la richiesta di azione
  "RejectReason": null, // Motivo per cui la richiesta di azione è stata rifiutata
  "FinalPayout": 0.00, // Payout finale associato alla richiesta di azione
  "ResolutionDate": null, // La data in cui la richiesta è stata decisa
  "CreationDate": "2026-04-08T10:05:00Z", // Data in cui la richiesta viene creata nel sistema
  "InquiryNotes": "Il cliente afferma di aver cliccato il link, ma non è stato mostrato alcun credito.", // Note della richiesta inviate dal partner
  "ResolutionNotes": null, // Note inviate quando la richiesta è stata decisa
  "Comments": "[{\"user\": \"support_agent\", \"text\": \"Verifying click logs now.\"}, {\"user\": \"partner\", \"text\": \"Customer provided receipt.\"}]" // Commenti aggiunti alla richiesta (in formato JSON)
}
chevron-rightEventi di clearing dell'azionehashtag

Gli eventi di clearing dell'azione invieranno una richiesta HTTP a un URL specificato (e a eventuali parametri inclusi) quando le azioni vengono compensate.

// Esempio di POST in formato JSON
{
  "ActionTrackerId": 12345, // ID tipo evento
  "ActionTrackerName": "Standard Sale Tracker", // Nome tipo evento
  "CampaignId": 9876, // ID programma
  "CampaignName": "Spring Global Promotion", // Nome programma
  "MediaPartnerId": 555, // ID partner
  "MediaPartnerName": "Top Tier Affiliates", // Nome partner
  "OrderIds": "ORD-9921,ORD-9922", // ID ordine delle azioni segnalate (separati da virgole)
  "ActionIds": "ACT-101,ACT-102", // ID azione (separati da virgole)
  "ClearedDate": "2026-04-15T12:00:00Z", // Data (ISO 8601) in cui l'azione è pianificata per il clearing
  "LedgerDate": "2026-04-08T09:54:43Z" // Data (ISO 8601) in cui l'azione è stata compensata
}
chevron-rightEventi di richiesta valore tracciamentohashtag

Gli eventi di richiesta valore tracciamento invieranno una richiesta HTTP a un URL specificato (e a eventuali parametri inclusi) quando vengono create richieste di tracciamento.

// Esempio di POST in formato JSON
{
  "CampaignId": 9876, // ID programma
  "ActionTrackerId": 12345, // ID tipo evento
  "MediaPartnerId": 555, // ID partner
  "ActionId": "ACT-778899", // ID azione
  "Amount": 150.00, // Importo dell'azione nella valuta dell'account
  "Currency": "USD", // Valuta dell'azione
  "Oid": "ORD-554433", // ID ordine
  // raccolta "items": ripartizione dei singoli prodotti nell'azione
  "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", // Data di conversione
  "IpAddress": "192.168.1.1", // Indirizzo IP del dispositivo
  "RefClickId": "CLK9988776655" // Identificatore univoco del clic
}
chevron-rightEventi job completatihashtag

Gli eventi job completati invieranno una richiesta HTTP a un URL specificato (e a eventuali parametri aggiuntivi) quando un job è stato completato per un Esportazione reportarrow-up-right o Fai clic su Esportaarrow-up-right.

chevron-rightEventi dell'applicazione del partnerhashtag
circle-info

Nota: Questa funzionalità è in beta. Contatta il tuo CSM o il nostro team di supportoarrow-up-right se desideri testare questa funzionalità.

Gli eventi dell'applicazione del partner invieranno una richiesta HTTP a un URL specificato quando un partner invia una domanda.

Nei casi in cui un payload viene consegnato con punti dati vuoti, il sistema è progettato per attivare aggiornamenti man mano che le informazioni diventano disponibili. Le consegne successive andate a buon fine popoleranno quei campi precedentemente vuoti, assicurando che i tuoi record rimangano sincronizzati con le informazioni elaborate più recenti.

circle-exclamation

Meccanismo di ripetizione del callback

Se un callback non riesce durante il tentativo di invio all'URL di destinazione, la consegna viene ritentata automaticamente secondo una pianificazione prestabilita fino a 15 volte. I tentativi di ripetizione aiutano a gestire problemi di rete temporanei o indisponibilità del server.

Condizioni in cui non verranno effettuati nuovi tentativi

Un callback non verrà ritentato nei seguenti casi:

  • L'URL di destinazione è malformato o non valido.

  • L'URL di destinazione o il suo host non si risolve, ad esempio a causa di un errore di lookup DNS.

Pianificazione dei tentativi

I tentativi di ripetizione seguono la pianificazione seguente. I tentativi 1, 2 e 3 vengono saltati se il codice di risposta HTTP rientra nell'intervallo di 400 a 500.

chevron-rightRiferimento alla pianificazione dei tentativihashtag
Tentativo di ripetizione
Ritardo prima del nuovo tentativo

Tentativo 1

+15 secondi

Tentativo 2

+15 secondi

Tentativo 3

+15 secondi

Tentativo 4

+3 minuti

Tentativo 5

+3 minuti

Tentativo 6

+15 minuti

Tentativo 7

+15 minuti

Tentativo 8

+15 minuti

Tentativo 9

+2 ore

Tentativo 10

+2 ore

Tentativo 11

+2 ore

Tentativo 12

+6 ore

Tentativo 13

+6 ore

Tentativo 14

+6 ore

Tentativo 15

+6 ore

Ultimo aggiornamento

È stato utile?