Credenciais (API externa)
Visão Geral da Funcionalidade
Para realizar as chamadas à API, você deve utilizar a sua URL base do seu painel ADM. Exemplo:
A URL para utilizar a API nesse caso acima será: https://api-sandbox.entregadigital.app.br/
A API da Entrega Digital permite integração externa com a plataforma, possibilitando que clientes criem automações e ferramentas personalizadas. Abaixo estão as principais funcionalidades e como utilizá-las, com os respectivos endpoints destacados.
Usuários
[GET] /api/v1/external/appusers/all → Utilize este método para listar todos os usuários (Atenção: permissão de acesso total requerido).
🔹 Retorna uma listagem completa de todos os usuários cadastrados na plataforma, independente da associação com a chave de acesso utilizada. Ideal para integrações administrativas com permissão total, como sincronização de dados, análises ou exportações completas.[GET] /api/v1/external/appusers → Utilize este método para listar os usuários associados à sua credencial de acesso (chave/token).
🔹 Retorna apenas os usuários que pertencem ao escopo da chave/token usada na requisição, garantindo segurança e segregação de dados entre diferentes ambientes ou clientes.[POST] /api/v1/external/appusers → Utilize esta função para criar novos usuários na plataforma, que serão associados à credencial de acesso (chave/token).
🔹 Permite registrar novos usuários automaticamente via integração. Todos os usuários criados estarão vinculados à chave da requisição, podendo ser posteriormente autenticados, assinados ou atribuídos a compras.[GET] /api/v1/external/appusers/{id} → Utilize este método para obter um usuário específico pelo ID, caso a credencial de acesso (chave/token) possua essa permissão.
🔹 Retorna os dados detalhados de um usuário único, identificado pelo seu ID. Pode ser utilizado para montar interfaces administrativas, validar status ou sincronizar dados específicos.[PUT] /api/v1/external/appusers/{id} → Utilize este método para alterar informações do usuário, caso a sua credencial de acesso (chave/token) possua essa permissão.
🔹 Permite atualizar informações como nome, email, dados adicionais, entre outros. Ideal para integrações onde o perfil do usuário pode ser editado por sistemas externos.[DELETE] /api/v1/external/appusers/{id} → Utilize este método para desassociar um usuário (especificado pelo ID) da credencial de acesso (chave/token).
🔹 Essa ação remove a associação entre o usuário e a chave de acesso utilizada, mas não necessariamente exclui o usuário da plataforma. Use em casos de encerramento de vínculo ou controle de acesso.[POST] /api/v1/external/appusers/login → Este endpoint autentica um usuário com base em seu e-mail e senha. Ele retorna um token de acesso que deve ser utilizado nas requisições subsequentes.
🔹 Serve para realizar o login do usuário via API e retornar um token JWT, que será usado nas requisições futuras para autenticação e autorização de ações.[POST] /api/v1/external/decode-user-token → Permite decodificar o token
edm_tokenrecebido em URLs externas para obter oappuser_idreal do usuário logado.
Esse token é assinado e possui expiração de 6 horas.
Produtos Favoritos
[POST] /api/v1/external/products/favorite → Favorita um ou mais produtos com o ID ou email do usuário.
🔹 Permite registrar produtos como "favoritos" para um usuário específico. Pode ser usado para personalização de experiências, recomendações, ou facilitar o acesso a conteúdos preferidos.
Planos
[GET] /api/v1/external/plans → Utilize este método para listar os planos disponíveis.
🔹 Retorna a lista de planos de assinatura ativos na plataforma, com informações como nome, preço, duração, e recursos incluídos. Útil para exibir opções no front-end ou montar fluxos de contratação.
Assinaturas
[POST] /api/v1/external/appusers/subscribe → Utilize esta função para criar novas assinaturas.
🔹 Associa um plano a um usuário, iniciando uma assinatura com base nas regras do plano selecionado. Pode ser usado para automação de cadastros pagos ou campanhas promocionais.[PUT] /api/v1/external/subscriptions/{id} → Utilize esta função para mudar a data vencimento da assinatura.
🔹 Atualiza a data de validade de uma assinatura existente. Permite ajustes manuais ou automatizados para prorrogação, renovação, bônus de tempo, entre outros.[DELETE] /api/v1/external/subscriptions/{id} → Utilize esta função para cancelar uma assinatura.
🔹 Cancela imediatamente uma assinatura ativa. Deve ser usado com cuidado, pois impacta diretamente o acesso do usuário aos conteúdos pagos ou restritos.
Compras de Produtos ou Pacotes
[POST] /api/v1/external/appusers/purchase → Utilize esse endpoint para criar novas vendas de produtos ou pacotes de produtos. Um dos campos
product_idoubundle_iddeve estar presente. Sebuy_atnão for informado, será assumido como a data/hora atual. O campoends_até sempre obrigatório e deve ser uma data futura.
🔹 Permite registrar compras individuais (produtos) ou pacotes (bundles). Define o período de acesso com base em regras dinâmicas, podendo ajustar prazos com o campodays_added. Ótimo para vender cursos, conteúdos premium, eventos ou combos.[DELETE] /api/v1/external/purchases/{purchase} → Utilize esse endpoint para cancelar uma compra realizada por um usuário. A compra será invalidada e removida da base de vendas. Atenção: essa ação não poderá ser desfeita. O uso é recomendado para casos de chargeback ou reembolsos manuais.
🔹 Revoga permanentemente o acesso adquirido com a compra. Ideal para lidar com problemas financeiros, fraude ou cancelamentos solicitados.[POST] /api/v1/external/purchases/{purchase}/block → Utilize este endpoint para bloquear temporariamente uma compra. O campo
blocked_atserá preenchido com a data/hora atual e a validade (ends_at) será encerrada imediatamente.
🔹 Suspende o acesso a um produto ou pacote sem apagá-lo da base. Muito útil em situações de pagamento pendente, comportamento irregular ou bloqueios administrativos.[POST] /api/v1/external/purchases/{purchase}/unblock → Utilize este endpoint para desbloquear uma compra previamente bloqueada. A nova data de término (
ends_at) deve ser informada.
🔹 Restaura o acesso à compra, podendo definir uma nova validade. A lógica de prazo segue os mesmos critérios da criação original, inclusive comdays_added(positivo ou negativo).
Vouchers
[POST] /api/v1/external/generatevouchers → Utilize esta função para criar novos vouchers.
🔹 Gera códigos promocionais que podem ser usados para liberar acesso a conteúdos, descontos ou planos. Ótimo para ações de marketing, parcerias e distribuição gratuita ou com cupom.
🔗 Headers Obrigatórios
Para garantir o correto funcionamento da API e receber as respostas (inclusive de erro) no formato JSON, é obrigatório utilizar o seguinte header em todas as requisições:
Accept: application/jsonImportante: O não envio desse header pode fazer com que as respostas de erro venham em outro formato (ex.: HTML), dificultando o tratamento programático dos retornos.
🚫 Códigos de Erro e Tratamento de Respostas
Além dos fluxos principais, é fundamental que as aplicações que consomem a API estejam preparadas para tratar os diferentes tipos de erros que podem ser retornados.
🔄 Códigos HTTP Comuns
Código | Descrição | Quando ocorre |
|---|---|---|
400 | Bad Request | Erro de validação de parâmetros ou corpo da requisição. |
401 | Unauthorized | Credenciais inválidas ou token ausente/expirado. |
404 | Not Found | Registro ou recurso solicitado não encontrado. |
429 | Too Many Requests | Limite de requisições excedido (rate limit). |
500 | Internal Server Error | Erro interno inesperado no servidor. |
Gerencie suas chaves de API
No menu lateral do painel ADM, acesse a aba Ferramentas > Credenciais. Nesta tela é possível acessar a Documentação da API, realizar a criação de novas Credenciais e o gerenciamento das já existentes.
Ao criar uma credencial, você recebe uma chave para usar a API da Entrega Digital.
Nova Credencial:
Para adicionarmos uma Credencial, é preciso inserir o Nome da Integração e definir qual o nível do acesso, que é dividido em dois:
Após ter finalizado a criação da Credencial, você poderá visualizar a mesma, com a opção de Editar e Inativar/Ativar.
Atenção: Existe um limite de 120 chamadas à API Externa por minuto
As chamadas devem ser controladas para não ultrapassar esse limite. Caso ultrapasse, será retornado erro 429.