A DLPay aceita duas formas de autenticação. Ambos os mecanismos usam o mesmo cabeçalho Authorization e seguem o padrão Bearer (RFC 6750). A API decide internamente qual caminho aplicar de acordo com o token recebido. Endpoints que aceitam ambos escolhem o que casar com o token apresentado.

Tokens JWT

Os tokens são emitidos por Autenticar usuário. A resposta contém:
  • access — token Bearer de curta duração (padrão de 1 dia). Use-o no cabeçalho Authorization.
  • refresh — token de longa duração (padrão de 4 dias). Use-o apenas contra o endpoint Renovar sessão para obter um novo access.
  • access_token_renew_interval — quantidade de segundos pela qual o access é válido. Renove antes desse prazo.
A rotação de refresh está habilitada — cada renovação retorna um novo token refresh e o anterior é invalidado após uma curta janela de carência. Sempre guarde o token mais recente retornado pelo endpoint de renovação.

Estratégia de renovação

Recuperação de senha

É um fluxo em duas etapas:
  1. Solicitar recuperação de senha — recebe um e-mail e envia um token de 6 dígitos para o endereço informado.
  2. Definir nova senha — recebe o token mais a nova senha.
Os tokens expiram em 24 horas e são invalidados assim que um deles é resgatado com sucesso.

Chaves de API do vendedor

Para vendedores que integram a partir do próprio backend, a plataforma emite chaves de API por vendedor. Crie e gerencie em Chaves de API. A chave carrega a identidade do vendedor e as permissões concedidas. Use-a quando o chamador atua em nome de um único vendedor específico — por exemplo, o site do vendedor criando links de checkout ou assinaturas para seus próprios clientes.

Permissões e acessos

O acesso de um usuário é controlado por uma tabela de acessos que liga o usuário à conta do vendedor e a um conjunto de permissões. As classes de permissão verificam essa tabela a cada requisição. Superusuários ignoram essa checagem. Veja Autenticação e acessos para a lista completa de códigos de permissão, escopos e como atribuí-los.

Endpoints públicos (sem autenticação)

Alguns endpoints são deliberadamente públicos:
  • GET /event/event/{event_id}/ — carrega o contexto público de um evento para a página de checkout.
  • POST /event/event/{event_id}/checkout/ — cria um checkout de evento a partir de uma página pública.
  • GET /subscriptions/plan/{plan_id}/ — carrega o contexto público de um plano de assinatura.
  • POST /subscriptions/plan/{plan_id}/subscribe/ — porta de entrada pública para assinar.
  • GET /subscriptions/subscriber/{subscriber_id}/ — carrega o contexto público de um assinante.
  • POST /user/login/, POST /user/register/, POST /user/passwordrecovery/... — fluxos de credenciais.
Todos os demais endpoints exigem autenticação.