> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Notion Entitlement

> Duplique um template do Notion no espaço de trabalho do cliente quando ele comprar.

<Info>
  A autorização do Notion duplica um template que você preparou no espaço de trabalho do cliente pagante. O cliente autoriza através de OAuth, escolhe o espaço de trabalho no qual deseja que o template seja copiado, e o Dodo Payments gerencia a duplicação.
</Info>

## O que é entregue

* O cliente é solicitado a conectar seu espaço de trabalho do Notion via OAuth.
* Uma vez autorizado, o Dodo Payments duplica o template configurado no espaço de trabalho que ele escolheu.
* Em caso de cancelamento, o template duplicado permanece no espaço de trabalho do cliente (o Notion não suporta exclusão remota). A concessão é marcada como `revoked` para manutenção de registros.

Usos comuns incluem templates pagos do Notion, sistemas de produtividade e templates de OS/CRM.

## Conectar Notion

<Steps>
  <Step title="Open Entitlements">
    No seu dashboard do Dodo Payments, vá para **Entitlements** e clique em **+**.
  </Step>

  <Step title="Pick Notion">
    Escolha **Notion Template** como a integração. Se o Notion ainda não estiver conectado, você será solicitado a **Conectar Notion**.

    <Frame caption="Connect Notion prompt before the OAuth handoff.">
      <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/notion/connect-prompt.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=90f1f2a60c96918a8da19665a24fcaca" alt="Novo painel de permissão solicitando que o comerciante conecte o Notion" style={{ maxHeight: '500px', width: 'auto' }} width="2000" height="1133" data-path="images/entitlements/notion/connect-prompt.png" />
    </Frame>

    Clicar abre o Notion em uma nova aba. Faça login no espaço de trabalho que possui seus templates de origem, revise as permissões que o Dodo Payments solicita, e depois escolha as páginas (templates) que a integração pode ler e duplicar.

    <Frame caption="Notion OAuth: review permissions, then pick the template pages to share.">
      <div style={{ display: 'flex', gap: '12px', flexWrap: 'wrap', justifyContent: 'center' }}>
        <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/notion/oauth-permissions.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=957e39812ac19bbf81cceb50f023a14a" alt="Tela de permissões OAuth do Notion para Dodo Payments" style={{ maxHeight: '420px', width: 'auto' }} width="2000" height="1121" data-path="images/entitlements/notion/oauth-permissions.png" />

        <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/notion/oauth-select-pages.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=1f8bd414d5900f9d246d96f15877aba1" alt="Seletor de páginas do Notion selecionando quais templates o Dodo Payments pode acessar" style={{ maxHeight: '420px', width: 'auto' }} width="2000" height="1138" data-path="images/entitlements/notion/oauth-select-pages.png" />
      </div>
    </Frame>

    Quando o Notion redirecionar de volta, você verá uma confirmação de que o espaço de trabalho está conectado.

    <Frame caption="Workspace connected — return to the Dodo Payments dashboard to continue.">
      <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/notion/connected.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=5e526d2cc12c27f526b2a6e469157bd8" alt="Página de confirmação de Conexão de Template do Notion bem-sucedida" style={{ maxHeight: '500px', width: 'auto' }} width="2000" height="1143" data-path="images/entitlements/notion/connected.png" />
    </Frame>
  </Step>

  <Step title="Pick a template">
    De volta ao dashboard, selecione o **template** para duplicar no seletor de templates. Apenas páginas que você autorizou na etapa anterior aparecem aqui. Dê um **nome** à autorização e clique em **Criar Autorização**.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/notion/create.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=82a51c79ed0c6937abf866c187673ab7" alt="Formulário de autorização do Notion com espaço de trabalho conectado, seletor de template e campo de nome" style={{ maxHeight: '500px', width: 'auto' }} width="2000" height="1135" data-path="images/entitlements/notion/create.png" />
    </Frame>
  </Step>

  <Step title="Save the entitlement">
    Salve e anexe a qualquer produto.
  </Step>
</Steps>

## Fluxo do cliente

1. O cliente conclui o checkout.
2. O Dodo Payments cria uma concessão em status `pending` com um Notion `oauth_url` para que o cliente conecte seu espaço de trabalho.
3. O cliente autoriza através do link em seu e-mail ou portal do cliente e escolhe o espaço de trabalho no qual deseja que o template seja duplicado.
4. O Dodo Payments duplica o template. A concessão é movida para `delivered`.
5. Na revogação, a concessão é marcada como `revoked`; a cópia duplicada permanece no espaço de trabalho do cliente.

<Note>
  O Notion trata intencionalmente uma página duplicada como conteúdo próprio do destinatário. O Dodo Payments não pode excluir a cópia em caso de revogação.
</Note>

## Configuração necessária

| Campo                | Obrigatório | Descrição                                               |
| -------------------- | ----------- | ------------------------------------------------------- |
| `notion_template_id` | Sim         | O ID do template. O seletor do dashboard preenche isso. |

## Criar via API

<CodeGroup>
  ```typescript TypeScript theme={null} theme={null}
  const entitlement = await client.entitlements.create({
    name: 'Study Notes',
    integration_type: 'notion',
    integration_config: {
      notion_template_id: 'tmpl_abc123',
    },
  });
  ```

  ```python Python theme={null} theme={null}
  client.entitlements.create(
      name="Study Notes",
      integration_type="notion",
      integration_config={"notion_template_id": "tmpl_abc123"},
  )
  ```

  ```go Go theme={null} theme={null}
  client.Entitlements.New(ctx, dodopayments.EntitlementNewParams{
    Name:            dodopayments.F("Study Notes"),
    IntegrationType: dodopayments.F(dodopayments.EntitlementIntegrationTypeNotion),
    IntegrationConfig: dodopayments.F[dodopayments.IntegrationConfigUnionParam](
      dodopayments.IntegrationConfigNotionConfigParam{
        NotionTemplateID: dodopayments.F("tmpl_abc123"),
      },
    ),
  })
  ```
</CodeGroup>

## Webhooks

Veja [eventos de webhook `entitlement_grant.*`](/developer-resources/webhooks/intents/entitlement-grant):

* `entitlement_grant.created` inclui o Notion `oauth_url`.
* `entitlement_grant.delivered` dispara assim que o template é duplicado.
* `entitlement_grant.revoked` dispara no cancelamento; a cópia do cliente permanece intocada.

## Solução de problemas

<AccordionGroup>
  <Accordion title="Customer didn't get the template">
    A concessão permanece `pending` até que o cliente complete o OAuth do Notion. Reenvie o e-mail de entrega; o link OAuth expira após uma semana, após a qual você pode revogar e recriar a concessão.
  </Accordion>

  <Accordion title="Template picker is empty">
    Reconecte o Notion de **Entitlements → Integrations → Notion** com o espaço de trabalho que possui os templates de origem.
  </Accordion>

  <Accordion title="Customer wants the template removed after refund">
    O Notion não permite a exclusão remota de páginas duplicadas. O cliente deve excluir a cópia de seu próprio espaço de trabalho.
  </Accordion>
</AccordionGroup>
