Saltar al contenido principal
En esta página

Las credenciales de DEUNA responden a dos preguntas diferentes: **¿qué aplicación del comercio está realizando la llamada?**y, cuando corresponda, **¿qué cliente registrado la está utilizando?**Comience por determinar dónde se ejecuta la solicitud y qué autoridad necesita, y luego confirme el requisito exacto en el catálogo de endpoints.

Decide qué credencial utilizar#

Responda a estas preguntas en orden:

  1. ¿La solicitud se ejecuta en un navegador o en una aplicación móvil? Utilice la clave API pública o el contexto de la aplicación documentado para el SDK o el punto final. Nunca coloque la clave privada en ese cliente.
  2. ¿Su backend realiza una operación de comercio? Utilice la clave API privada en X-Api-Key para llamadas entre servidores, como la creación, recuperación, captura, reembolso o anulación de un pedido.
  3. ¿Es necesario que DEUNA reconozca al cliente registrado? Añada el token de acceso del cliente de corta duración como Authorization: Bearer … solo cuando el punto final lo admita. Esto proporciona a la solicitud el contexto específico del cliente para recursos como datos de perfil, direcciones, instrumentos de pago almacenados o flujos de billetera autorizados por el cliente.
Escenario de solicitudCredencial¿Por qué?
SDK o widget de DEUNA en un navegador o aplicación móvilClave API públicaIdentifica la aplicación del comerciante y el entorno, sin exponer la autoridad del backend del comerciante.
Backend del comerciante llamando a un endpoint del comercianteClave API privadaAutoriza la operación segura entre servidor y servidor del comerciante.
Cliente registrado llamando a un endpoint del clienteContexto de aplicación público más el token Bearer del cliente, según lo documentado en el endpointIdentifica tanto la aplicación como el cliente para el que se puede acceder a los recursos.
Operación del backend del comerciante que también requiere el contexto del clienteClave API privada más el token Bearer del cliente, solo cuando el endpoint lo admite explícitamenteMantiene la autorización del comerciante y la identidad del cliente separadas.
Flujo de cliente invitadoContexto de cliente público; no se requiere token Bearer a menos que lo exija el endpointNo hay identidad de cliente de DEUNA registrada para adjuntar.

Elija la credencial correcta#

Credencialdonde pertenece¿Qué hace?
Clave API públicaNavegador, SDK móvil o cualquier otra aplicación de cliente documentadaInicializa widgets, UI y flujos de tokenización compatibles, y identifica la aplicación del comerciante y el entorno. No autoriza operaciones privadas del comerciante.
Clave API privadaSolo backend del comerciante de confianzaAutoriza las operaciones comerciales de servidor a servidor a través de X-Api-Key.
token de acceso del clienteFlujo de cliente registradoAñade la identidad del cliente a través de Authorization: Bearer … en los endpoints que lo admiten. No reemplaza la clave API requerida por el endpoint.
Sesión de administradorAdministrador DEUNAProporciona a un operador autorizado acceso basado en roles; no es una credencial de API de integración.

Clave API pública: integración del lado del cliente#

Utilice la clave API pública cuando el código de DEUNA se ejecuta en un cliente no de confianza, como un navegador o una aplicación móvil. Los usos típicos incluyen la inicialización de un widget o SDK de DEUNA, así como la identificación del comerciante y el entorno para la tokenización y las experiencias de pago compatibles con el cliente.

La clave pública está diseñada para ser incluida en la configuración del cliente, pero no es una clave secreta y no otorga permiso para realizar capturas, reembolsos, anulaciones u otras operaciones del lado del comerciante. Mantenga la clave pública asociada al entorno de sandbox o producción correcto.

Clave API privada: autorización entre servidores#

Utilice la clave API privada cuando su backend de confianza llama a un punto final del comerciante. Las operaciones del comerciante que utilizan la autorización mediante API requieren la clave privada en X-Api-Key, nunca en 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 usuario: contexto de usuario autenticado#

Utilice un token de acceso del cliente cuando la operación debe actuar en el contexto de un cliente de DEUNA autenticado y el punto final admite el soporte de "Bearer". Envíe este token en el Authorization encabezado:

Contexto de cliente opcionalHTTP
Authorization: Bearer USER_ACCESS_TOKEN

El token "Bearer" responde a la pregunta ¿qué cliente está actuando. La clave API responde a la pregunta ¿qué aplicación o backend del comerciante está llamando. Dependiendo del punto final, una solicitud del cliente puede requerir tanto una clave de API de la aplicación como el token "Bearer" del cliente.

