> 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/pt-br/what-would-you-like-to-learn-about/advocate-program/advocate-program-settings/test-your-advocate-program.md).

# Teste seu programa Advocate

Você pode testar seu programa de Advocate simulando as [regras do programa](/brand/pt-br/what-would-you-like-to-learn-about/advocate-program/getting-started-with-advocate/advocate-program-rules-explained.md) contra dados de exemplo para confirmar se uma regra se comporta como esperado antes de confiar nela em produção.

{% hint style="success" %}
**Observação:** Você precisa configurar pelo menos 1 regra de programa para testar seu programa.
{% endhint %}

{% stepper %}
{% step %}

## Acessar Teste Meu Programa

1. No menu de navegação à esquerda, selecione ![](https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-230534471fef5f40808e921e41ee44e4a06ded03%2Fe6cb9548999afdc1ed3ce4942e4cb5b45b5cecbd323267aac2a7cd1915fccc09.svg?alt=media) **\[Engage]** <i class="fa-arrow-right">:arrow-right:</i> **Regras do programa** <i class="fa-arrow-right">:arrow-right:</i> **Teste Meu Programa**.
   1. Selecione **Próximo** para avançar entre as etapas.
      {% endstep %}

{% step %}

## Confirme o programa e a versão

2. O programa já vem preenchido a partir do seu contexto atual. Troque-o apenas se precisar testar outro.
3. A partir do *Versão* ![](https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-c2cb550b55c51ea1eeff0acbd6f437a03b621a2c%2F60d033ae8a04c14498d5229c3c0160ac05feea7f605dbd770741793c900469f0.svg?alt=media) **\[menu suspenso]**, selecione se deseja simular a **Rascunho** ou **Ativa** versão.
   1. Saiba mais sobre o que envolve uma versão de rascunho e uma versão ao vivo do seu programa de Advocate.
      {% endstep %}

{% step %}

## Escolha o evento e preencha suas entradas

4. Selecione qual evento você quer simular e, em seguida, insira as informações da forma como elas ocorreriam no seu programa:
   * **Início do referral**
   * **Amigo faz uma compra**
   * **Amigo devolve uma compra**
   * **Amigo realiza uma ação**

<details>

<summary>Referência de campos</summary>

| Campo                                | O que faz                                             | Disponível para                                                       |
| ------------------------------------ | ----------------------------------------------------- | --------------------------------------------------------------------- |
| **Evento de compra**                 | O evento de compra rastreado a ser simulado.          | Amigo faz uma compra, Amigo reembolsa uma compra                      |
| **Data da compra**                   | A data da compra simulada.                            | Amigo faz uma compra, Amigo reembolsa uma compra                      |
| **tipo de evento**                   | O evento rastreado a ser simulado.                    | Amigo realiza uma ação                                                |
| **Data do evento**                   | A data em que o evento ocorreu.                       | Amigo realiza uma ação                                                |
| **Moeda**                            | A moeda do valor da compra simulada.                  | Amigo faz uma compra, Amigo executa uma ação                          |
| **Valor da compra**                  | O valor da compra simulada.                           | Amigo faz uma compra (obrigatório), Amigo executa uma ação (opcional) |
| **Referral iniciado em**             | A data em que o referral começou.                     | Todos os eventos                                                      |
| **Referral convertido**              | Especifique se e quando o referral já foi convertido. | Todos os eventos, exceto Início do referral                           |
| **Segmentos do Advocate** (opcional) | Limite o teste a um segmento específico do Advocate.  | Todos os eventos                                                      |
| **Segmentos do Amigo** (opcional)    | Limite o teste a um segmento específico do Amigo.     | Todos os eventos                                                      |

</details>
{% endstep %}

{% step %}

## Executar o teste

5. Selecione **Executar teste**. Suas regras são avaliadas com base no programa selecionado, na versão e nas entradas que você forneceu.
   {% endstep %}

{% step %}

## Leia a saída da prévia

6. Revise as seções *Pré-visualização* painel:
   1. Um resumo da regra acionada, o intervalo de datas se ações baseadas em data se aplicarem e uma linha marcada com um check para cada ação resultante. Confirme se corresponde ao que você esperava.
      {% endstep %}
      {% endstepper %}

## Casos de teste

Estes casos de teste usam exemplos de regras que você pode configurar para confirmar se seu programa se comporta como deseja antes de publicá-lo. Cada cenário abaixo detalha uma situação específica. Adapte os detalhes, como gatilho, valores e segmentos, para corresponder à configuração do seu próprio programa.

<details>

<summary>Lógica básica de gatilho</summary>

**Objetivo:**

* Confirmar se uma regra básica acionada por compra corresponde e retorna o resultado esperado.
* Confirmar que não há comportamento de fallback incorreto.

**Configuração da regra:**

* Gatilho: Amigo faz uma compra.
* Ação: Recompensa e E-mail para o Advocate, com uma recompensa em dinheiro para o Advocate.
* Nenhuma ação padrão necessária.

**Entradas de teste:**

* Evento: Amigo faz uma compra.
* Evento de compra, data da compra, valor da compra e moeda correspondentes à sua regra.
* Referral iniciado na mesma data.
* Segmentos deixados em aberto.

