Saltar al contenido principal

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.
Puedes combinar los tres en un solo derecho.

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

1

Open Entitlements

Ve a Derechos en tu panel de Dodo Payments y haz clic en + para crear un nuevo derecho.
2

Choose Digital Files

Selecciona Entrega de Productos Digitales como la integración.
3

Add files, links, and instructions

Configura cualquier combinación de:
  • Archivos: carga uno o más archivos. Cada carga devuelve un file_id que 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”).
Derecho de Archivos Digitales con campo de carga de archivos, URL externa y campo de instrucciones
4

Save the entitlement

Guarda. El derecho está ahora disponible para adjuntar a cualquier producto.

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.
Panel de derechos de producto mostrando la Entrega de Productos Digitales seleccionada

Cómo Funciona la Entrega

La entrega de Archivos Digitales sigue el estándar ciclo de vida de la concesión:
EventoComportamiento
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.activeEmite una concesión. Los archivos permanecen accesibles mientras la suscripción esté activa.
subscription.renewedNo-op. La misma concesión continúa; se generan nuevas URLs pre-firmadas en cada obtención.
subscription.on_hold / cancelled / expiredRevoca la concesión. No se emiten nuevas URLs pre-firmadas.
subscription.plan_changedRevoca la concesión anterior; emite una nueva para el derecho del nuevo plan.
refund.succeeded (una sola vez)Revoca la concesión.
Revocación manualRevoca con revocation_reason: manual.
La revocación impide que Dodo Payments emita nuevas URLs de descarga, pero no invalida las copias que un cliente ya ha descargado. Trata las descargas de archivos alojados como “entregadas una vez leídas.”

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.
Correo de confirmación de compra mostrando enlaces de descarga para productos digitales

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.
Interfaz del portal del cliente mostrando productos digitales disponibles para descargar
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

import DodoPayments from 'dodopayments';
import fs from 'node:fs';

const client = new DodoPayments({
  bearerToken: process.env['DODO_PAYMENTS_API_KEY'],
  environment: 'test_mode',
});

await client.entitlements.files.upload('ent_files_abc', {
  file: fs.createReadStream('./pro-bundle.zip'),
  filename: 'pro-bundle.zip',
});

Lista concesiones y resuelve URLs de descarga

const grants = await client.entitlements.grants.list('ent_files_abc', {
  customer_id: 'cus_abc123',
});

for (const grant of grants.items) {
  for (const file of grant.digital_product_delivery.files) {
    console.log(file.filename, file.download_url, `expires in ${file.expires_in}s`);
  }
}

Elimina un archivo de un derecho

await client.entitlements.files.delete('ent_files_abc', 'df_a4f6c1de');

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 webhook entitlement_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.
"digital_product_delivery": {
  "files": [
    {
      "file_id": "df_a4f6c1de",
      "download_url": "https://files.dodopayments.com/.../pro-bundle.zip?Signature=...",
      "filename": "pro-bundle.zip",
      "content_type": "application/zip",
      "file_size": 18742390,
      "expires_in": 900
    }
  ],
  "instructions": "Unzip and run setup.sh from the project root.",
  "external_url": null
}

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 instructions explicando 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_url en 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.
Last modified on May 14, 2026