# Habilite postbacks de notificação de eventos para marcas

As notificações de eventos (webhooks) avisam seus sistemas internos em tempo real quando eventos específicos ocorrem. Embora os dados enviados variem conforme o evento, o processo de configuração é o mesmo para todos.

{% stepper %}
{% step %}

### Acessar notificações de eventos

1. Na barra de navegação superior, selecione ![](/files/24b09e08af742531bcfb4e5dc0f1976c6026280a) **\[Perfil do usuário] → Configurações**.
2. Na *Técnica* seção, selecione [**Notificações de eventos**](https://app.impact.com/secure/advertiser/accountSettings/techintegration/view-edit-adv-pingback-settings-flow.ihtml?).
   {% endstep %}

{% step %}

### Preencher campos de configuração global

1. Passe o mouse sobre o evento para o qual você deseja configurar uma notificação e selecione ![](/files/f1c5fe94457426459cac3548436ce2a195dcde68) **\[Editar]**.
2. Use a tabela abaixo para configurar as definições de entrega:

| Campo                         | Descrição                                                                                                                                                                                                                                                                                                                                                                                                |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| URL                           | O endpoint no seu servidor que receberá os dados.                                                                                                                                                                                                                                                                                                                                                        |
| Método HTTP                   | <p><code>GET</code>: Os dados são adicionados à URL como strings de consulta.</p><p></p><p><code>POST</code>: Os dados são enviados no corpo da solicitação, que inclui vários parâmetros opcionais que você pode definir. <br><br>Consulte <a href="#notification-events-and-payloads">Eventos de notificação e payloads</a> para obter mais informações sobre cada evento e o conteúdo do payload.</p> |
| Cabeçalho HTTP                | (Opcional) Adicione cabeçalhos personalizados para autenticação (por exemplo, `Authorization: Bearer token`).                                                                                                                                                                                                                                                                                            |
| Atraso mínimo                 | Defina *Atraso mínimo* em segundos para proteger seu servidor contra picos de tráfego.                                                                                                                                                                                                                                                                                                                   |
| Número máximo de solicitações | Defina *Número máximo de solicitações* por segundo para proteger seu servidor contra picos de tráfego.                                                                                                                                                                                                                                                                                                   |
| Resposta de sucesso           | A string de texto específica ou o código de status HTTP que seu servidor retorna quando um postback é processado corretamente.                                                                                                                                                                                                                                                                           |
| Resposta de erro              | A string de texto ou código de status que indica uma falha (por exemplo, `ERROR` ou `500`).                                                                                                                                                                                                                                                                                                              |
| {% endstep %}                 |                                                                                                                                                                                                                                                                                                                                                                                                          |
| {% endstepper %}              |                                                                                                                                                                                                                                                                                                                                                                                                          |

### Eventos e payloads de notificação

Cada notificação de evento envia um conjunto exclusivo de pontos de dados configuráveis (por exemplo, `{ActionId}`). Consulte os eventos abaixo para saber quais pontos de dados você pode extrair dos payloads.

<details>

<summary><strong>Eventos do ciclo de vida da ação</strong></summary>

Os eventos do ciclo de vida da ação enviarão uma solicitação HTTP para uma URL especificada (e quaisquer parâmetros incluídos) quando uma ação for rastreada, modificada ou revertida.

```json
// Um exemplo de POST em formato JSON
{
  "CampaignId": 9876, // ID do programa
  "ActionTrackerId": 12345, // ID do tipo de evento
  "MediaPartnerId": 555, // ID do parceiro
  "CampaignName": "Spring Global Promotion", // Nome do programa
  "ActionTrackerName": "Standard Sale Tracker", // Nome do tipo de evento
  "MediaPartnerName": "Top Tier Affiliates", // Nome do parceiro
  "ActionId": "ACT-778899", // ID da ação
  "Status": "MODIFIED", // Status da ação
  "StatusDetail": "Item return - payout adjusted", // Mais detalhes sobre o status da ação
  "AdId": 44332, // ID do anúncio
  "Payout": 10.50, // Pagamento da ação ao parceiro, na moeda do parceiro
  "DeltaPayout": -5.00, // A variação do valor do pagamento
  "IntendedPayout": 15.50, // O valor de pagamento pretendido para uma ação acima do limite
  "Amount": 100.00, // Valor da ação, na moeda da conta
  "DeltaAmount": -50.00, // Valor corrigido da ação anterior
  "IntendedAmount": 150.00, // O valor de venda pretendido para uma ação acima do limite
  "Currency": "USD", // Moeda da ação
  "OriginalCurrency": "USD", // Moeda original (ou seja, do carrinho) da ação
  "OriginalAmount": 100.00, // Valor original (ou seja, do carrinho) da ação
  // Coleção "items": dados de itens individuais nesta ação
  "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 da conversão
  "CreationDate": "2026-04-08T09:05:00Z", // Data de criação no sistema
  "LockingDate": "2026-05-08T00:00:00Z", // Data em que a ação será bloqueada
  "ClearedDate": "2026-05-15T00:00:00Z", // Data agendada para compensação
  "ReferringDomain": "blog.partner.com", // Domínio de referência
  "LandingPageUrl": "https://brand.com/sale", // URL da página de destino
  "RefCustomerArea": "California", // Área do cliente (derivada do IP)
  "RefCustomerCity": "San Francisco", // Cidade do cliente (derivada do IP)
  "RefCustomerRegion": "CA", // Região do cliente (derivada do IP)
  "RefCustomerCountry": "US", // Código do país do cliente (derivado do IP)
  "RefClickId": "CLK9988776655", // Identificador exclusivo do clique
  "SharedId": "social_post_01", // ID compartilhado do parceiro
  "PromoCode": "SAVE20", // Código promocional geral
  "CustomerStatus": "EXISTING", // Status do cliente
  "Oid": "ORD-554433", // ID do pedido
  "Note": "Partial return processed", // Observação enviada com a ação
  "CustomerPostCode": "94105", // Código postal do cliente
  "CustomerCity": "San Francisco", // Cidade do cliente
  "CustomerCountry": "US", // Código do país do cliente
  "CustomerRegion": "CA", // Região do cliente
  "CustomerId": "CUST-12345", // ID do cliente
  "CustomerEmail": "a665a45920422f9d417...", // E-mail do cliente com hash
  "IpAddress": "192.168.1.1", // Endereço IP
  "CallerId": null, // Número de telefone do chamador
  // Campos suplementares personalizados
  "Text1": "Custom Val 1", // Texto 1
  "Date1": "2026-04-08", // Data 1
  "Money1": 10.00, // Valor monetário 1
  "Numeric1": 1, // Numérico 1
  // Metadados do dispositivo e do app
  "appPackage": "com.brand.app", // Pacote do app móvel
  "appName": "BrandStore", // Nome do app móvel
  "appVersion": "4.2.1", // Versão do app móvel
  "deviceOs": "iOS", // Sistema operacional do dispositivo
  "deviceOsVersion": "17.4", // Versão do SO do dispositivo
  "deviceManuf": "Apple", // Fabricante do dispositivo
  "deviceModel": "iPhone 15", // Modelo do dispositivo
  "macAddress": "00:1B:44:11:3A:B7", // Endereço MAC (maiúsculo)
  "macAddressLower": "00:1b:44:11:3a:b7", // Endereço MAC (minúsculo)
  "macAddressAlpha": "001B44113AB7", // Endereço MAC (sem dois-pontos)
  "macAddressSha1": "47a32...", // MAC SHA1
  "iosIfa": "EA7583CD-A667-48BC-B806-42ECB2B48606", // ID de publicidade do iOS
  "iosAdTracking": "1", // Configuração de rastreamento de anúncios do iOS
  "androidId": null, // ID do Android
  "deviceId": "D-556677", // ID do dispositivo
  "deviceIp": "192.168.1.1" // IP do dispositivo
}
```

</details>

<details>

<summary><strong>Eventos de consulta de ação</strong></summary>

Os eventos de consulta de ação enviarão uma solicitação HTTP para uma URL especificada (e quaisquer parâmetros incluídos) quando consultas de ação forem criadas ou resolvidas.

```json
// Um exemplo de POST em formato JSON
{
  "Id": 554433, // Identificador exclusivo da consulta de ação no sistema
  "MediaPartnerId": 555, // ID do parceiro
  "MediaPartnerName": "Top Tier Affiliates", // Nome do parceiro
  "CampaignId": 9876, // ID do programa
  "CampaignName": "Spring Global Promotion", // Nome do programa
  "OrderId": "ORD-12345", // ID do pedido da ação reportada
  "TransactionDate": "2026-04-01T14:30:00Z", // Data da transação do evento que acionou a consulta de ação
  "TransactionAmount": 250.00, // Valor da transação do evento que acionou a consulta de ação
  "InquiryType": "MISSING_ACTION", // Tipo de consulta de ação
  "ExpectedPayout": 25.00, // Valor de pagamento esperado pelo parceiro
  "ResolutionDeadlineDate": "2026-05-01T00:00:00Z", // Data até a qual a consulta deve ser aceita ou recusada
  "TrackingLink": "https://proweb.com/click?cid=1&pid=555", // Link de rastreamento fornecido pelo parceiro
  "ActionId": "ACT-999000", // ID da ação (se associado a uma ação existente)
  "AutoApprovalDate": "2026-05-05T00:00:00Z", // Data em que o sistema executará as regras de aprovação automática
  "ResolutionStatus": "PENDING", // Status final da resolução da consulta de ação
  "RejectReason": null, // Motivo pelo qual a consulta de ação foi rejeitada
  "FinalPayout": 0.00, // Pagamento final associado à consulta de ação
  "ResolutionDate": null, // Data em que a consulta foi decidida
  "CreationDate": "2026-04-08T10:05:00Z", // Data em que a consulta é criada no sistema
  "InquiryNotes": "O cliente alega que clicou no link, mas nenhum crédito foi exibido.", // Observações da consulta enviadas pelo parceiro
  "ResolutionNotes": null, // Observações enviadas quando a consulta foi decidida
  "Comments": "[{\"user\": \"support_agent\", \"text\": \"Verificando os logs de clique agora.\"}, {\"user\": \"partner\", \"text\": \"O cliente forneceu o recibo.\"}]" // Comentários adicionados à consulta (em formato JSON)
}
```

</details>

<details>

<summary><strong>Eventos de compensação de ação</strong></summary>

Os eventos de compensação de ação enviarão uma solicitação HTTP para uma URL especificada (e quaisquer parâmetros incluídos) quando as ações forem compensadas.

```json
// Um exemplo de POST em formato JSON
{
  "ActionTrackerId": 12345, // ID do tipo de evento
  "ActionTrackerName": "Standard Sale Tracker", // Nome do tipo de evento
  "CampaignId": 9876, // ID do programa
  "CampaignName": "Spring Global Promotion", // Nome do programa
  "MediaPartnerId": 555, // ID do parceiro
  "MediaPartnerName": "Top Tier Affiliates", // Nome do parceiro
  "OrderIds": "ORD-9921,ORD-9922", // IDs dos pedidos das ações reportadas (separados por vírgula)
  "ActionIds": "ACT-101,ACT-102", // IDs das ações (separados por vírgula)
  "ClearedDate": "2026-04-15T12:00:00Z", // Data (ISO 8601) em que a ação está agendada para ser compensada
  "LedgerDate": "2026-04-08T09:54:43Z" // Data (ISO 8601) em que a ação foi compensada
}
```

</details>

<details>

<summary><strong>Eventos de solicitação de valor de rastreamento</strong></summary>

Os eventos de solicitação de valor de rastreamento enviarão uma solicitação HTTP para uma URL especificada (e quaisquer parâmetros incluídos) quando as solicitações de rastreamento forem criadas.

```json
// Um exemplo de POST em formato JSON
{
  "CampaignId": 9876, // ID do programa
  "ActionTrackerId": 12345, // ID do tipo de evento
  "MediaPartnerId": 555, // ID do parceiro
  "ActionId": "ACT-778899", // ID da ação
  "Amount": 150.00, // Valor da ação na moeda da conta
  "Currency": "USD", // Moeda da ação
  "Oid": "ORD-554433", // ID do pedido
  // Coleção "items": detalhamento dos produtos individuais na ação
  "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 da conversão
  "IpAddress": "192.168.1.1", // Endereço IP do dispositivo
  "RefClickId": "CLK9988776655" // Identificador exclusivo do clique
}
```

</details>

<details>

<summary><strong>Eventos de job concluído</strong></summary>

Os eventos de job concluído enviarão uma solicitação HTTP para uma URL especificada (e quaisquer parâmetros adicionais) quando um job tiver sido concluído para um [Exportação de relatório](https://integrations.impact.com/impact-brand/reference/export-reports) ou [Clique em Exportar](https://integrations.impact.com/impact-brand/reference/retrieve-export-click).

```json
// Um exemplo de POST em formato JSON
{
  "JobId": 10293847, // ID exclusivo do job
  "JobType": "REPORT_EXPORT", // O tipo de job
  "AccountId": 7744, // ID da conta
  "StartDate": "2026-04-08T10:00:05Z", // Hora em que o job começou
  "EndDate": "2026-04-08T10:11:02Z", // Hora em que o job foi concluído
  "RecordsProcessed": 5240, // Número de registros processados ou gerados
  "ApiJobDetailUri": "https://api.impact.com/jobs/10293847", // URI da API para obter mais detalhes sobre o job
  "ApiResultUri": "https://api.impact.com/jobs/10293847/result", // URI da API para obter o resultado da saída do job
  "ResultDownloadUrlExp5": "https://download.impact.com/file?token=a1b2...&exp=5min", // URL para baixar a saída (expira em 5 minutos)
  "ResultDownloadUrlExp15": "https://download.impact.com/file?token=a1b2...&exp=15min", // URL para baixar a saída (expira em 15 minutos)
  "ResultDownloadUrlExp30": "https://download.impact.com/file?token=a1b2...&exp=30min", // URL para baixar a saída (expira em 30 minutos)
  "ResultDownloadUrlExp60": "https://download.impact.com/file?token=a1b2...&exp=60min" // URL para baixar a saída (expira em 60 minutos)
}
```

</details>

<details>

<summary><strong>Eventos de solicitação de parceiro</strong></summary>

{% hint style="info" %}
**Observação:** Esta funcionalidade está em beta. Entre em contato com seu CSM ou com nossa [equipe de suporte](https://app.impact.com/support/portal.ihtml?createTicket=true&) se você quiser testar este recurso.
{% endhint %}

Os eventos de solicitação de parceiro enviarão uma solicitação HTTP para uma URL especificada quando um parceiro enviar uma candidatura.

Em casos em que um payload é entregue com pontos de dados vazios, o sistema foi projetado para acionar atualizações à medida que as informações ficam disponíveis. Entregas bem-sucedidas subsequentes preencherão esses campos anteriormente vazios, garantindo que seus registros permaneçam sincronizados com as informações processadas mais recentes.

{% hint style="warning" %}
**Importante:** O postback não será disparado se você tiver configurado workflows de [solicitação conflitantes](/brand/pt-br/sobre-o-que-voce-gostaria-de-aprender/platform-features/review-partner-applications/automate-partner-application-processing/create-workflows-to-automatically-process-partner-applications.md).
{% endhint %}

```json
// Um exemplo de POST em formato JSON
{
  "ProgramId": "9876", // ID do programa
  "TemplateTermsId": "4455", // ID dos termos do modelo
  "ContractId": "112233", // ID do contrato
  "ApplicationDate": "2026-04-09T08:30:00Z", // Data da candidatura
  "PublisherId": "555", // ID do parceiro
  "Name": "Elite Content Creators", // Nome do parceiro
  "BusinessModel": "SOCIAL_INFLUENCER", // Modelo principal de negócio do parceiro
  "Description": "Uma rede premium de influenciadores de lifestyle e viagens.", // Descrição do perfil
  "Address": "123 Marketing Way", // Endereço
  "City": "Los Angeles", // Cidade
  "State": "CA", // Estado
  "Country": "US", // País
  "Language": "en-US", // Idioma
  "PublisherSize": "M", // XS, S, M, L, XL
  "PastRelationship": false, // Booleano indicando contrato anterior
  "MarketplaceApproved": true, // Booleano indicando status no marketplace
  "ReceivedPayout": true, // Booleano indicando se recebeu um pagamento
}
```

</details>

### Mecanismo de nova tentativa do postback

Se um postback falhar ao tentar fazer a postagem para a URL de destino, a entrega tenta novamente automaticamente com base em uma programação definida, até 15 vezes. As novas tentativas ajudam a lidar com problemas temporários de rede ou indisponibilidade do servidor.

#### Condições em que as novas tentativas não ocorrerão

Um postback não será tentado novamente nos seguintes casos:

* A URL de destino está malformada ou inválida.
* A URL de destino ou seu host não resolve, por exemplo, devido a uma falha na consulta DNS.

#### Programação de novas tentativas

As tentativas de nova execução seguem a programação abaixo. As novas tentativas 1, 2 e 3 são ignoradas se o código de resposta HTTP estiver na faixa de `400` a `500`.

<details>

<summary>Referência da programação de novas tentativas</summary>

<table><thead><tr><th width="321.0546875">Tentativa de nova execução</th><th>Atraso antes da nova tentativa</th></tr></thead><tbody><tr><td>Nova tentativa 1</td><td>+15 segundos</td></tr><tr><td>Nova tentativa 2</td><td>+15 segundos</td></tr><tr><td>Nova tentativa 3</td><td>+15 segundos</td></tr><tr><td>Nova tentativa 4</td><td>+3 minutos</td></tr><tr><td>Nova tentativa 5</td><td>+3 minutos</td></tr><tr><td>Nova tentativa 6</td><td>+15 minutos</td></tr><tr><td>Nova tentativa 7</td><td>+15 minutos</td></tr><tr><td>Nova tentativa 8</td><td>+15 minutos</td></tr><tr><td>Nova tentativa 9</td><td>+2 horas</td></tr><tr><td>Nova tentativa 10</td><td>+2 horas</td></tr><tr><td>Nova tentativa 11</td><td>+2 horas</td></tr><tr><td>Nova tentativa 12</td><td>+6 horas</td></tr><tr><td>Nova tentativa 13</td><td>+6 horas</td></tr><tr><td>Nova tentativa 14</td><td>+6 horas</td></tr><tr><td>Nova tentativa 15</td><td>+6 horas</td></tr></tbody></table>

</details>


---

# Agent Instructions: 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:

```
GET https://help.impact.com/brand/pt-br/sobre-o-que-voce-gostaria-de-aprender/account-administration/account-settings/notifications/enable-event-notification-postbacks-for-brands.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
