> For the complete documentation index, see [llms.txt](https://ajuda.ensinio.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ajuda.ensinio.com/vendas/checkout-externo/integrando-com-asaas.md).

# Integrando com Asaas

Este artigo orienta como configurar o webhook na *Digital Manager Guru* para que ela envie notificações à sua plataforma Ensinio sempre que ocorrer uma transação relevante — garantindo que o acesso dos alunos seja liberado ou bloqueado automaticamente.

Antes de prosseguir com este artigo, certifique-se de que já criou a integração na Ensinio.

Caso ainda não tenha feito, acesse o artigo:

[Checkout Externo: Integrando com Outra Plataforma de Vendas](https://ajuda.ensinio.com/checkout-externo-integrando-com-outra-plataforma-de-vendas).

#### Configurando a entrega

Após clicar em **"Entendi, quero continuar"**, você será direcionado para a tela **"Criando uma entrega"**.

1. No campo **"Nome da entrega"**, digite um nome para identificar essa integração. Exemplo: *Asaas — Curso de Marketing*.
2. No campo **"Código do produto na plataforma"**, insira a **descrição exata do produto cadastrado na Asaas**.

{% hint style="warning" %} Diferente de outras plataformas, na Asaas esse campo não é um código gerado automaticamente. Ele precisa ser preenchido com a descrição exata do produto, tal como está cadastrada na sua conta Asaas — qualquer diferença (mesmo de espaçamento ou pontuação) pode impedir que a entrega seja reconhecida corretamente. {% endhint %}

#### Selecionando a plataforma

Na seção **"Selecione a plataforma"**, clique em **"Asaas"**.

Ao selecionar, a plataforma exibirá a confirmação **"Você selecionou 'Asaas'"**, junto com os campos específicos da integração.

**URL de postback**

Será exibida a **URL de postback**, no formato:

`https://plataformacs.ensinio.cloud/api/v2/postback/asaas`

Copie esse link e cadastre-o na Asaas, em **Configurações > Webhooks** (ou seção equivalente). É por meio dessa URL que a Asaas notificará a Ensinio quando uma venda for aprovada, reembolsada, cancelada ou sofrer chargeback.

**Token de autenticação**

Preencha o campo **"Token de autenticação"** com o token gerado na Asaas.

Esse token garante que apenas a Asaas consiga enviar notificações para a sua plataforma Ensinio.

**Chave da API**

Preencha o campo **"Chave da API"** com a chave de integração fornecida pela Asaas.

Essa chave é necessária para que a Ensinio consiga se comunicar com a Asaas e validar as informações recebidas.

{% hint style="success" %} Tanto o token de autenticação quanto a chave da API são gerados dentro da própria conta Asaas, geralmente em configurações de integração ou API. Consulte a documentação da Asaas caso tenha dúvidas sobre onde encontrar cada um deles. {% endhint %}

**1º Chave API**

A Ensinio permite que você utilize o checkout da Asaas para processar suas vendas mantendo a experiência de aprendizado na Ensinio.

Este artigo orienta como fazer as configurações necessárias para  essa integração garantindo que o acesso dos alunos seja liberado ou bloqueado automaticamente de acordo com as transações ocorridas na Asaas.

Antes de prosseguir com este artigo, certifique-se de que já criou a integração na Ensinio.

Caso ainda não tenha feito, acesse o artigo: [Checkout Externo: Integrando com Outra Plataforma de Vendas](https://ajuda.ensinio.com/checkout-externo-integrando-com-outra-plataforma-de-vendas)

### Como configurar a integração na Ensinio

Ao clicar em Criar integração e selecionar a plataforma Asaas serão exibidos campos de preenchimento obrigatório e um link da URL de Webhook.

<table><thead><tr><th width="167.800048828125">Campo</th><th>Onde encontrar/gerar</th><th>Onde colar</th><th>Para que serve</th></tr></thead><tbody><tr><td>Nome da entrega</td><td>Você mesmo define esse nome, não vem da Asaas</td><td>Direto no campo "Nome da entrega", na integração da Ensinio</td><td>Identificar essa integração dentro do painel da Ensinio</td></tr><tr><td><a href="#id-1.-codigo-do-produto-na-plataforma">Código do produto na plataforma</a></td><td>Na cobrança criada na Asaas - é a "Descrição da cobrança"</td><td>No campo "Código do produto na plataforma", na integração da Ensinio</td><td>Conectar a cobrança da Asaas ao produto correspondente na Ensinio</td></tr><tr><td><a href="#adicionando-o-token-de-autenticacao-e-a-url-do-webhook">URL de Webhook</a></td><td>Gerada automaticamente pela Ensinio ao criar a integração</td><td>No campo "URL" do webhook configurado na Asaas</td><td>Permite que a Asaas envie as notificações de pagamento para a Ensinio</td></tr><tr><td><a href="#id-2.-token-de-autenticacao">Token de autenticação</a></td><td>Gerado no webhook configurado na Asaas</td><td>No campo "Token de autenticação", na integração da Ensinio</td><td>Autenticar as notificações recebidas, confirmando que vêm da Asaas</td></tr><tr><td><a href="#id-3.-chave-da-api">Chave da API</a></td><td>Gerada no painel da Asaas</td><td>No campo "Chave da API", na integração da Ensinio</td><td>Permitir que a Ensinio se comunique com a conta na Asaas</td></tr></tbody></table>

De acordo com a tabela acima, para configurar a integração com a Asaas na Ensinio é necessário antes obter algumas informações a partir das suas configurações na Asaas:

1. Código do produto na plataforma&#x20;
2. Token de autenticação&#x20;
3. Chave da API

O Nome da Entrega é um nome interno para identificar essa integração aqui na Ensinio.          Exemplo: *Asaas Curso de Marketing*.

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2FR5eKP9C29fYAEISKIAXX%2Fimage.png?alt=media&amp;token=758f8545-af87-4bd4-9d01-bbe5771bdfec" alt=""><figcaption></figcaption></figure>

### 1. Código do produto na plataforma&#x20;

Localize a "Descrição" da cobrança configurada na Asaas em Cobranças > Detalhes:

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2FOQh25RNotFxV0L4sPGWE%2Fimage.png?alt=media&amp;token=c28f19e3-8b0f-44d4-be89-a5afef0ab6a8" alt=""><figcaption></figcaption></figure>

No campo **"Código do produto na plataforma"**, insira a "Descrição" da cobrança.

{% hint style="warning" %}
Diferente de outras plataformas, na Asaas esse campo não é um código gerado automaticamente. Ele precisa ser preenchido com a descrição exata do produto, tal como está cadastrada na sua conta Asaas - qualquer diferença (mesmo de espaçamento ou pontuação) pode impedir que a entrega seja reconhecida corretamente.&#x20;
{% endhint %}

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2Fe05LfTcQk2pIzRGzvKkj%2Fimage.png?alt=media&amp;token=6fc7ebe9-6c9d-4cf0-bccc-b334a946145a" alt=""><figcaption></figcaption></figure>

### 2. Token de autenticação&#x20;

Antes de configurar a integração na Ensinio, é necessário configurar um webhook na Asaas para que ela nos envie notificações referentes aos eventos relacionados às vendas, reembolsos, cancelamentos, chargebacks.

Para criar o webhook e gerar o token de autenticação:

1. Clique no ícone do seu perfil.
2. Selecione  Integrações.

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2F30xgaf4It7FV3xEeBxfU%2Fimage.png?alt=media&amp;token=6c219802-77d7-4609-9ef9-6f98f18283fe" alt=""><figcaption></figcaption></figure>

Nomeie o webhook e selecione uma versão de API que tenha todas as permissões necessárias para cobranças e assinaturas.

Em "Tipo de envio" selecione o "Não sequencial".

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2FZDyvcK9a2eW4iH16vKx1%2Fimage.png?alt=media&amp;token=c42de82b-6324-4472-9de5-e32eb8601e0b" alt=""><figcaption></figcaption></figure>

3. Clique em "Gerar Token".
4. Copie o Token de autenticação assim que for criado porque não é possível visualizá-lo novamente depois.
5. Cole o Token de autenticação na página da integração na Ensinio.
6. Aproveite também para copiar o link disponibilizado na página da integração na Ensinio e colar na "URL do Webhook" nas configurações do webhook na Asaas.

   Formato da "URL do Webhook" exibida na página de integração na Ensinio:

   `https://suaplataforma.ensinio.cloud/api/v2/postback/asaas`

#### Adicionando o token de autenticação e a URL do Webhook

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2FlxEnLT59LlR96hvSAqjf%2Fimage.png?alt=media&amp;token=c638e9b2-51b7-467f-9ff8-c141fb219782" alt=""><figcaption></figcaption></figure>

Agora falta apenas preencher o campo "**Chave da API**" na página de integração da Ensinio, mas antes vamos finalizar a configuração do webhook adicionando os eventos necessários.

### Quais eventos adicionar no webhook?

Na Asaas, marque os seguintes eventos para que a integração funcione corretamente:

**Cobranças**

| Evento                         | Efeito                                                                                                            |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
| `PAYMENT_CONFIRMED`            | Cobrança confirmada (pagamento efetuado, porém o saldo ainda não foi disponibilizado) - libera o acesso ao curso. |
| `PAYMENT_RECEIVED`             | Cobrança recebida - libera o acesso ao curso.                                                                     |
| `PAYMENT_REFUNDED`             | Cobrança estornada - bloqueia o acesso do aluno ao curso.                                                         |
| `PAYMENT_CHARGEBACK_REQUESTED` | Chargeback recebido - bloqueia o acesso do aluno ao curso.                                                        |

**Assinaturas (recorrência)**

| Evento                     | Efeito                                           |
| -------------------------- | ------------------------------------------------ |
| `SUBSCRIPTION_CREATED`     | Geração de nova assinatura.                      |
| `SUBSCRIPTION_UPDATED`     | Alteração na assinatura - mantém o acesso ativo. |
| `SUBSCRIPTION_INACTIVATED` | Assinatura inativada - cancela a recorrência.    |
| `SUBSCRIPTION_DELETED`     | Assinatura removida - cancela a recorrência.     |

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2FRihqBWiSmpHSllf8PBUS%2Fimage.png?alt=media&amp;token=ddafe9cb-b235-427c-90df-ec632d07111d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2FxjU4cwaAR3u05Lv03IvR%2Fimage.png?alt=media&amp;token=e0a1f408-1531-4232-b462-26d24d9f01e7" alt=""><figcaption></figcaption></figure>

### **3. Chave da API**

Preencha o campo **"Chave da API"** com a chave de integração fornecida pela Asaas.

Essa chave é necessária para que a Ensinio consiga se comunicar com a Asaas e validar as informações recebidas.

1. Clique no ícone de perfi&#x6C;**.**
2. Clique em "Integrações"**.**
3. Em “Chaves de API”, clique em "Gerar chave de API".
4. Siga todos os passos orientados pela Asaas.

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2FyQAn03tC9Rv7YTaDEi1r%2Fimage.png?alt=media&amp;token=b754a0ab-eacc-4e15-a41e-58a58b21f686" alt=""><figcaption></figcaption></figure>

5. Copie a chave API e cole no campo "Chave da API" na Ensinio:

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2F1VBby40L96UGcCt5QaIS%2Fimage.png?alt=media&amp;token=28283920-618c-481a-a836-83ee75806777" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Como vimos, tanto o token de autenticação quanto a chave da API são gerados dentro da própria conta Asaas.

Consulte a documentação da Asaas para obter maiores detalhes sobre onde encontrar cada um deles.&#x20;
{% endhint %}

### Configurando a expiração da inscrição

Na seção **"Expiração da inscrição"**, você define por quanto tempo o usuário terá acesso ao conteúdo após a compra.

* Se o acesso for **vitalício**, mantenha a opção **"Habilitar expiração da inscrição"** desativada.
* Se o acesso for **por tempo limitado**, ative a opção e defina o período de acesso.

{% hint style="success" %}
Essa configuração é recomendada para venda de produtos de pagamento único, já que o checkout externo não envia a expiração do acesso automaticamente.&#x20;
{% endhint %}

### Selecionando o grupo que o usuário receberá acesso

1. Na seção **"Grupo que o usuário receberá acesso"**, clique em **"+ Selecionar grupo"**.
2. Escolha o grupo ao qual o usuário deverá ter acesso após a compra ser confirmada pela Asaas.

Com tudo preenchido, clique em **"Salvar"**, no canto superior direito, para concluir a configuração.

{% hint style="success" %}
Você pode criar mais de uma entrega para o mesmo grupo caso o mesmo produto seja vendido em plataformas diferentes.
{% endhint %}

### A integração funcionou?

Faça **testes de compra**, para verificar se o acesso será criado na Plataforma corretamente.

### Checklist rápido: Integração com Asaas

**Antes de começar**

* [x] Já criou a integração na Ensinio (artigo "[Checkout Externo: Integrando com Outra Plataforma de Vendas](https://ajuda.ensinio.com/checkout-externo-integrando-com-outra-plataforma-de-vendas)")

**Na Asaas**

* [x] Copiei a **Descrição da cobrança** exata em `Cobranças > Detalhes` (espaços e pontuação idênticos)
* [x] Criei o webhook em `Perfil > Integrações`, com versão de API compatível com cobranças e assinaturas
* [x] Selecionei **Não sequencial** como tipo de entrega
* [x] Marquei os eventos de cobrança: `PAYMENT_CONFIRMED`, `PAYMENT_RECEIVED`, `PAYMENT_REFUNDED`, `PAYMENT_CHARGEBACK_REQUESTED`
* [x] Marquei os eventos de assinatura: `SUBSCRIPTION_CREATED`, `SUBSCRIPTION_UPDATED`, `SUBSCRIPTION_INACTIVATED`, `SUBSCRIPTION_DELETED`
* [x] Gerei e copiei o **Token de autenticação** (não dá para recuperar depois!)
* [x] Colei a **URL de Webhook** da Ensinio no campo correspondente do webhook
* [x] Gerei a **Chave de API** em `Perfil > Integrações > Chaves de API`

**Na Ensinio**

* [x] Preenchi o **Nome da entrega**
* [x] Colei a Descrição da cobrança no campo **Código do produto na plataforma**
* [x] Colei o **Token de autenticação**
* [x] Colei a **Chave da API**
* [x] Configurei a expiração da inscrição, se o produto for de pagamento único
* [x] Selecionei o **Grupo** que receberá acesso
* [x] Cliquei em **Salvar**

**Por fim**

* [x] Fiz uma compra teste para confirmar que o acesso é liberado corretamente

## Checkout Externo: Integrando com a Asaas

A Ensinio permite que você utilize o checkout da Asaas para processar suas vendas e, ao mesmo tempo, entregue o acesso ao conteúdo automaticamente na sua plataforma. Assim, você mantém a experiência de aprendizado na Ensinio sem abrir mão da receita de vendas processada pela Asaas.

#### Antes de configurar a integração na Ensinio

Antes de configurar a integração aqui na Ensinio, é necessário configurar um webhook na Asaas para que ela envie notificações referentes aos eventos de quando um pedido for:

1. **Aprovado** - *cria a inscrição e libera o acesso ao curso.*
2. **Reembolsado/Cancelado** - *bloqueia o acesso do aluno ao curso.*
3. **Sofrer um chargeback** - *bloqueia o acesso do aluno ao curso.*

Caso a venda seja por recorrência, selecione também os eventos de:

1. **Assinatura renovada** - *mantém o acesso ativo para cursos recorrentes.*
2. **Assinatura cancelada** - *cancela uma recorrência.*

#### Acessando os Checkouts Externos

1. No **"Admin Console"**, clique no ícone **"App Store"** no menu lateral esquerdo.
2. Clique em **"Checkouts externos"**.
3. Clique em **"+ Criar uma integração externa"**.
4. Uma janela será exibida com informações sobre a funcionalidade. Leia o aviso e clique em **"Entendi, quero continuar"** para prosseguir.

{% hint style="warning" %}
A notificação de criação de acesso pode levar entre 3 e 7 minutos após a compra ser aprovada na Asaas. Se quiser que o acesso seja imediato, considere criar a oferta diretamente na Ensinio.&#x20;
{% endhint %}

#### Configurando a entrega

Após clicar em **"Entendi, quero continuar"**, você será direcionado para a tela **"Criando uma entrega"**.

1. No campo **"Nome da entrega"**, digite um nome para identificar essa integração. Exemplo: *Asaas - Curso de Marketing*.
2. No campo **"Código do produto na plataforma"**, insira a **descrição exata do produto cadastrado na Asaas**.

{% hint style="warning" %}
&#x20;Diferente de outras plataformas, na Asaas esse campo não é um código gerado automaticamente. Ele precisa ser preenchido com a descrição exata do produto, tal como está cadastrada na sua conta Asaas - qualquer diferença (mesmo de espaçamento ou pontuação) pode impedir que a entrega seja reconhecida corretamente.
{% endhint %}

#### Selecionando a plataforma

Na seção **"Selecione a plataforma"**, clique em **"Asaas"**.

Ao selecionar, a plataforma exibirá a confirmação **"Você selecionou 'Asaas'"**, junto com os campos específicos da integração.

**URL de postback**

Será exibida a **URL de postback**, no formato:

`https://plataformacs.ensinio.cloud/api/v2/postback/asaas`

Copie esse link e cadastre-o na Asaas, em **Configurações > Webhooks** (ou seção equivalente). É por meio dessa URL que a Asaas notificará a Ensinio quando uma venda for aprovada, reembolsada, cancelada ou sofrer chargeback.

**Token de autenticação**

Preencha o campo **"Token de autenticação"** com o token gerado na Asaas.

Esse token garante que apenas a Asaas consiga enviar notificações para a sua plataforma Ensinio.

**Chave da API**

Preencha o campo **"Chave da API"** com a chave de integração fornecida pela Asaas.

Essa chave é necessária para que a Ensinio consiga se comunicar com a Asaas e validar as informações recebidas.

{% hint style="success" %}
Tanto o token de autenticação quanto a chave da API são gerados dentro da própria conta Asaas, geralmente em configurações de integração ou API. Consulte a documentação da Asaas caso tenha dúvidas sobre onde encontrar cada um deles.&#x20;
{% endhint %}

#### Configurando a expiração da inscrição

Na seção **"Expiração da inscrição"**, você define por quanto tempo o usuário terá acesso ao conteúdo após a compra.

* Se o acesso for **vitalício**, mantenha a opção **"Habilitar expiração da inscrição"** desativada.
* Se o acesso for **por tempo limitado**, ative a opção e defina o período de acesso.

{% hint style="success" %}
Essa configuração é recomendada para venda de produtos de pagamento único, já que o checkout externo não envia a expiração do acesso automaticamente.&#x20;
{% endhint %}

#### Selecionando o grupo que o usuário receberá acesso

1. Na seção **"Grupo que o usuário receberá acesso"**, clique em **"+ Selecionar grupo"**.
2. Escolha o grupo ao qual o usuário deverá ter acesso após a compra ser confirmada pela Asaas.

Com tudo preenchido, clique em **"Salvar"**, no canto superior direito, para concluir a configuração.

{% hint style="success" %}
Você pode criar mais de uma entrega para o mesmo grupo caso o mesmo produto seja vendido em plataformas diferentes.&#x20;
{% endhint %}

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2FMLYHrZzyeSi7xfZ1AEXo%2Fimage.png?alt=media&amp;token=fcff861d-7e4a-42a5-a844-cd5d9f06a047" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2FDNdPli2BKt95axdk8YMK%2Fimage.png?alt=media&amp;token=58f1265f-0d04-4e80-a207-7ef07306b1fc" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2F55AsId4vd2oIh8YjBZe7%2Fimage.png?alt=media&amp;token=9442e4e0-f2a4-4599-809f-0cc787e4d582" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2FliCDpJY1gHjrctgUXmQS%2Fimage.png?alt=media&amp;token=18d63fc6-192d-4ba8-86c5-3ef436ebeab5" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2259447927-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwebm0QbRMYk9AEqv2lsa%2Fuploads%2FddbWE591VKNh6iaPjJpS%2Fimage.png?alt=media&amp;token=c09d9dd0-3a7e-4367-8c52-7fefe4449d27" alt=""><figcaption></figcaption></figure>
