Pular para o conteúdo principal
Nesta página

As credenciais da DEUNA respondem a duas perguntas diferentes: qual aplicação do comerciante está sendo utilizada., e, quando aplicável, Qual cliente autenticado está utilizando-o. Inicie identificando o ponto de execução da solicitação e a autoridade necessária, e, em seguida, confirme os requisitos exatos. catálogo de endpoints.

Decida qual credencial usar#

Faça as seguintes perguntas:

  1. A solicitação é executada em um navegador ou aplicativo móvel? Use a chave API pública ou o contexto da aplicação documentado para o SDK ou endpoint. Nunca coloque a chave privada nesse cliente.
  2. Seu backend executa uma operação de comerciante? Use a chave API privada em X-Api-Key para chamadas entre servidores, como criar, recuperar, capturar, reembolsar ou cancelar um pedido.
  3. É necessário que a DEUNA reconheça o cliente autenticado? Adicione o token de acesso de curta duração do cliente como Authorization: Bearer … apenas quando o endpoint suporta. Isso fornece ao pedido o contexto específico do cliente para recursos como dados de perfil, endereços, instrumentos de pagamento armazenados ou fluxos de carteira autorizados pelo cliente.
Cenário de solicitaçãoCredencialPor que
SDK ou widget da DEUNA em execução em um navegador ou aplicativo móvelChave de API públicaIdentifica a aplicação do comerciante e o ambiente, sem expor a autoridade do backend do comerciante.
Backend do comerciante chamando um endpoint do comercianteChave de API privadaAutoriza a operação segura do servidor para servidor do comerciante.
Cliente autenticado chamando um endpoint do clienteContexto público da aplicação, mais o token Bearer do cliente, conforme documentado no endpointIdentifica tanto a aplicação quanto o cliente, para quem a operação pode acessar os recursos.
Operação do backend do comerciante que também requer o contexto do clienteChave API privada, mais o token Bearer do cliente, apenas quando o endpoint suporta ambosMantém a autorização do comerciante e a identidade do cliente separadas.
Fluxo de cliente convidadoContexto público do cliente; nenhum token Bearer, a menos que o endpoint exijaNão há identidade do cliente da DEUNA autenticada para anexar.

Escolha a credencial correta#

CredencialOnde pertenceO que isso faz
Chave de API públicaNavegador, SDK móvel ou outra aplicação de cliente documentadaInicializa widgets, UI e fluxos de tokenização suportados, e identifica a aplicação do comerciante e o ambiente. Não autoriza operações privadas do comerciante.
Chave de API privadaApenas backend do comerciante confiávelAutoriza operações comerciantes de servidor para servidor por meio de X-Api-Key.
Token de acesso do clienteFluxo de cliente autenticadoAdiciona a identidade do cliente através Authorization: Bearer … em endpoints que suportam. Não substitui a chave API exigida pelo endpoint.
Sessão de administradorAdministrador DEUNAFornece acesso baseado em função a um operador autorizado; não é uma credencial de API de integração.

Chave API pública: integração no lado do cliente#

Utilize a chave pública quando o código da DEUNA for executado em um ambiente não confiável, como um navegador ou aplicativo móvel. Exemplos de uso incluem a inicialização de um widget ou SDK da DEUNA, bem como a identificação do comerciante e do ambiente para tokenização e experiências de pagamento suportadas no lado do cliente.

A chave pública é intencionalmente segura para ser incluída na configuração do cliente, mas não é uma chave secreta e não concede permissão para realizar capturas, reembolsos, cancelamentos ou outras operações no backend do comerciante. Mantenha a chave pública associada ao ambiente de sandbox ou produção correto.

Chave API privada: autorização entre servidores#

Utilize a chave API privada quando seu backend confiável fizer uma chamada para um endpoint do comerciante. As operações do comerciante que utilizam a autorização por chave API exigem a chave privada em X-Api-Key, nunca em Authorization: Bearer ….

curl --request GET \
  --url https://api.sandbox.deuna.io/merchants/orders/ORDER_TOKEN \
  --header "X-Api-Key: YOUR_PRIVATE_API_KEY"

Token de acesso do cliente: contexto de usuário autenticado#

Utilize um token de acesso do cliente quando a operação deve ser executada no contexto de um cliente da DEUNA autenticado e o endpoint suporta autenticação via Bearer. Envie-o no Authorization cabeçalho:

Contexto opcional do clienteHTTP
Authorization: Bearer USER_ACCESS_TOKEN

O token Bearer é a resposta. qual cliente Está em funcionamento. A chave da API fornece as respostas. qual aplicação ou sistema de backend do comerciante está a contactar. Dependendo do ponto de extremidade, uma solicitação do cliente pode, portanto, exigir tanto a chave da API do cliente como o token Bearer do cliente.

