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.
Descripción General
La Entrega de Productos Digitales es el tipo de derecho de Archivos Digitales. Cargas tus archivos una vez en un derecho de Archivos Digitales, adjuntas el derecho a un producto, y Dodo Payments entrega enlaces de descarga pre-firmados a cada cliente que paga a través del correo electrónico y el portal del cliente. El derecho admite:- Cargas de archivos alojados: almacena archivos en Dodo Payments y ofrécelos mediante URLs de corta duración pre-firmadas.
- Enlaces de descarga externos: enlaza a archivos alojados en Dropbox, Google Drive, S3 o cualquier URL.
- Instrucciones de descarga: texto libre mostrado al cliente en su página de pedido y en el correo electrónico de entrega.
Características Clave
File Upload
Sube archivos (PDF, ZIP, imágenes, videos, etc.) de hasta 100 MB. Los archivos se transmiten y almacenan eficientemente.
Multiple Files
Adjunta tantos archivos como necesites a un solo derecho.
External Links
Proporciona enlaces de descarga externos (Dropbox, Google Drive, URLs firmadas de S3) como alternativa o adición.
Presigned URLs
Los archivos alojados se sirven mediante URLs de corta duración pre-firmadas. Cada URL de descarga expira automáticamente después de aproximadamente 15 minutos.
Configurar Entrega de Productos Digitales
Open Entitlements
Ve a Derechos en tu panel de Dodo Payments y haz clic en + para crear un nuevo derecho.
Add files, links, and instructions
Configura cualquier combinación de:
- Archivos: carga uno o más archivos. Cada carga devuelve un
file_idque se agrega al derecho. - URL Externa: un enlace HTTPS públicamente accesible entregado junto a los archivos alojados.
- Instrucciones: texto libre mostrado al cliente (por ejemplo, “Descomprime y ejecuta setup.sh”).

Adjuntar a Productos
Abre un producto, expande Configuraciones Avanzadas → Derechos y Créditos, y selecciona tu derecho de Archivos Digitales. El derecho se entrega en cada compra exitosa o suscripción activa vinculada a ese producto.
Cómo Funciona la Entrega
La entrega de Archivos Digitales sigue el estándar ciclo de vida de la concesión:| Evento | Comportamiento |
|---|---|
payment.succeeded (una sola vez) | Emite una concesión. La concesión lleva URLs de descarga pre-firmadas válidas por ~15 minutos; los clientes pueden actualizarlas volviendo a abrir el enlace de correo electrónico o la página del portal del cliente. |
subscription.active | Emite una concesión. Los archivos permanecen accesibles mientras la suscripción esté activa. |
subscription.renewed | No-op. La misma concesión continúa; se generan nuevas URLs pre-firmadas en cada obtención. |
subscription.on_hold / cancelled / expired | Revoca la concesión. No se emiten nuevas URLs pre-firmadas. |
subscription.plan_changed | Revoca la concesión anterior; emite una nueva para el derecho del nuevo plan. |
refund.succeeded (una sola vez) | Revoca la concesión. |
| Revocación manual | Revoca con revocation_reason: manual. |
Experiencia del Cliente
Confirmación de Compra
Después de una transacción exitosa, el cliente recibe un correo electrónico con enlaces de descarga y cualquier instrucción que hayas configurado.
Acceso del Portal del Cliente
Los clientes pueden volver a obtener enlaces de descarga en cualquier momento desde el Portal del Cliente. La página del portal genera nuevas URLs pre-firmadas bajo demanda, por lo que la misma compra sigue funcionando incluso después de que los enlaces del correo hayan expirado.
Los clientes pueden descargar archivos directamente desde los correos de confirmación o acceder a ellos en cualquier momento a través de su portal.
Gestión de Archivos Programáticamente
Sube un archivo a un derecho
Lista concesiones y resuelve URLs de descarga
Elimina un archivo de un derecho
Consideraciones Importantes
- Las URLs pre-firmadas expiran rápidamente. Las URLs de descarga devueltas en los payloads de concesión o eventos de webhook son válidas por ~15 minutos. No las almacenes; vuelve a obtenerlas cuando el cliente necesite descargar nuevamente.
- Actualizar archivos solo afecta futuras compras. Reemplazar o eliminar un archivo no cambia retroactivamente las descargas ya emitidas. Los clientes anteriores aún pueden volver a obtener la versión que estaba vigente cuando se creó su concesión.
- Los reembolsos no invalidan las copias descargadas. Un cliente que ya descargó un archivo conserva esa copia. Para contenido revocable (media con restricción de licencia, acceso limitado en el tiempo), combina Archivos Digitales con Llaves de Licencia y valida en tiempo de ejecución.
- Para contenido sensible, prefiere URLs externas con su propia autenticación. Las URLs pre-firmadas de Dodo Payments son de corta duración pero no autenticadas dentro de su ventana; cualquiera con la URL puede descargar en esa ventana. El contenido alojado externamente y protegido por cuenta ofrece garantías más fuertes.
Gestión de API
Create Entitlement
Crea un derecho de Archivos Digitales con URL externa e instrucciones opcionales.
Upload File
Sube un archivo (hasta 100 MB) y agrégalo al derecho.
Delete File
Elimina un archivo del derecho.
List Grants
Lista concesiones y lee las URLs de descarga resueltas.
Update Entitlement
Actualiza instrucciones, URL externa o reemplaza archivos.
Revoke Grant
Revoca manualmente el acceso de un cliente.
Webhooks
La entrega y revocación de archivos digitales activan los cuatro eventos de webhookentitlement_grant.*. Para las concesiones de Archivos Digitales, el payload incluye un objeto digital_product_delivery con la lista de archivos resuelta (URLs pre-firmadas, nombres de archivos, tamaños), el opcional instructions, y el opcional external_url.
Entrega de Productos Digitales Legado
Los productos configurados con el bloque
digital_product_delivery en el producto mismo han sido migrados automáticamente a un derecho de Archivos Digitales. Los archivos existentes cargados bajo la API de archivo de producto legado se conservan; continúan siendo descargables y aparecen en los payloads de concesiones etiquetados con source: "legacy". Las futuras actualizaciones (agregar archivos, cambiar instrucciones, reemplazar la URL externa) deben hacerse editando el derecho de Archivos Digitales migrado bajo Derechos.Los campos de producto heredado (digital_product_delivery.external_url, digital_product_delivery.instructions) continúan siendo poblados en las respuestas de productos para compatibilidad hacia atrás, pero el derecho es la fuente de verdad de aquí en adelante.Mejores Prácticas
- Trata las descargas como de un solo uso. Los clientes compartirán o perderán enlaces, por lo que diseña tu producto asumiendo que todo lo que descarguen es suyo para guardar.
- Usa instrucciones para establecer expectativas. Para paquetes de múltiples archivos, agrega una línea
instructionsexplicando qué instalar primero o cómo combinar los archivos. - Presta atención al límite de 100 MB. Los artefactos más grandes (conjuntos de datos de varios GB, cursos en video) deben alojarse externamente y vincularse a través de
external_urlen lugar de cargarse. - Combina con Llaves de Licencia para acceso revocable. Si necesitas revocar el acceso a funciones dentro del producto después de un reembolso, combina el derecho de Archivos Digitales con un derecho de Llave de Licencia y valida la llave en tiempo de ejecución.
- Prueba el flujo de actualización del portal del cliente. Confirma que un cliente pueda regresar al portal una semana después y aún obtenga un enlace de descarga funcional. Este es el camino de recuperación principal cuando los enlaces de correo expiran.