> 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/it/what-would-you-like-to-learn-about/account-administration/account-settings/notifications/enable-event-notification-postbacks-for-brands.md).

# Abilita i callback delle notifiche degli eventi per i brand

I postback di notifica eventi (webhook) avvisano 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.

{% stepper %}
{% step %}

## Accedi ai postback delle notifiche eventi

1. Dalla barra di navigazione superiore, seleziona ![](https://1043985218-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) **\[Profilo utente] → Impostazioni**.
2. Sotto la *Tecnico* sezione, seleziona [**Notifiche eventi**](https://app.impact.com/secure/advertiser/accountSettings/techintegration/view-edit-adv-pingback-settings-flow.ihtml?).
   {% endstep %}

{% step %}

## Completa i campi di configurazione globale

1. Passa il mouse sull'evento per cui desideri configurare un postback di notifica e seleziona ![](https://1043985218-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) **\[Modifica]**.
2. Usa la tabella seguente per configurare le impostazioni di consegna:

<table><thead><tr><th width="225.36328125">Campo</th><th>Descrizione</th></tr></thead><tbody><tr><td>URL</td><td>L'endpoint sul tuo server che riceverà i dati.</td></tr><tr><td>Metodo HTTP</td><td><p><code>GET</code>: I dati vengono aggiunti all'URL come stringhe di query.</p><p><code>POST</code>: I dati vengono inviati nel corpo della richiesta, che include vari parametri opzionali che puoi impostare.<br><br>Fai riferimento a <a href="#notification-events-and-payloads">Eventi di notifica e payload</a> per ulteriori informazioni su ciascun evento e sul contenuto del payload.</p></td></tr><tr><td>Intestazione HTTP</td><td>(Opzionale) Aggiungi intestazioni personalizzate per l'autenticazione (ad es., <code>Authorization: Bearer token</code>).</td></tr><tr><td>Ritardo minimo</td><td>Imposta <em>Ritardo minimo</em> in secondi per proteggere il tuo server da picchi di traffico.</td></tr><tr><td>Richieste massime</td><td>Imposta <em>Richieste massime</em> al secondo per proteggere il tuo server da picchi di traffico.</td></tr><tr><td>Risposta di successo</td><td>La stringa di testo specifica o il codice di stato HTTP che il tuo server restituisce quando un postback viene gestito correttamente.</td></tr><tr><td>Risposta di errore</td><td>La stringa di testo o il codice di stato che indica un errore (ad es., <code>ERROR</code> o <code>500</code>).</td></tr></tbody></table>
{% endstep %}
{% endstepper %}

## Eventi e payload delle notifiche

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

<details>

<summary>Eventi del ciclo di vita dell'azione</summary>

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.

```json
// Un esempio POST in formato JSON
{
  "CampaignId": 9876, // ID programma
  "ActionTrackerId": 12345, // ID tipo evento
  "MediaPartnerId": 555, // ID partner
  "CampaignName": "Promozione globale di primavera", // Nome del programma
  "ActionTrackerName": "Tracker di vendita standard", // Nome del tipo di evento
  "MediaPartnerName": "Affiliati di alto livello", // Nome del 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, // Importo del payout corretto rispetto all'azione precedente
  "IntendedPayout": 15.50, // Importo del payout previsto per un'azione oltre limite
  "Amount": 100.00, // Importo dell'azione, nella valuta dell'account
  "DeltaAmount": -50.00, // Importo corretto rispetto all'azione precedente
  "IntendedAmount": 150.00, // Importo di vendita previsto per un'azione oltre limite
  "Currency": "USD", // Valuta dell'azione
  "OriginalCurrency": "USD", // Valuta originale dell'azione (ossia del carrello)
  "OriginalAmount": 100.00, // Importo originale dell'azione (ossia del carrello)
  // Collezione "items": dati per i 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 programmata per la liquidazione
  "ReferringDomain": "blog.partner.com", // Dominio del referral
  "LandingPageUrl": "https://brand.com/sale", // URL della pagina di destinazione
  "RefCustomerArea": "California", // Area del cliente (derivata dall'IP)
  "RefCustomerCity": "San Francisco", // Città del cliente (derivata dall'IP)
  "RefCustomerRegion": "CA", // Regione del cliente (derivata dall'IP)
  "RefCustomerCountry": "US", // Codice paese del cliente (derivato dall'IP)
  "RefClickId": "CLK9988776655", // Identificativo univoco del clic
  "SharedId": "social_post_01", // ID condiviso del partner
  "PromoCode": "SAVE20", // Codice promozionale generale
  "CustomerStatus": "EXISTING", // Stato del cliente
  "Oid": "ORD-554433", // ID ordine
  "Note": "Reso parziale elaborato", // Nota fornita con l'azione
  "CustomerPostCode": "94105", // Codice postale del cliente
  "CustomerCity": "San Francisco", // Città del cliente
  "CustomerCountry": "US", // Codice paese del cliente
  "CustomerRegion": "CA", // Regione del cliente
  "CustomerId": "CUST-12345", // ID cliente
  "CustomerEmail": "a665a45920422f9d417...", // Email del 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, // Denaro 1
  "Numeric1": 1, // Numerico 1
  // Metadati del dispositivo e dell'app
  "appPackage": "com.brand.app", // Pacchetto dell'app mobile
  "appName": "BrandStore", // Nome dell'app mobile
  "appVersion": "4.2.1", // Versione dell'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...", // SHA1 MAC
  "iosIfa": "EA7583CD-A667-48BC-B806-42ECB2B48606", // ID pubblicitario 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
}
```

</details>

<details>

<summary>Eventi di richiesta di chiarimento sull'azione</summary>

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

```json
// Un esempio POST in formato JSON
{
  "Id": 554433, // Identificatore univoco della richiesta di chiarimento sull'azione nel sistema
  "MediaPartnerId": 555, // ID partner
  "MediaPartnerName": "Affiliati di alto livello", // Nome del partner
  "CampaignId": 9876, // ID programma
  "CampaignName": "Promozione globale di primavera", // Nome del programma
  "OrderId": "ORD-12345", // ID ordine dell'azione segnalata
  "TransactionDate": "2026-04-01T14:30:00Z", // Data della transazione dell'evento che ha attivato la richiesta di chiarimento sull'azione
  "TransactionAmount": 250.00, // Importo della transazione dell'evento che ha attivato la richiesta di chiarimento sull'azione
  "InquiryType": "MISSING_ACTION", // Tipo di richiesta di chiarimento sull'azione
  "ExpectedPayout": 25.00, // Importo del payout previsto dal partner
  "ResolutionDeadlineDate": "2026-05-01T00:00:00Z", // Data entro cui 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 associato a un'azione esistente)
  "AutoApprovalDate": "2026-05-05T00:00:00Z", // Data in cui il sistema eseguirà le regole di approvazione automatica
  "ResolutionStatus": "PENDING", // Stato finale della risoluzione per la richiesta di chiarimento sull'azione
  "RejectReason": null, // Motivo per cui la richiesta di chiarimento sull'azione è stata rifiutata
  "FinalPayout": 0.00, // Payout finale associato alla richiesta di chiarimento sull'azione
  "ResolutionDate": null, // 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 sostiene di aver fatto clic sul link, ma non è stato visualizzato alcun credito.", // Note della richiesta inviate dal partner
  "ResolutionNotes": null, // Note inviate quando la richiesta è stata decisa
  "Comments": "[{\"user\": \"support_agent\", \"text\": \"Verificando ora i registri dei clic.\"}, {\"user\": \"partner\", \"text\": \"Il cliente ha fornito la ricevuta.\"}]" // Commenti aggiunti alla richiesta (in formato JSON)
}
```

</details>

<details>

<summary>Eventi di liquidazione delle azioni</summary>

Gli eventi di liquidazione delle azioni invieranno una richiesta HTTP a un URL specificato (e a eventuali parametri inclusi) quando le azioni vengono liquidate.

```json
// Un esempio POST in formato JSON
{
  "ActionTrackerId": 12345, // ID tipo evento
  "ActionTrackerName": "Tracker di vendita standard", // Nome del tipo di evento
  "CampaignId": 9876, // ID programma
  "CampaignName": "Promozione globale di primavera", // Nome del programma
  "MediaPartnerId": 555, // ID partner
  "MediaPartnerName": "Affiliati di alto livello", // Nome del 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 è programmata per essere liquidata
  "LedgerDate": "2026-04-08T09:54:43Z" // Data (ISO 8601) in cui l'azione è stata liquidata
}
```

</details>

<details>

<summary>Eventi di richiesta valore del tracciamento</summary>

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

```json
// Un esempio 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
  // Collezione "items": suddivisione 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" // Identificativo univoco del clic
}
```

</details>

<details>

<summary>Eventi di lavoro completati</summary>

Gli eventi di lavoro completati invieranno una richiesta HTTP a un URL specificato (e a eventuali parametri aggiuntivi) quando un lavoro è stato completato per un [Esportazione report](https://integrations.impact.com/brand-api-reference/reference/report-export/report-export) o [Fai clic su Esporta](https://integrations.impact.com/brand-api-reference/reference/clicks/clickexport).

```json
// Un esempio POST in formato JSON
{
  "JobId": 10293847, // ID univoco del lavoro
  "JobType": "REPORT_EXPORT", // Tipo di lavoro
  "AccountId": 7744, // ID account
  "StartDate": "2026-04-08T10:00:05Z", // Ora di inizio del lavoro
  "EndDate": "2026-04-08T10:11:02Z", // Ora di completamento del lavoro
  "RecordsProcessed": 5240, // Numero di record elaborati o generati
  "ApiJobDetailUri": "https://api.impact.com/jobs/10293847", // URI API per ottenere maggiori dettagli sul lavoro
  "ApiResultUri": "https://api.impact.com/jobs/10293847/result", // URI API per ottenere il risultato dell'output del lavoro
  "ResultDownloadUrlExp5": "https://download.impact.com/file?token=a1b2...&exp=5min", // URL per scaricare l'output (scadenza a 5 minuti)
  "ResultDownloadUrlExp15": "https://download.impact.com/file?token=a1b2...&exp=15min", // URL per scaricare l'output (scadenza a 15 minuti)
  "ResultDownloadUrlExp30": "https://download.impact.com/file?token=a1b2...&exp=30min", // URL per scaricare l'output (scadenza a 30 minuti)
  "ResultDownloadUrlExp60": "https://download.impact.com/file?token=a1b2...&exp=60min" // URL per scaricare l'output (scadenza a 60 minuti)
}
```

</details>

<details>

<summary>Eventi dell'applicazione del publisher</summary>

{% hint style="success" %}
**Nota:** Questa funzionalità è in beta. Contatta il tuo CSM o il nostro [team di supporto](https://app.impact.com/support/portal.ihtml?createTicket=true&) se desideri testare questa funzionalità.
{% endhint %}

Gli eventi dell'applicazione del publisher invieranno una richiesta HTTP a un URL specificato quando un partner invia una candidatura e ogni volta che la candidatura viene approvata, rifiutata o ritirata.

Se un `PENDING` payload viene consegnato con punti dati vuoti, il sistema è progettato per attivare aggiornamenti man mano che le informazioni diventano disponibili. Le consegne successive riuscite popoleranno quei campi precedentemente vuoti, garantendo che i tuoi record rimangano sincronizzati con le informazioni elaborate più recenti.

{% hint style="warning" %}
**Importante:** Se hai [workflow delle candidature](/brand/it/what-would-you-like-to-learn-about/platform-features/review-partner-applications/automate-partner-application-processing.md) configurati, vengono eseguiti prima che il webhook venga attivato. Il webhook si attiva con il risultato *Stato*: `APPROVED` o `REJECTED` se un workflow ha elaborato la candidatura, `PENDING` se non è stato applicato alcun workflow, oppure `RETRACTED` se il partner ha ritirato la candidatura.
{% endhint %}

Il contenuto del payload varia in base a *Stato*. L'esempio seguente mostra un `PENDING` evento, con commenti che indicano quali campi compaiono per altri stati.

```json
// Un esempio POST in formato JSON
{
  "Status": "PENDING", // Stato della candidatura: PENDING, APPROVED, REJECTED, RETRACTED
  "ProgramId": "9876", // ID programma
  "TemplateTermsId": "4455", // ID dei termini del modello
  "ContractId": "112233", // ID contratto
  "ApplicationDate": "2026-04-09T08:30:00Z", // Data della candidatura
  "PublisherSignerName": "Sarah Chen", // Utente del publisher elaborato da
  "PublisherId": "555", // ID partner
  "Name": "Elite Content Creators", // Nome del partner
  "BusinessModel": "SOCIAL_INFLUENCER", // Modello di business principale del partner
  "Address": "123 Marketing Way", // Indirizzo
  "City": "Los Angeles", // Città
  "State": "CA", // Stato
  "Country": "US", // Paese

  // Solo APPROVED, REJECTED, RETRACTED
  "DecisionDate": null, // Data della decisione

  // Solo APPROVED
  "ContractStartDate": null, // Data di inizio del contratto

  // Solo REJECTED
  "DeclineReason": null, // Motivo del rifiuto

  // Solo APPROVED, REJECTED
  "AdvertiserSignerName": null, // Utente dell'inserzionista elaborato da

  // Solo PENDING: campi del profilo del partner
  "Description": "Una rete premium di influencer lifestyle e travel.", // Descrizione del profilo del partner
  "Language": "en-US", // Lingua
  "PublisherSize": "M", // XS, S, M, L, XL
  "PastRelationship": "false", // Booleano che indica un contratto precedente
  "MarketplaceApproved": "true", // Booleano che indica lo stato sul marketplace
  "ReceivedPayout": "true", // Booleano che indica se hanno ricevuto un payout

  // Solo PENDING: proprietà media associate al partner
  "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}\"}")}],

  // Solo PENDING: campi demografici del creator
  "CreatorIncome": "", // Reddito del nucleo familiare
  "CreatorGender": "", // Genere
  "CreatorEthnicity": "", // Etnia
  "CreatorEducation": "", // Livello di istruzione
  "CreatorRelationshipStatus": "", // Stato di relazione
  "CreatorParentalStatus": "", // Stato genitoriale
  "CreatorPronouns": "", // Pronomi
  "CreatorDOB": "", // Data di nascita

  // Solo PENDING: ID gruppo
  "GroupIds": "1001,1002,1003" // ID gruppo separati da virgole
}
```

</details>

## Meccanismo di ritentativo del postback

Se un postback fallisce durante il tentativo di invio all'URL di destinazione, la consegna viene ritentata automaticamente secondo un calendario prestabilito fino a 15 volte. I ritentativi aiutano a gestire problemi di rete temporanei o indisponibilità del server.

### Condizioni in cui i ritentativi non avverranno

Un postback non verrà ritentato nei seguenti casi:

* L'URL di destinazione è malformato o non valido.
* L'URL di destinazione o il suo host non risolve, ad esempio a causa di un errore di ricerca DNS.

### Programma dei ritentativi

I tentativi di ritentativo seguono il programma seguente. I ritentativi 1, 2 e 3 vengono saltati se il codice di risposta HTTP rientra nell'intervallo di `400` a `500`.

<details>

<summary>Riferimento al programma dei ritentativi</summary>

<table><thead><tr><th width="180.5390625">Tentativo di ritentativo</th><th>Ritardo prima del ritentativo</th></tr></thead><tbody><tr><td>Ritentativo 1</td><td>+15 secondi</td></tr><tr><td>Ritentativo 2</td><td>+15 secondi</td></tr><tr><td>Ritentativo 3</td><td>+15 secondi</td></tr><tr><td>Ritentativo 4</td><td>+3 minuti</td></tr><tr><td>Ritentativo 5</td><td>+3 minuti</td></tr><tr><td>Ritentativo 6</td><td>+15 minuti</td></tr><tr><td>Ritentativo 7</td><td>+15 minuti</td></tr><tr><td>Ritentativo 8</td><td>+15 minuti</td></tr><tr><td>Ritentativo 9</td><td>+2 ore</td></tr><tr><td>Ritentativo 10</td><td>+2 ore</td></tr><tr><td>Ritentativo 11</td><td>+2 ore</td></tr><tr><td>Ritentativo 12</td><td>+6 ore</td></tr><tr><td>Ritentativo 13</td><td>+6 ore</td></tr><tr><td>Ritentativo 14</td><td>+6 ore</td></tr><tr><td>Ritentativo 15</td><td>+6 ore</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/it/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.
