Visão geral
Digital Product Delivery é o tipo de entitlement Digital Files. Você faz upload dos arquivos uma vez para um entitlement Digital Files e o associa a um produto. O Dodo Payments então entrega links de download presigned a todos os clientes pagantes por email e no Customer Portal. Um entitlement Digital Files é compatível com:- Uploads de arquivos hospedados: o Dodo Payments armazena seus arquivos e os disponibiliza por meio de URLs presigned de curta duração.
- Link de download externo: uma URL por entitlement que aponta para arquivos hospedados em outro local, como Dropbox, Google Drive ou S3.
- Instruções de download: texto livre exibido ao cliente na página do pedido e no email de entrega.
Principais recursos
File Upload
Faça upload de arquivos como PDFs, arquivos ZIP, imagens e vídeos, com até 500 MiB cada. O Dodo Payments transmite cada upload para o armazenamento.
Multiple Files
Associe quantos arquivos forem necessários a um entitlement.
External Links
Adicione um link de download externo, como uma URL do Dropbox, Google Drive ou S3 assinada, em vez de ou além dos arquivos hospedados.
Presigned URLs
O Dodo Payments disponibiliza arquivos hospedados por meio de URLs presigned. Cada URL de download expira 15 minutos após ser gerada.
Configurar o Digital Product Delivery
1
Open Entitlements
Acesse Entitlements no dashboard e clique em + para criar um entitlement.
2
Choose Digital Files
Selecione Digital Files e insira um Name para o entitlement.
3
Add Files, Links, and Instructions
Configure qualquer combinação destes campos:
- Upload files: faça upload de um ou mais arquivos. Cada upload retorna um
file_ide adiciona o arquivo aodigital_file_idsdo entitlement. - External Download Link: uma URL, começando com
http://ouhttps://, que os clientes podem acessar. O Dodo Payments a entrega junto com os arquivos hospedados. - Instructions: texto livre exibido ao cliente, por exemplo, “Descompacte e execute setup.sh.”

4
Save the Entitlement
Clique em Create Entitlement. Agora você pode associar o entitlement a qualquer produto.
Associar a produtos
Abra um produto, acesse a seção Entitlements e selecione seu entitlement Digital Files. O Dodo Payments entrega o entitlement a cada compra bem-sucedida ou assinatura ativa desse produto.
Attaching the Digital Files entitlement to a product alongside other entitlements.
Como funciona a entrega
A entrega de Digital Files segue o ciclo de vida padrão de grant. Cada evento afeta um grant de Digital Files da seguinte forma:Experiência do cliente
Confirmação da compra
Após um pagamento bem-sucedido, o cliente recebe um email com links de download e todas as instruções configuradas por você.
Customer Portal acesso
Os clientes podem obter os links de download novamente no Customer Portal enquanto o grant estiver ativo. O portal gera novas URLs presigned sob demanda, portanto a compra continua funcionando depois que os links do email expirarem.
Os clientes podem baixar os arquivos pelo email de confirmação ou acessá-los a qualquer momento no Customer Portal.
Gerenciar arquivos programaticamente
Fazer upload de um arquivo para um entitlement
Para fazer upload de um arquivo, envie-o comomultipart/form-data em um campo file. O campo opcional filename deve vir antes da parte file, porque o Dodo Payments ignora os campos enviados depois dela. Sem filename, o Dodo Payments usa o nome do arquivo enviado. A resposta retorna o novo file_id.
Listar grants e resolver URLs de download
Cada grant de Digital Files tem um objetodigital_product_delivery com uma URL presigned nova para cada arquivo. Para ler as URLs, liste os grants do entitlement:
Remover um arquivo de um entitlement
Para desassociar um arquivo, informe seufile_id e o ID do entitlement:
Considerações importantes
- URLs presigned expiram rapidamente. As URLs de download nos payloads de grants e nos eventos de webhook são válidas por 15 minutos. Não as armazene. Busque URLs novas quando o cliente precisar fazer o download novamente.
- A atualização dos arquivos afeta apenas compras futuras. Substituir ou remover um arquivo não altera downloads já emitidos. Cada grant mantém a configuração do entitlement existente no momento em que foi criado, portanto clientes antigos ainda podem obter a versão que estava disponível naquele momento.
- Reembolsos não invalidam cópias baixadas. Um cliente que já baixou um arquivo mantém essa cópia. Para conteúdo revogável, como mídia com licença restrita ou acesso limitado por tempo, combine Digital Files com License Keys e valide a chave em runtime.
- Para conteúdo sensível, prefira URLs externas com autenticação própria. As URLs presigned do Dodo Payments têm curta duração, mas qualquer pessoa com a URL pode baixar o arquivo até que ela expire. Conteúdo hospedado externamente e protegido por login de conta oferece mais controle.
Gerenciamento da API
Create Entitlement
Crie um entitlement Digital Files com uma URL externa e instruções opcionais.
Upload File
Faça upload de um arquivo de até 500 MiB e associe-o ao entitlement.
Delete File
Desassocie um arquivo do entitlement.
List Grants
Liste os grants e leia as URLs de download resolvidas.
Update Entitlement
Atualize as instruções ou a URL externa, ou substitua os arquivos.
Revoke Grant
Revogue manualmente o acesso de um cliente.
Webhooks
A entrega e a revogação de arquivos digitais enviam os quatro eventos de webhookentitlement_grant.*. Para grants de Digital Files, o payload inclui um objeto digital_product_delivery com a lista de arquivos resolvida, o instructions opcional e o external_url opcional. Cada arquivo contém um download_url presigned, o filename, o content_type, o file_size em bytes e expires_in, o número de segundos até a expiração da URL:
Digital Product Delivery legado
Produtos configurados com o bloco
digital_product_delivery mais antigo diretamente no produto foram migrados automaticamente para um entitlement Digital Files. Os arquivos enviados pela API legada de arquivos de produto são preservados: continuam disponíveis para download e aparecem nos payloads de grants junto com os arquivos enviados recentemente. A configuração digital_files do entitlement os acompanha na lista legacy_file_ids. Para adicionar arquivos, alterar instruções ou substituir a URL externa, edite o entitlement Digital Files migrado em Entitlements.As respostas de produtos ainda incluem os campos legados no nível do produto (digital_product_delivery.external_url, digital_product_delivery.instructions) para manter a compatibilidade retroativa, mas o entitlement é a fonte de verdade.Práticas recomendadas
- Trate os downloads como entregas únicas. Os clientes podem compartilhar ou perder links, portanto projete seu produto partindo do princípio de que tudo o que eles baixarem será deles para manter.
- Use instruções para definir expectativas. Para pacotes com vários arquivos, adicione uma linha
instructionsque explique o que instalar primeiro ou como combinar os arquivos. - Fique atento ao limite de 500 MiB. Hospede artefatos maiores, como conjuntos de dados de vários GB ou cursos em vídeo, externamente e vincule-os usando
external_urlem vez de fazer upload deles. - Combine com License Keys para acesso revogável. Para revogar o acesso a recursos dentro do produto após um reembolso, combine o entitlement Digital Files com um entitlement License Key e valide a chave em runtime.
- Teste o fluxo de atualização do Customer Portal. Confirme que um cliente consegue retornar ao portal uma semana depois e ainda obter um link de download funcional. O portal é o principal caminho de recuperação quando os links de email expiram.