Skip to main content

Descripción General

Digital Product Delivery es el tipo de entitlement Digital Files. Subes tus archivos una vez a un entitlement Digital Files y vinculas el entitlement a un producto. Dodo Payments entrega por correo electrónico enlaces de descarga presigned a cada cliente que paga y en el Customer Portal. Un entitlement Digital Files admite:
  • Hosted file uploads: Dodo Payments almacena tus archivos y los sirve mediante URLs presigned de corta duración.
  • External download link: una URL por entitlement que apunta a archivos alojados en otro lugar, como Dropbox, Google Drive o S3.
  • Download instructions: texto libre que se muestra al cliente en la página de su pedido y en el correo electrónico de entrega.
Puedes combinar los tres en un solo entitlement. En el dashboard, añade al menos un archivo o un enlace de descarga externo.

Características Clave

File Upload

Sube archivos como PDF, archivos ZIP, imágenes y vídeos, de hasta 500 MiB cada uno. Dodo Payments transmite cada carga al almacenamiento.

Multiple Files

Vincula tantos archivos como necesites a un entitlement.

External Links

Añade un enlace de descarga externo, como una URL de Dropbox, Google Drive o S3 firmada, en lugar de archivos alojados o además de ellos.

Presigned URLs

Dodo Payments sirve los archivos alojados mediante URLs presigned. Cada URL de descarga caduca 15 minutos después de generarse.

Configurar Digital Product Delivery

1

Open Entitlements

Ve a Entitlements en el dashboard y haz clic en + para crear un entitlement.
2

Choose Digital Files

Selecciona Digital Files e introduce un Name para el entitlement.
3

Add Files, Links, and Instructions

Configura cualquier combinación de estos campos:
  • Upload files: sube uno o más archivos. Cada carga devuelve un file_id y añade el archivo al digital_file_ids del entitlement.
  • External Download Link: una URL que comienza con http:// o https:// y a la que los clientes pueden acceder. Dodo Payments la entrega junto con los archivos alojados.
  • Instructions: texto libre que se muestra al cliente, por ejemplo, “Descomprime y ejecuta setup.sh.”
Derecho de Archivos Digitales con campo de carga de archivos, URL externa y campo de instrucciones
4

Save the Entitlement

Haz clic en Create Entitlement. Ahora puedes vincular el entitlement a cualquier producto.

Adjuntar a Productos

Abre un producto, ve a su sección Entitlements y selecciona tu entitlement Digital Files. Dodo Payments entrega el entitlement en cada compra completada correctamente o suscripción activa de ese producto.
Panel de derechos de producto mostrando la Entrega de Productos Digitales seleccionada

Attaching the Digital Files entitlement to a product alongside other entitlements.


Cómo Funciona la Entrega

La entrega de Digital Files sigue el ciclo de vida de grant estándar. Cada evento afecta a un grant de Digital Files de la siguiente manera:
La revocación impide que Dodo Payments emita nuevas URLs de descarga, pero no invalida las copias que un cliente ya haya descargado. Considera que un archivo alojado se ha entregado una vez que el cliente lo descarga.

Experiencia del Cliente

Confirmación de Compra

Después de un pago completado correctamente, el cliente recibe un correo electrónico con enlaces de descarga y las instrucciones que hayas configurado.
Correo de confirmación de compra mostrando enlaces de descarga para productos digitales

Acceso del Portal del Cliente

Los clientes pueden volver a obtener los enlaces de descarga desde el Customer Portal mientras su grant esté activo. El portal genera URLs presigned nuevas bajo demanda, por lo que la compra sigue funcionando después de que caduquen los enlaces del correo electrónico.
Interfaz del portal del cliente mostrando productos digitales disponibles para descargar
Los clientes pueden descargar archivos desde el correo electrónico de confirmación o abrirlos en cualquier momento desde el Customer Portal.

Gestión de Archivos Programáticamente

Subir un archivo a un entitlement

Para subir un archivo, envíalo como multipart/form-data en un campo file. El campo opcional filename debe aparecer antes de la parte file, porque Dodo Payments ignora los campos enviados después de ella. Sin filename, Dodo Payments utiliza el nombre del archivo subido. La respuesta devuelve el nuevo file_id.