**Resultado esperado:**

* A regra corresponde, e a prévia mostra exatamente qual regra correspondeu.
* A linha de recompensa do Advocate mostra o valor da recompensa configurado.
* A linha de e-mail do Advocate é exibida.
* Nenhuma outra ação de fallback incorreta aparece.

</details>

<details>

<summary>Correspondência na janela de tempo vs. fallback</summary>

**Objetivo:**

* Confirmar que uma data dentro de uma janela baseada em tempo aplica a ação baseada em tempo.
* Confirmar que uma data fora da janela usa o padrão como fallback.

**Configuração da regra:**

* Gatilho: Amigo faz uma compra.
* Uma ação baseada em tempo limitada a uma janela de datas, com base na data de início do referral.
* Uma ação padrão fora dessa janela.

**Execução A (dentro da janela):**

* Defina a data de início do referral dentro da janela.

**Esperado A:**

* A prévia mostra exatamente qual regra baseada em tempo correspondeu.
* Sua recompensa e seu e-mail são aplicados.

**Execução B (fora da janela):**

* Defina a data de início do referral fora da janela.

**Esperado B:**

* A ação baseada em tempo não corresponde.
* A recompensa e o e-mail padrão são aplicados em vez disso.

</details>

<details>

<summary>Seleção de recompensa por níveis</summary>

**Objetivo:**

* Confirmar se o nível de recompensa correto é selecionado com base no valor da compra.

**Configuração da regra:**

* Gatilho: Amigo faz uma compra.
* Ação: Recompensa por níveis e E-mail para o Advocate.
* Pelo menos três níveis de recompensa por faixa de valor da compra (por exemplo, um nível baixo, médio e alto).

**Entradas de teste:**

* Execute uma vez por nível.
* Insira um valor de compra que se enquadre na faixa de cada nível.
* Mantenha todas as outras entradas iguais entre as execuções.

**Resultado esperado:**

* Cada execução mostra a recompensa configurada para o nível em que o valor se enquadra, e não a recompensa de outro nível.

</details>

<details>

<summary>Elegibilidade controlada por segmento</summary>

**Objetivo:**

* Confirmar se uma condição de segmento controla se a regra se aplica.

**Configuração da regra:**

* Gatilho: Amigo faz uma compra.
* Uma condição que exige que o Advocate esteja em um segmento específico.
* Idealmente, uma ação padrão para todos os demais.

**Execução A (correspondência):**

* Defina o segmento do Advocate como o elegível.

**Esperado A:**

* A ação elegível se aplica.
* O padrão é ignorado.

**Execução B (sem correspondência):**

* Defina o segmento do Advocate como um inelegível.

**Esperado B:**

* A ação padrão se aplica, se houver uma configurada.
* Se não houver, nenhuma ação qualificada é acionada.

</details>

<details>

<summary>Cálculo de comissão</summary>

**Objetivo:**

* Confirmar se uma recompensa de comissão é calculada a partir do valor da compra e exibida na moeda correta.

**Configuração da regra:**

* Gatilho: Amigo faz uma compra.
* Ação: Recompensa e E-mail para o Advocate.
* Uma recompensa baseada em comissão — uma porcentagem do valor da compra — na moeda da transação.

**Execução A e B:**

* Dois valores de compra diferentes, mesma moeda.

**Esperado A e B:**

* Cada um mostra a taxa de comissão aplicada corretamente a esse valor.

**Execução C (se seu programa suportar várias moedas):**

* O mesmo valor da Execução A, mas em uma moeda diferente.

**Esperado C:**

* A comissão é calculada corretamente e exibida na nova moeda.
* Isso isola o tratamento de moeda do cálculo do valor.

</details>

<details>

<summary>Sem correspondência e sem ação padrão configurada</summary>

**Objetivo:**

* Confirmar se a prévia mostra claramente que nenhuma ação ocorrerá quando nada corresponder e não houver fallback.

**Configuração da regra:**

* Uma ação baseada em tempo sem nenhuma ação padrão configurada.

**Entradas de teste:**

* Defina a data de início do referral fora da janela de tempo.

**Resultado esperado:**

* Nenhuma correspondência na janela de tempo.
* Nenhum fallback padrão disponível.
* A prévia mostra claramente que nenhuma ação qualificada ocorrerá.

</details>

<details>

<summary>Sem correspondência por condição da regra não atendida</summary>

**Objetivo:**

* Confirmar se a prévia mostra nenhuma ação quando as próprias condições de uma regra não são atendidas — e não apenas uma janela de tempo.

**Configuração da regra:**

* Uma regra com duas condições no evento de disparo: um evento de compra específico e um valor mínimo de compra.

**Entradas de teste:**

* Insira um evento de compra que não corresponda, um valor abaixo do mínimo, ou ambos.

**Resultado esperado:**

* Nenhuma condição da regra é correspondida.
* A prévia mostra claramente que nada acontecerá.

</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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.impact.com/brand/pt-br/what-would-you-like-to-learn-about/advocate-program/advocate-program-settings/test-your-advocate-program.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
