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

# Derechos de Telegram

> Añade automáticamente clientes de pago a un chat o canal privado de Telegram cuando se suscriben o compran.

<Info>
  El derecho de Telegram da a los clientes de pago acceso a un chat o canal privado. El bot de Telegram de Dodo Payments genera un enlace de invitación de un solo uso para cada cliente y los elimina en caso de cancelación.
</Info>

## Qué se entrega

* La concesión se crea en `pending` mientras el bot prepara la invitación, luego se transfiere a `delivered` una vez que el enlace está listo.
* El cliente recibe un enlace de invitación de Telegram de un solo uso en su correo de entrega y en el portal del cliente.
* Tocan el enlace y el bot los agrega al chat configurado.
* En caso de cancelación, reembolso o revocación manual, el bot los elimina del chat.

Los usos comunes incluyen canales alfa privados, grupos de señales pagados y beneficios de nivel comunitario.

## Conectar Telegram

<Steps>
  <Step title="Open Entitlements">
    En tu panel de Dodo Payments, ve a **Entitlements** y haz clic en **+**, luego elige **Telegram Access** como la integración. El panel solicita tu ID de usuario de Telegram para que el bot pueda verificar la propiedad de los chats que gestiona.

    <Frame caption="New Entitlement → Telegram Access. The dashboard needs your Telegram user ID before it lists chats.">
      <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/telegram/connect-prompt.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=dbb8be6964b2cbfb9bbe9902944f3d5f" alt="Formulario de nuevo derecho de acceso a Telegram solicitando ID de usuario de Telegram y botón Conectar Telegram" style={{ maxHeight: '500px', width: 'auto' }} width="2000" height="1131" data-path="images/entitlements/telegram/connect-prompt.png" />
    </Frame>

    <Tip>
      Los siguientes dos pasos son tareas de configuración en Telegram y se pueden completar en cualquier orden: obtén tu ID de usuario y añade el bot a tu chat como administrador. Una vez que ambos estén listos, vuelve al panel para el paso final.
    </Tip>
  </Step>

  <Step title="Get your Telegram user ID">
    En Telegram, envía un mensaje a **`/start`** a:

    * **`@dodo_payments_bot`** si estás usando **Modo en vivo**
    * **`@DodoPaymentsTestBot`** si estás usando **Modo de prueba**

    El bot responde con tu ID de usuario numérico de Telegram. Cópialo — lo pegarás en el panel en el último paso.
  </Step>

  <Step title="Add the bot to your chat as an admin">
    En el grupo o canal de Telegram que deseas proteger, abre la lista de miembros y **añade el mismo bot como administrador** (`@dodo_payments_bot` para vivo, `@DodoPaymentsTestBot` para prueba) con estos dos permisos habilitados:

    * **Ban Users** — necesario para eliminar miembros en caso de revocación
    * **Add Users** — necesario para invitar a clientes de pago

    Desactiva todos los demás permisos de administrador.

    <Frame caption="Telegram → Promote to admin. Only Ban Users and Add Users need to be enabled.">
      <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/telegram/promote-bot-admin.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=bf927f2ee98616b671257d246de06cd3" alt="Pantalla de promoción a administrador de Telegram mostrando Ban Users y Add Users habilitados para el bot de Dodo Payments" style={{ maxHeight: '500px', width: 'auto' }} width="734" height="1626" data-path="images/entitlements/telegram/promote-bot-admin.png" />
    </Frame>
  </Step>

  <Step title="Connect Telegram and pick the chat">
    De vuelta en el panel, pega el ID de usuario del paso 2 en **Telegram User ID** y haz clic en **Connect Telegram**. El selector de chat ahora lista cada grupo y canal donde el bot es administrador: elige el que deseas proteger, dale un nombre al derecho y haz clic en **Create Entitlement**.
  </Step>
</Steps>

## Flujo del cliente

1. El cliente completa la compra.
2. Dodo Payments crea un `pending` de concesión y pide al bot que genere un enlace de invitación de un solo uso al chat configurado.
3. Una vez que el enlace está listo, la concesión se mueve a `delivered` y el enlace se incluye en el correo de entrega y el portal del cliente.
4. El cliente toca el enlace y es añadido al chat.
5. En caso de revocación, el bot elimina al cliente del chat.

<Tip>
  El enlace de invitación es de un solo uso y expira después de que el cliente se une. Si pierden el enlace antes de unirse, regénéralo volviendo a enviar el correo de entrega o revocando y recreando la concesión desde el panel.
</Tip>

## Configuración requerida

| Campo     | Requerido | Descripción                                                                                                              |
| --------- | --------- | ------------------------------------------------------------------------------------------------------------------------ |
| `chat_id` | Sí        | El ID de chat de Telegram (numérico, a menudo negativo para grupos/canales). El selector del panel completa esto por ti. |

## Crear vía API

<CodeGroup>
  ```typescript TypeScript theme={null} theme={null}
  const entitlement = await client.entitlements.create({
    name: 'Premium Signals Group',
    integration_type: 'telegram',
    integration_config: {
      chat_id: '-1001234567890',
    },
  });
  ```

  ```python Python theme={null} theme={null}
  client.entitlements.create(
      name="Premium Signals Group",
      integration_type="telegram",
      integration_config={"chat_id": "-1001234567890"},
  )
  ```

  ```go Go theme={null} theme={null}
  client.Entitlements.New(ctx, dodopayments.EntitlementNewParams{
    Name:            dodopayments.F("Premium Signals Group"),
    IntegrationType: dodopayments.F(dodopayments.EntitlementIntegrationTypeTelegram),
    IntegrationConfig: dodopayments.F[dodopayments.IntegrationConfigUnionParam](
      dodopayments.IntegrationConfigTelegramConfigParam{
        ChatID: dodopayments.F("-1001234567890"),
      },
    ),
  })
  ```
</CodeGroup>

## Webhooks

Consulta [eventos de webhook de `entitlement_grant.*`](/developer-resources/webhooks/intents/entitlement-grant). Los derechos de Telegram llegan `pending` y se trasladan a `delivered` una vez que el bot ha emitido el enlace de invitación.

## Solución de problemas

<AccordionGroup>
  <Accordion title="Chat doesn't appear in the picker">
    El bot de Dodo Payments debe ser agregado al chat **como administrador** con **Add Users** habilitado. El selector lee el estado en vivo, por lo que el chat aparece tan pronto como el bot es administrador.
  </Accordion>

  <Accordion title="Customer says the invite link doesn't work">
    Los enlaces de un solo uso de Telegram expiran después del primer uso. Si el cliente lo tocó en un dispositivo desconectado o perdió el enlace, revoca la concesión y vuelve a emitirla.
  </Accordion>

  <Accordion title="Customer cancelled but is still in the chat">
    El bot necesita el permiso de administrador **Ban Users** para eliminar miembros. Abre la configuración del chat y confirma que ambos **Ban Users** y **Add Users** están marcados en el bot de Dodo Payments.
  </Accordion>
</AccordionGroup>