Enumerar grants y resolver URLs de descarga

Cada grant de Digital Files tiene un objeto digital_product_delivery con una URL presigned nueva para cada archivo. Para leer las URLs, enumera los grants del entitlement:

Eliminar un archivo de un entitlement

Para desvincular un archivo, proporciona su file_id y el ID del entitlement:

Consideraciones importantes

  • Las URLs presigned caducan rápidamente. Las URLs de descarga en los payloads de grant y los eventos de webhook son válidas durante 15 minutos. No las almacenes. Obtén URLs nuevas cuando el cliente necesite descargar el archivo de nuevo.
  • La actualización de archivos solo afecta a compras futuras. Sustituir o eliminar un archivo no cambia las descargas ya emitidas. Cada grant conserva la configuración del entitlement que existía cuando se creó, por lo que los clientes anteriores aún pueden obtener la versión que estaba vigente en ese momento.
  • Los reembolsos no invalidan las copias descargadas. Un cliente que ya haya descargado un archivo conserva esa copia. Para contenido revocable, como medios con restricciones de licencia o acceso limitado en el tiempo, combina Digital Files con License Keys y valida la clave en runtime.
  • Para contenido sensible, es preferible usar URLs externas con su propia autenticación. Las URLs presigned de Dodo Payments tienen una duración corta, pero cualquiera que tenga la URL puede descargar el archivo hasta que caduque. El contenido alojado externamente y protegido mediante inicio de sesión en una cuenta te proporciona más control.

Gestión de API

Create Entitlement

Crea un entitlement Digital Files con una URL externa e instrucciones opcionales.

Upload File

Sube un archivo de hasta 500 MiB y vincúlalo al entitlement.

Delete File

Desvincula un archivo del entitlement.

List Grants

Enumera los grants y lee las URLs de descarga resueltas.

Update Entitlement

Actualiza las instrucciones o la URL externa, o sustituye los archivos.

Revoke Grant

Revoca manualmente el acceso de un cliente.

Webhooks

La entrega y revocación de archivos digitales envía los cuatro eventos de webhook entitlement_grant.*. En los grants de Digital Files, el payload incluye un objeto digital_product_delivery con la lista de archivos resuelta, el instructions opcional y el external_url opcional. Cada archivo contiene un download_url presigned, el filename, el content_type, el file_size en bytes y expires_in, el número de segundos hasta que caduca la URL:

Digital Product Delivery heredado

Los productos configurados con el bloque digital_product_delivery antiguo en el propio producto se han migrado automáticamente a un entitlement Digital Files. Los archivos subidos mediante la API de archivos de producto heredada se conservan: siguen siendo descargables y aparecen en los payloads de grant junto con los archivos subidos recientemente. La configuración digital_files del entitlement los registra en la lista legacy_file_ids. Para añadir archivos, cambiar las instrucciones o sustituir la URL externa, edita el entitlement Digital Files migrado en Entitlements.Las respuestas de producto siguen incluyendo los campos heredados a nivel de producto (digital_product_delivery.external_url, digital_product_delivery.instructions) por compatibilidad con versiones anteriores, pero el entitlement es la fuente de verdad.

Prácticas recomendadas

  • Trata las descargas como entregas únicas. Los clientes pueden compartir o perder los enlaces, así que diseña tu producto suponiendo que todo lo que descarguen será suyo para conservarlo.
  • Usa las instrucciones para establecer expectativas. Para paquetes con varios archivos, añade una línea instructions que explique qué instalar primero o cómo combinar los archivos.
  • Ten en cuenta el límite de 500 MiB. Aloja externamente los artefactos más grandes, como conjuntos de datos de varios GB o cursos de vídeo, y enlázalos con external_url en lugar de subirlos.
  • Combínalo con License Keys para obtener acceso revocable. Para revocar el acceso a funciones dentro del producto después de un reembolso, combina el entitlement Digital Files con un entitlement License Key y valida la clave en runtime.
  • Prueba el flujo de actualización del Customer Portal. Confirma que un cliente pueda volver al portal una semana después y seguir obteniendo un enlace de descarga funcional. El portal es la principal vía de recuperación cuando caducan los enlaces del correo electrónico.
Última modificación el 26 de septiembre de 2026