Não envie um token Bearer apenas porque o cabeçalho está disponível. Não utilize a chave privada do comerciante como um token Bearer, e não trate um token do cliente como autorização para operações exclusivas do comerciante. Se o seu backend encaminha o contexto do cliente, faça-o apenas para um endpoint que suporte explicitamente essa combinação.

Ambientes#

Sandbox e produção são isolados. Cada ambiente possui seu próprio URL base, chaves de API, configuração do comerciante, conexões, dados e estado de pagamento.

Sandbox
https://api.sandbox.deuna.io

Teste a integração completa com credenciais de sandbox e configuração de teste do provedor.

Production
https://api.deuna.io

Processe pagamentos em tempo real usando o comerciante de produção e as credenciais de produção.

Armazene e gire chaves#

  • Armazene chaves privadas em um gerenciador de segredos ou em uma configuração de tempo de execução protegida.
  • Defina o acesso ao serviço e ao ambiente que precisam da chave.
  • Edite credenciais de logs de solicitação e anexos de suporte.
  • Implante uma chave substituta antes de revogar a chave antiga para que o tráfego de produção continue com segurança.
  • Coordene a emissão e rotação de chaves com seu operador administrativo autorizado ou DEUNA TAM.

Falhas de autenticação#

Uma falha de autorização normalmente retorna 401 Unauthorized ou 403 Forbidden. Antes de tentar novamente, verifique:

  1. A credencial está presente no cabeçalho documentado.
  2. A chave pertence ao ambiente e ao comerciante solicitado.
  3. O endpoint oferece suporte ao método de autorização que você enviou.
  4. A chave ou token do cliente não expirou ou foi revogada.
  5. Qualquer contexto necessário de comerciante, loja ou cliente está presente.

Não tente novamente um erro de autorização indefinidamente. Preservar a resposta request_id quando disponível e inclua-o ao entrar em contato com o suporte.

Limites de taxa#

A DEUNA não aplica um limite de solicitações por segundo para todas as integrações. A API Gateway avalia os limites configurados como um número máximo de solicitações dentro de um período de tempo. O limite efetivo pode variar de acordo com o comerciante, o ambiente, o método HTTP e o endpoint.

Comportamento do GatewayO que isso significa para sua integração
EscopoUm limite pode se aplicar a um endpoint, ser compartilhado por endpoints que utilizam o mesmo serviço de backend ou se aplicar em todo o gateway.
Recipiente de tráfegoAs solicitações podem ser agrupadas por ID do comerciante, chave da API, token Bearer do cliente, endereço IP de origem ou outro cabeçalho de solicitação configurado. Se a identidade esperada estiver ausente, algumas regras recai para o endereço IP de origem.
JanelaCada regra define tanto o número máximo de solicitações permitidas quanto a duração da janela de contagem. Não assuma que todos os endpoints utilizam a mesma janela.
Cobertura de roteamentoO limite específico para uma rota é aplicado somente quando uma regra é configurada para esse método e endpoint. As proteções em nível de plataforma ainda podem rejeitar o tráfego durante o pico de uso.

Quando uma solicitação excede um limite aplicável, o gateway retorna 429 Too Many Requests com o Retry-After header. A resposta em nível de rota tem a seguinte estrutura:

Resposta de limite de taxaHTTP
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
Retry-After: 1

{
  "error": "rate_limit_exceeded",
  "message": "maximum requests",
  "code": 429,
  "endpoint": "/merchants/orders",
  "total_requests": 101,
  "retry_after": "1s"
}

Os campos da resposta podem variar quando uma proteção em nível de gateway rejeita a solicitação. Considere o código de status HTTP e o Retry-After header como autoritativos.

Alça 429 Trate as respostas com segurança

  1. Pare de enviar solicitações por pelo menos o número de segundos especificado em Retry-After.
  2. Tente novamente com retrocesso exponencial e jitter, em vez de liberar imediatamente o tráfego em espera como um novo pico.
  3. Para a mesma operação de pagamento, reutilize a chave de idempotência original e o corpo da solicitação exatamente igual.
  4. Coordene o controle de tráfego entre os workers e as instâncias da aplicação; loops de repetição por processo podem exceder um limite compartilhado para o comerciante ou endpoint.
  5. Se 429 As respostas são enviadas após a redução do tráfego, preservando o corpo da resposta e o ID da solicitação, e entre em contato com o suporte da DEUNA ou com seu Gerente de Contas Técnicas (TAM).

Solicite um aumento do limite

Peça ao suporte da DEUNA ou ao seu TAM para revisar o limite antes de um aumento planejado no tráfego. Inclua:

  • O ambiente e o ID do comerciante.
  • Os métodos HTTP e endpoints afetados.
  • As taxas de solicitação sustentadas e de pico esperadas, a duração do pico e a data de lançamento planejada.
  • Os endereços IP públicos ou CIDRs de saída utilizados pelos sistemas do comerciante que se comunicam com a DEUNA.

Não inclua chaves de API, tokens Bearer ou outros segredos em solicitações de suporte.

Continuar#