> ## 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.

# Entitlement do Framer

> Desbloqueie um link de remix de template do Framer para clientes pagantes.

<Info>
  O entitlement do Framer desbloqueia um link de remix de template do Framer para clientes pagantes. Você faz upload do template para Dodo Payments, associa o entitlement a um produto, e os clientes recebem um link de remix que permite clonar o template na própria conta do Framer.
</Info>

## O que é entregue

* Um link de remix exclusivo para o template do Framer que você enviou.
* O cliente clica no link para fazer o remix do template no próprio workspace do Framer.
* Em caso de cancelamento ou reembolso, o link de remix é invalidado.

Os usos comuns incluem templates pagos de landing pages no Framer, kits de portfólio e bibliotecas de componentes.

## Conectar o Framer

O Framer é conectado implicitamente na primeira vez que você cria um entitlement de template. Não há uma etapa OAuth separada.

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

  <Step title="Pick Framer">
    Escolha **Framer Template** como integração.
  </Step>

  <Step title="Grab the remix link from Framer">
    Abra seu projeto no Framer. No menu no canto superior esquerdo, acesse **File → Copy Remix Link**. Isso gera uma URL pública de remix que permite que qualquer pessoa clone o projeto na própria conta do Framer — esse é o link que Dodo Payments compartilhará com os clientes pagantes.

    <Frame caption="Framer File menu: click Copy Remix Link to copy the template's remix URL.">
      <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/framer/copy-remix-link.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=a0e1e4d5c9cc0a88ca5dbf059a4d2329" alt="Menu File do Framer com a opção Copy Remix Link destacada" style={{ maxHeight: '500px', width: 'auto' }} width="906" height="1488" data-path="images/entitlements/framer/copy-remix-link.png" />
    </Frame>
  </Step>

  <Step title="Add the template and create the entitlement">
    De volta ao dashboard do Dodo Payments, selecione o template no menu suspenso **Template**. Na primeira vez que fizer isso para um novo template, cole o link de remix copiado para registrá-lo. Dê um **name** ao entitlement e clique em **Create Entitlement**.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/framer/create.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=f3b5bfdb1092047e06f4eeba03d7bddf" alt="Formulário de entitlement de template do Framer com seletor de template e campo de nome" style={{ maxHeight: '500px', width: 'auto' }} width="2000" height="1130" data-path="images/entitlements/framer/create.png" />
    </Frame>

    Dodo Payments registra o template e retorna um `framer_template_id` que você pode referenciar programaticamente.
  </Step>
</Steps>

## Fluxo do cliente

1. O cliente conclui o checkout.
2. Dodo Payments cria um `pending` grant e emite um link de remix exclusivo associado a esse cliente.
3. O grant muda para `delivered` depois que o link de remix é provisionado, e o link é incluído no e-mail e no portal do cliente.
4. O cliente clica no link, entra no Framer e faz o remix do template.
5. Após a revogação, o link de remix é invalidado. As cópias que já sofreram remix na conta do Framer do cliente permanecem, pois o Framer não oferece uma forma de revogá-las.

## Configuração obrigatória

| Field                | Required | Description                                                    |
| -------------------- | -------- | -------------------------------------------------------------- |
| `framer_template_id` | Yes      | O ID do template retornado quando você faz upload do template. |

## Criar via API

<CodeGroup>
  ```typescript TypeScript theme={null} theme={null}
  const entitlement = await client.entitlements.create({
    name: 'Portfolio Kit',
    integration_type: 'framer',
    integration_config: {
      framer_template_id: 'tmpl_abc123',
    },
  });
  ```

  ```python Python theme={null} theme={null}
  client.entitlements.create(
      name="Portfolio Kit",
      integration_type="framer",
      integration_config={"framer_template_id": "tmpl_abc123"},
  )
  ```

  ```go Go theme={null} theme={null}
  client.Entitlements.New(ctx, dodopayments.EntitlementNewParams{
    Name:            dodopayments.F("Portfolio Kit"),
    IntegrationType: dodopayments.F(dodopayments.EntitlementIntegrationTypeFramer),
    IntegrationConfig: dodopayments.F[dodopayments.IntegrationConfigUnionParam](
      dodopayments.IntegrationConfigFramerConfigParam{
        FramerTemplateID: dodopayments.F("tmpl_abc123"),
      },
    ),
  })
  ```
</CodeGroup>

## Webhooks

Consulte os [`entitlement_grant.*` webhook events](/developer-resources/webhooks/intents/entitlement-grant). Os grants do Framer chegam como `pending` e mudam para `delivered` depois que o link de remix é provisionado.

## Solução de problemas

<AccordionGroup>
  <Accordion title="Customer's remix link doesn't work">
    O link de remix é de uso único e está associado ao cliente. Se ele perdeu o link antes de fazer o remix, revogue o grant e emita-o novamente.
  </Accordion>

  <Accordion title="Refunded customer still has a remixed copy">
    Isso é esperado. O Framer trata um remix como o projeto do próprio cliente assim que ele é clonado; Dodo Payments invalida o link original, mas não pode excluir cópias na conta do cliente.
  </Accordion>
</AccordionGroup>
