# GoHighLevel

> Conecte a GoHighLevel à sua Cademí: o ID do produto, o aviso de gateway em beta e o workflow com os webhooks de pagamento recebido e de reembolso.

Conecte a GoHighLevel à sua Cademí para que cada compra aprovada libere o acesso do aluno sozinha e o reembolso o retire. Você vai precisar do ID do produto e de um workflow na GoHighLevel que avisa a Cademí por webhook. A GoHighLevel não pede token.

## 1. Crie a entrega na Cademí

1. No painel da Cademí, abra **Vendas > Entregas** e adicione uma entrega.
2. Em **Selecione um Gateway**, escolha a **GoHighLevel**. A tela mostra o aviso **Esse gateway está em fase de implementação beta, mas você já pode usá-lo**: siga normalmente.
3. Em **Nome da Entrega**, dê um nome que ajude a reconhecê-la depois.
4. **Modalidade de Venda** mostra só **Venda única**: a entrega da GoHighLevel não tem a opção **Assinatura**.
5. O bloco **Conexão com o gateway** mostra o campo **ID do Produto** e a **URL de Postback**.

Deixe a entrega aberta: você volta a ela nos próximos passos.

## 2. Ache o ID do produto

1. No painel da GoHighLevel, clique em **Payments** no menu lateral e depois em **Products**.
2. Clique no produto e, na seção **Additional Information**, copie o valor de **Internal Product Id**.
3. Cole o ID em **ID do Produto**, na entrega da Cademí.

## 3. Crie o workflow

O workflow escuta os pagamentos da GoHighLevel: o pagamento aprovado libera o acesso do aluno, e o reembolso tira o acesso.

1. No menu lateral, clique em **Automation** e, no canto superior direito, em **Create Workflow**.
2. Escolha **Start from Scratch** e dê ao workflow o nome "Cademí".
3. Clique em **Add New Trigger**, escolha o evento **Payment Received** e, em **Filters**, defina **Payment Status** **is** **Success**. Salve o gatilho.
4. Clique de novo em **Add New Trigger**, escolha o evento **Refund** e, em **Filters**, defina **Status** **is** **Success**. Salve o gatilho.
5. Abaixo dos gatilhos, clique em **+** e adicione a ação **Condition**, verificando o campo **Workflow Trigger**.
6. Na condição, crie dois caminhos: **Approved**, quando o gatilho for **Payment Received**, e **Canceled**, quando for **Refund**. O caminho **None**, quando não é nenhum dos dois, fica sem ação.

## 4. Adicione os webhooks

Os webhooks são as ações que avisam a Cademí. Sem eles, o workflow roda na GoHighLevel e a Cademí não recebe nada.

No caminho **Approved**:

1. Clique em **+** abaixo do caminho e escolha a ação **Webhook**.
2. Em **Action Name**, escreva "Approved". Em **Method**, escolha **POST**. Em **URL**, cole a **URL de Postback** da entrega.
3. Deixe **Custom Data** e **Headers** em branco e clique em **Save Action**.

No caminho **Canceled**:

1. Clique em **+** abaixo do caminho e escolha a ação **Custom Webhook**.
2. Em **Action Name**, escreva "Canceled". Em **Event**, escolha **CUSTOM**; em **Method**, **POST**; em **URL**, cole a **URL de Postback** da entrega; em **Authorization**, **None**.
3. Deixe **Headers** e **Query Parameters** em branco. Em **Content-Type**, escolha `application/json`.
4. Em **Raw Body**, selecione **Custom Values** e cole exatamente este código:

```json
{
  "payment_status": "canceled",
  "transaction_id": "{{refund.transaction.id}}",
  "user_email": "{{contact.email}}",
  "user_name": "{{contact.name}}"
}
```

5. Clique em **Save Action**.

Por fim, clique em **Publish** para publicar o workflow e, na Cademí, salve a entrega.

**Atenção:** um workflow em rascunho não envia nada. Se você não publicar, a Cademí não recebe as vendas.