No envíe un token "Bearer" para un flujo de invitado simplemente porque el encabezado está disponible. No utilice una clave privada del comerciante como token "Bearer" y no trate un token de cliente como autoridad para operaciones exclusivas del comerciante. Si su backend pasa el contexto del cliente, páselo solo a un punto final que lo admita explícitamente.

Ambientes#

Sandbox y producción están aislados. Cada entorno tiene su propia URL base, claves de API, configuración del comerciante, conexiones, datos y estado de pago.

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

Pruebe la integración completa con las credenciales de sandbox y la configuración de prueba del proveedor.

Production
https://api.deuna.io

Procese pagos en vivo utilizando el comerciante de producción y las credenciales de producción.

Almacenar y rotar claves#

  • Almacene las claves privadas en un administrador de secretos o en una configuración de tiempo de ejecución protegida.
  • Acceso de alcance al servicio y entorno que necesita la clave.
  • Redactar credenciales de registros de solicitudes y archivos adjuntos de soporte.
  • Implemente una clave de reemplazo antes de revocar la clave anterior para que el tráfico de producción continúe de manera segura.
  • Coordina la emisión y rotación de claves con tu operador Administrador autorizado o DEUNA TAM.

Fallos de autenticación#

Un error de autorización normalmente regresa 401 Unauthorized o 403 Forbidden. Antes de volver a intentarlo, verifique:

  1. La credencial está presente en el encabezado documentado.
  2. La clave pertenece al entorno y al comerciante solicitados.
  3. El punto final admite el método de autorización que envió.
  4. La clave o token de cliente no ha caducado ni ha sido revocado.
  5. Cualquier contexto de comerciante, tienda o cliente requerido está presente.

No vuelva a intentar un error de autorización indefinidamente. Preservar la respuesta request_id cuando esté disponible e inclúyalo cuando se comunique con el soporte.

Límites de velocidad#

DEUNA no aplica un valor de "request-per-second" público a todas las integraciones. El API Gateway evalúa los límites configurados como un número máximo de solicitudes dentro de un período de tiempo. El límite efectivo puede variar según el comerciante, el entorno, el método HTTP y el punto final.

Comportamiento del Gateway¿Qué significa para su integración?
AlcanceUn límite puede aplicarse a un punto final, compartirse entre puntos finales que utilizan el mismo servicio de backend, o aplicarse a todo el Gateway.
RecursoLas solicitudes se pueden agrupar por ID de comerciante, clave de API, token Bearer del cliente, dirección IP de origen, o cualquier encabezado de solicitud configurado. Si la identidad esperada no está presente, algunas reglas recurren a la dirección IP de origen.
VentanaCada regla define tanto el número de solicitudes permitidas como la duración del período de conteo. No asuma que todos los puntos finales utilizan la misma ventana.
Cobertura de rutaSe aplica un límite específico para cada ruta únicamente cuando se configura una regla para ese método y punto final. Las medidas de seguridad a nivel de plataforma aún pueden rechazar el tráfico durante los periodos de alta demanda.

Cuando una solicitud excede un límite aplicable, el gateway devuelve 429 Too Many Requests con Retry-After encabezado. La respuesta a nivel de ruta tiene esta forma:

Respuesta de límite de velocidadHTTP
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"
}

Los campos de respuesta pueden variar cuando una medida de seguridad a nivel de gateway rechaza la solicitud. Consulte el código de estado HTTP y Retry-After encabezado como la fuente de información.

Manejar 429 maneje las respuestas de forma segura

  1. Deje de enviar solicitudes durante al menos el número de segundos especificados en Retry-After.
  2. intente de nuevo con retroceso exponencial y jitter en lugar de liberar inmediatamente el tráfico en cola como una nueva oleada.
  3. Para la misma operación de pago, reutilice la clave de idempotencia original y el cuerpo de la solicitud exacto.
  4. Coordine el control de tráfico entre trabajadores e instancias de aplicación; los bucles de reintento por proceso pueden superar un límite compartido para un comerciante o punto final.
  5. si 429 Las respuestas se reciben después de reducir el tráfico, conserve el cuerpo de la respuesta y el ID de la solicitud, y luego póngase en contacto con el Soporte de DEUNA o con su Administrador Técnico (TAM).

Solicite un aumento de límite

Solicite a DEUNA Support o a su TAM que revise el límite antes de un aumento de tráfico planificado. Incluya:

  • El entorno y el ID del comerciante.
  • Los métodos HTTP y puntos finales afectados.
  • Las tasas de solicitud sostenidas y máximas esperadas, la duración de la oleada y la fecha de implementación planificada.
  • Las direcciones IP públicas o rangos CIDR de salida utilizados por los sistemas del comerciante que se comunican con DEUNA.

No incluya claves de API, tokens Bearer u otros secretos en una solicitud de soporte.

Continuar#