En esta página
AUTENTICACIÓN
Emitir un token de acceso OAuth2POSTRevocar un token OAuth2 emitidoPOST
COMERCIOS
Listar comercios de una organizaciónGETCrear un comercioPOSTObtener un comercio por su IDGETActualizar un comercioPUTEliminar un comercioDELETEListar subcomercios de un comercioGET
PUNTOS DE VENTA
Crear un punto de ventaPOSTObtener un punto de venta por IDGETActualizar un punto de ventaPUTEliminar un punto de ventaDELETEListar terminales de un punto de ventaGETActualizar asociación de una terminal a un punto de ventaPATCH
PAGOS
Buscar pagosGETObtener pago por IDGETObtener transacción por IDGET
CONTRACARGOS
Buscar ContracargosGETObtener un Contracargo por su IdGETAceptar un ContracargoPOSTMarcar un Contracargo como revisadoPOSTDisputar un ContracargoPOSTObtener análisis de un ContracargoGETAgregar comentario a un ContracargoPOSTSubir archivo adjunto a un ContracargoPOSTDescargar archivo adjunto de un ContracargoGETEliminar archivo adjunto de un ContracargoDELETE
WHITE LABEL
Checkout WhiteLabelLink de Pago
APMs (Alternative Payment Methods)
Crear intenciones de pago para APMsPOSTConfirmar OTP DaviplataPOSTObtener Lista de Bancos PSEGET
CONCEPTOS CLAVES
Clientes, Comercios & OrganizacionesVenta presente
CORE
Ajustar monto de pagoPOSTCancelar pago autorizadoPOSTReembolsar pago capturadoPOSTCapturar pago en modo manualPOSTAutorizar pagoPOSTReversar pagoPOSTAjustar transacción por IDPOSTCancelar transacción por IDPOSTReembolsar transacción por IDPOSTCapturar transacción por IDPOSTAutorizar transacción sin payment_idPOSTReversar transacción por IDPOSTCancelar o reembolsar según estadoPOSTCancelar o reembolsar transacciónPOSTListar instrucciones de pago (tarjeta presente)GETCrear una instrucción de pago (tarjeta presente)POSTObtener una instrucción por ID (tarjeta presente)GETAjustar pago con tarjeta presentePOSTCancelar pago con tarjeta presentePOSTReembolsar pago con tarjeta presentePOSTCapturar pago con tarjeta presentePOSTAutorizar con tarjeta presentePOSTReversar pago con tarjeta presentePOSTAjustar transacción con tarjeta presentePOSTCancelar transacción con tarjeta presentePOSTReembolsar transacción con tarjeta presentePOSTCapturar transacción con tarjeta presentePOSTAutorizar transacción con tarjeta presentePOSTReversar transacción con tarjeta presentePOSTCancelar o reembolsar con tarjeta presentePOSTCancelar o reembolsar transacción con tarjeta presentePOST
Encryption
Crear llave de encriptación para Dual EncryptionPOSTConsultar llave de encriptación actualGET
Evaluación de riesgo
Consultar una evaluación de fraude por IDGET
INSTRUMENTOS
TarjetasPrimeros Pasos con TarjetasConsultar BIN emisor de tarjetaGETListar instrumentos del clienteGETCrear instrumentoPOSTObtener instrumento por IDGETActualizar instrumentoPATCHEliminar instrumentoDELETE
INTEGRACIONES
¿Cómo es la integración?
Links
Crear linkPOSTObtener linkGET
ORGANIZACIONES
Listar organizaciones del clienteGETCrear organizaciónPOSTActualizar organizaciónPUT
PROCESADOR DE PAGOS
Estados de un PagoAutorizaciónPre AutorizaciónAutorización ParcialManejo de ErroresCompensaciónCaptura de un PagoModos de CapturaLiquidaciónCashoutsDevolucionesReembolsoCancelaciónContracargos
Reglas de tarifas
Listar reglas de intercambio (IFR)GETCrear regla de intercambio (IFR)POSTListar reglas MDRGETCrear regla MDRPOSTObtener regla IFR por IDGETActualizar regla IFRPUTEliminar regla IFRDELETEObtener regla MDR por IDGETActualizar regla MDRPUTEliminar regla MDRDELETE
SEGURIDAD
Seguridad y Cumplimiento¿Qué es PCI DSS?
TERMINALES
Listar terminalesGETCrear terminalPOSTObtener listado de usuariosGETCrear usuario de terminalPOSTObtener terminal por IDGETActualizar terminalPATCHEliminar terminalDELETEObtener un usuarioGETActualizar scopes de usuarioPATCH
USUARIOS
Crear un nuevo usuarioPOSTObtener usuario por IDGETListar instrumentos de pago del usuarioGETAgregar instrumento de pago al usuarioPOSTRemover instrumento de pago del usuarioDELETE
Webhooks
Listar webhooks configuradosGETCrear un webhookPOSTObtener el secreto de un webhookGET

Configure your experience

Enabled Features
Refunds
Tokenization
Recurring Payments
Country
Integration type

INTRODUCCIÓN

6

API Reference de Akua

Te damos la bienvenida a la referencia de las APIs de Akua, tu guía completa para integrarte con nuestra plataforma. Ya sea que estés desarrollando una integración personalizada o que formes parte de una empresa que busca aprovechar las capacidades de Akua, esta documentación proporciona toda la información necesaria para interactuar sin problemas con nuestras APIs.

Las APIs de Akua están diseñadas para:

  • Simplificar la integración: endpoints intuitivos y documentación completa para una configuración rápida.
  • Mejorar la flexibilidad: soporte para múltiples métodos de pago, incluyendo pagos con tarjeta, transferencias bancarias y reembolsos.
  • Garantizar la fiabilidad: manejo robusto de errores y herramientas de monitoreo para asegurar un funcionamiento fluido.
  • Habilitar la escalabilidad: diseño modular para adaptarse al crecimiento de tu negocio.

Servicios de Akua

Akua Services


Guía para comenzar a usar las APIs de Akua

  • Obtén las credenciales de la API: inicia sesión en el dashboard de Akua y genera tus claves de API.
  • Revisa la autenticación: Akua utiliza claves de API para una comunicación segura. Consulta la sección de Autenticación para más detalles.
  • Prueba en el entorno de pruebas (Sandbox): utiliza nuestro entorno Sandbox para validar tu integración antes de llevarla a producción.

Comienza a explorar las APIs de Akua y transforma tus flujos de trabajo de pagos. Si tienes alguna pregunta, nuestro equipo de soporte está aquí para ayudarte.

¿Te resultó útil?

Conectando con la API de Akua

La API de Akua es un servicio basado en principios REST sobre HTTP y está alojada en infraestructura en la nube. Para garantizar una integración estable y sin interrupciones, los clientes deben seguir ciertas recomendaciones de conectividad, seguridad y manejo de respuestas.


Conectividad

Optimización global con Cloudflare

Los endpoints públicos de la API de Akua están protegidos y optimizados a través de Cloudflare, lo que proporciona una red de distribución global con baja latencia y alta disponibilidad. Gracias a esto, los clientes pueden acceder a la API con tiempos de respuesta óptimos desde cualquier ubicación geográfica.

Sistema de Nombres de Dominio (DNS)

Dado que nuestros servidores están en la nube y pueden cambiar de dirección IP, Akua no garantiza direcciones IP estáticas. Para evitar problemas de conectividad, recomendamos:

Utilizar siempre el dominio DNS para resolver la dirección IP del servidor de la API.
No utilizar direcciones IP fijas en la configuración de la integración.
🔄 Respetar el tiempo de vida (TTL) de los registros DNS para evitar problemas de caché.


Seguridad y certificados

La API de Akua establece conexiones seguras mediante TLS (Transport Layer Security). Para garantizar la integridad y seguridad de la comunicación, los clientes deben:

  • Validar los certificados SSL asegurándose de que la cadena de certificación sea válida.
  • Verificar que el certificado sea emitido por una Autoridad Certificadora (CA) confiable.
  • Soportar los siguientes protocolos y cifrados recomendados:

TLS 1.3 (recomendado)

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256

TLS 1.2 (mínimo requerido)

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

🔹 No se admite el pinning de certificados, ya que estos pueden rotar en cualquier momento.

⚠️ Las versiones anteriores de TLS (1.0 y 1.1) no son soportadas por razones de seguridad.

⚠️ HTTP (sin cifrado) no es soportado; todas las conexiones deben realizarse mediante HTTPS.

Para más información sobre nuestras prácticas de seguridad y cumplimiento, visita: https://trust.akua.la/


Control de tasa (Rate Limiting)

Para garantizar la estabilidad y disponibilidad del servicio para todos los clientes, la API de Akua implementa límites de tasa:

  • Límite estándar: 1000 solicitudes cada 10 segundos por cliente.
  • En caso de exceder este límite, la API responderá con un código HTTP 429 (Too Many Requests).
  • El encabezado de respuesta Retry-After indicará el tiempo en segundos que se debe esperar antes de realizar nuevas solicitudes.

Recomendaciones para manejar el rate limiting:

  • Implementar lógica de reintentos con retroceso exponencial.
  • Distribuir las solicitudes a lo largo del tiempo cuando sea posible.
  • Monitorear el uso de la API para evitar alcanzar los límites.

Protocolo y estándares HTTP

Para garantizar la compatibilidad y estabilidad, la API de Akua sigue los estándares de HTTP. Los clientes deben asegurarse de:

Usar correctamente los métodos HTTP, como GET, POST, PUT, PATCH y DELETE.
Manejar adecuadamente los códigos de respuesta, como 200 OK, 201 Created, 400 Bad Request, 401 Unauthorized.
Formatear correctamente los encabezados en cada solicitud (Content-Type, Accept, Authorization).


Timeouts

Para evitar tiempos de espera indefinidos y mejorar la experiencia del usuario, recomendamos:

  • Establecer un timeout de conexión de 5 a 10 segundos para evitar bloqueos en caso de fallos de red.
  • Definir un timeout para la lectura de respuestas de hasta 20 segundos.
  • Implementar reintentos con backoff exponencial y jitter para prevenir la sobrecarga en la API.

Si una solicitud excede el tiempo máximo de espera, el servidor responderá con un HTTP 504 Gateway Timeout.


Manejo de JSON / Payloads

Para una integración robusta y segura, los clientes deben seguir las mejores prácticas en el manejo de respuestas JSON:

Utilizar un parser JSON estándar que cumpla con RFC 8259.
No asumir un orden específico en los campos JSON, ya que este puede cambiar sin previo aviso.
Ignorar los espacios en blanco insignificantes y manejar correctamente caracteres especiales como comillas y barras invertidas.
Utilizar UTF-8 para la codificación de datos.
Aceptar propiedades adicionales en los payloads JSON, ya que pueden agregarse nuevas propiedades en el futuro.

⚠️ Evita depender de propiedades marcadas como EXPERIMENTAL en la documentación, ya que estas pueden cambiar o eliminarse sin previo aviso.

¿Te resultó útil?

Ciclo de vida y versionado de la API de Akua

En Akua, nuestra API evoluciona de manera continua, incorporando nuevas funcionalidades y mejoras sin comprometer la estabilidad de las integraciones existentes. Utilizamos un sistema de versionado basado en versiones mayores (/v1, /v2, etc.), lo que significa que cualquier cambio disruptivo dará lugar a una nueva versión, mientras que las actualizaciones menores se implementarán dentro de la versión actual.

Este documento describe cómo gestionamos los cambios en la API, asegurando compatibilidad hacia atrás y proporcionando información clara sobre actualizaciones, deprecaciones y mejoras.


Principios de versionado

  • Evolución incremental: mejoramos la API dentro de la versión actual (/v1), agregando nuevas funciones sin afectar la compatibilidad con las integraciones existentes.
  • Transparencia: comunicamos los cambios con antelación a través de nuestro changelog y notificaciones dirigidas.

Cambios compatibles y no compatibles

Al actualizar la API es importante distinguir entre cambios no disruptivos (compatibles con versiones anteriores) y cambios disruptivos (que requieren una nueva versión de la API).

Cambios compatibles con versiones anteriores

Los siguientes cambios no afectan la funcionalidad de las integraciones actuales y no requieren migraciones:

  • Agregar nuevos endpoints sin modificar los existentes.
  • Añadir nuevos parámetros opcionales a las solicitudes.
  • Agregar nuevas propiedades en las respuestas sin afectar los valores existentes.
  • Cambiar el orden de los campos JSON en las respuestas.
  • Introducir nuevos códigos de error sin eliminar los actuales.
  • Optimizar la API para mejorar tiempos de respuesta y estabilidad sin modificar su comportamiento.

Cambios no compatibles con versiones anteriores (Breaking Changes)

Estos cambios pueden afectar las integraciones existentes y requieren una nueva versión (/v2, /v3, etc.):

  • Eliminar o renombrar endpoints existentes.
  • Modificar la estructura de las URLs (por ejemplo, cambiar /merchants/{id} a /accounts/{id}).
  • Modificar el formato de las solicitudes o respuestas, como eliminar campos requeridos o cambiar tipos de datos.
  • Cambiar los requisitos de autenticación o permisos de acceso.
  • Eliminar códigos de error utilizados en la gestión de respuestas de los clientes.

Si se introduce un cambio disruptivo, se creará una nueva versión mayor de la API y se notificará a los clientes con suficiente antelación.


Política de deprecación

Para garantizar una transición fluida, seguimos un proceso estructurado de deprecación cuando una funcionalidad o endpoint queda obsoleto:

  1. Anuncio: informamos sobre la deprecación a través de nuestro changelog y notificaciones por correo electrónico.
  2. Marcado de deprecación: los endpoints obsoletos reciben una etiqueta DEPRECATED, junto con la fecha prevista de eliminación.
  3. Período de transición: se otorga un tiempo de gracia (generalmente 6 meses) para permitir la migración a alternativas.
  4. Eliminación: finalizado el período de transición, los endpoints obsoletos se retiran de la API. Se proveerán guías de migración cuando sea necesario.

Entornos de prueba y feedback

Para minimizar el impacto en las integraciones y recibir retroalimentación anticipada, ofrecemos:

  • Entorno Sandbox: un entorno de prueba idéntico al de producción donde se pueden validar cambios antes de su implementación.
  • Canales de feedback: recolectamos opiniones sobre los cambios a través de nuestro equipo de soporte y documentación colaborativa.
  • Funciones experimentales (EXP): algunas funcionalidades pueden estar etiquetadas como EXPERIMENTAL, lo que indica que se encuentran en fase de validación y pueden sufrir cambios antes de su lanzamiento oficial.

⚠️ Nota: las funciones EXPERIMENTAL pueden modificarse sin seguir el proceso estándar de deprecación.


Compromiso con la estabilidad

En Akua, nuestro objetivo es mantener una API confiable y robusta que permita a nuestros clientes operar sin interrupciones. Al seguir esta política, aseguramos un equilibrio entre innovación y estabilidad, brindando la confianza necesaria para desarrollar integraciones escalables y seguras.

📩 Para cualquier consulta sobre nuestra política de versionado y la evolución de la API, contacta con nuestro equipo de soporte o visita nuestro portal de desarrolladores.


Ejemplo de solicitud con versión específica

Puedes especificar la versión de la API de Akua que deseas consumir indicándola en la URL de la solicitud:

curl 'https://api.akua.la/v1/payments' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer token-documentacion" \
    -X GET

¿Te resultó útil?

Introducción

Algunos de nuestros endpoints implementan un sistema de idempotencia que garantiza que las solicitudes con la misma clave produzcan resultados idénticos, incluso cuando se envían múltiples veces. Esto previene el procesamiento duplicado de operaciones críticas, como transacciones de pago o creación de recursos.

Requisitos

Para utilizar correctamente nuestra API con idempotencia, debes incluir los siguientes headers en tus solicitudes:

Idempotency-Key: identificador único para la operación específica.

Recomendamos utilizar UUIDs v4 u otro mecanismo que genere identificadores únicos. La longitud de la clave debe estar entre 8 y 64 caracteres.

Ejemplo: Idempotency-Key: ba7b2f7d-b24d-45b6-a4ae-d89b5f235088

En caso de que este header no se incluya, la solicitud se ejecutará normalmente sin utilizar el mecanismo de idempotencia.

Ejemplo de solicitud

POST /api/payments HTTP/1.1
Host: example.akua.la
Content-Type: application/json
Idempotency-Key: ba7b2f7d-b24d-45b6-a4ae-d89b5f235088
{
    "amount": 100.00,
    "currency": "USD",
    "description": "Idempotent request"
}

Manejo de errores

Error TypeCausaSolución
400 Bad Requestinvalid_idempotency_keyIdempotency-Key con formato incorrectoAsegúrate de que la clave tenga entre 8 y 64 caracteres
409 Conflictidempotency_key_mismatchBody diferente con la misma Idempotency-KeyUsa una clave nueva para operaciones diferentes
409 Conflictidempotency_conflictSolicitud concurrente con la misma claveReintenta después de un breve intervalo

Gestión de reintentos

Utiliza la misma clave de idempotencia al reintentar solicitudes fallidas.
Implementa un mecanismo de reintento con retroceso exponencial.

Organización de claves

Asocia las claves con operaciones específicas y no con sesiones de usuario.
Mantén un registro de las claves utilizadas para facilitar la depuración.

Consistencia

Nunca reutilices la misma clave para operaciones diferentes.
Asegúrate de que el body de la solicitud sea idéntico en los reintentos.

Tiempo de vida

Las claves de idempotencia se almacenan durante 24 horas. Después de este período, las solicitudes con la misma clave se tratarán como nuevas.

¿Te resultó útil?

Entornos

Para interactuar con la API de Akua puedes utilizar dos entornos:

  • Sandbox
  • Producción

Ambos entornos también están disponibles en el Panel, lo que permite conectarse y probar distintas configuraciones sin necesidad de ingresar datos reales de la cuenta.

Sandbox

Es un entorno pre-productivo controlado donde puedes realizar pruebas durante la implementación.

Las pruebas realizadas en Sandbox no afectan los datos reales ni la contabilidad, ya que la información utilizada durante el modo de prueba es ficticia.

La URL base utilizada para la API de Akua en el entorno Sandbox tiene el siguiente formato:

https://sandbox.akua.la

⚠️ Importante:

El ambiente de sandbox está diseñado exclusivamente para pruebas de integración. Las autorizaciones son procesadas por un simulador de Mastercard y Visa — en ningún momento se realizan cobros reales al usuario final. Las transacciones procesadas en sandbox no pasan por el flujo de clearing ni liquidación, por lo que no generan cobros ni pagos a comercios. Para que una transacción sea efectiva y liquidada, debe procesarse en el ambiente de producción.


Producción

Es el entorno donde ocurren las operaciones reales que afectan la contabilidad y las métricas. Este entorno se utiliza una vez finalizadas las pruebas de integración y llegado el momento de abrir el servicio al público.

La URL base utilizada para la API de Akua en el entorno de Producción tiene el siguiente formato:

💻 Credenciales

Las credenciales para usar la API de Akua en Sandbox son diferentes de las de producción. Según el entorno que selecciones al acceder al Panel, encontrarás distintas claves de API e información de la cuenta.

https://api.akua.la

Tenants (Multi y Single)

En Akua soportamos ambos modelos de implementación para adaptarnos a las necesidades específicas de cada cliente.

Multi-tenant

  • Múltiples clientes comparten la misma infraestructura de Akua.
  • Se mantiene un aislamiento lógico entre los datos de cada cliente.

Single-tenant

  • Cada cliente cuenta con su propia instancia dedicada y aislada de Akua.
  • La infraestructura es exclusiva para ese cliente.
  • Se mantiene un aislamiento físico de los datos.
  • Ideal para clientes con requerimientos especiales de seguridad o cumplimiento normativo.

Comparación de modelos: Multi-Tenant y Single-Tenant

Comparación Multi-Tenant y Single-Tenant

Beneficios

La flexibilidad de ofrecer ambos modelos nos permite adaptarnos a diferentes necesidades y presupuestos, cumplir con diversos requisitos de seguridad y cumplimiento, y brindar la mejor solución según cada caso de uso específico.

¿Te resultó útil?

Esta sección proporciona números de tarjeta de prueba para simular distintos escenarios de autorización, aprobación y rechazo dentro del sistema de procesamiento de pagos de Akua.

Tarjetas para pagos aprobados

Los siguientes números de tarjeta de prueba simulan transacciones exitosas.

Tipo de tarjetaNúmero de tarjetaMotivo de aprobación
Mastercard (Crédito)5330 0105 0000 0004Transacción aprobada
Visa (Crédito)4258 1800 0000 0001Transacción aprobada

Tarjetas para pagos rechazados

Los siguientes números de tarjeta de prueba simulan distintos escenarios de rechazo.

Tipo de tarjetaNúmero de tarjetaMotivo de rechazo
Mastercard (Crédito)5555 4444 3333 1111Fondos insuficientes
Mastercard (Crédito)5404 0000 0000 0001Prevención de fraude
Mastercard (Crédito)5100 0000 0000 0008Tarjeta expirada
Mastercard (Crédito)5555 5555 5555 4444Error de procesamiento
Mastercard (Crédito)5200 8282 8282 8210Rechazo genérico

Tarjetas para reembolsos

Los siguientes números de tarjeta de prueba simulan el comportamiento de reembolsos.

Tipo de tarjetaNúmero de tarjetaComportamiento
Mastercard (Débito)5031 7557 3453 0604La autorización se procesa correctamente. Los reembolsos sobre el pago son rechazados por error.

¿Te resultó útil?

AUTENTICACIÓN

4

Pasos para obtener credenciales

Sigue estos pasos para obtener tus credenciales de API e integrarte con nuestra plataforma. Este artículo te guiará a través de las acciones clave para generar claves de API y comenzar a operar con Akua.

Paso 1

  • Inicia sesión en el dashboard con el usuario y la contraseña creados.
  • En el menú lateral, ubica y haz clic en Developers > API Keys.

Screenshot 2026-03-20 at 17.37.42@2x.png

Paso 2: Ver claves API existentes (Opcional)

En la sección de claves API existentes, puedes ver detalles sobre las claves ya generadas, tales como:

  • Nombre: Identificador de la clave (ej. "Clave de Pagos").
  • Client ID: Identificador público único de tu API.
  • Permisos: Operaciones que esta clave puede realizar (ej. PAYMENTS:READ, CARDS:READ).
  • Usar la acción Eliminar para remover claves existentes.

Screenshot 2026-03-20 at 17.42.16@2x.png

Paso 3: Crear un nuevo par de credenciales

  1. Desplázate hasta la sección Generate New API Key.
  2. Completa los siguientes campos:
    • Nombre de la credencial: Ingresa un nombre descriptivo para tu clave API (ej. "Clave de Integración").
  3. Selecciona los permisos para esta clave API:
    • Ejemplos: PAYMENTS:READ o PAYMENTS:WRITE, CARDS:READ o CARDS:WRITE, CUSTOMERS:READ o CUSTOMERS:WRITE.
  4. Haz clic en el botón Generate New API Key.

Paso 4: Guarda tus credenciales

Después de generar el nuevo par de claves, recibirás:

  • Client ID: Identificador de tu aplicación.
  • Client Secret: Valor sensible requerido para generar JWTs.

⚠️ Importante: El Client Secret solo se muestra una única vez, en el momento de su creación. No podrás consultarlo nuevamente. Asegúrate de copiarlo y almacenarlo de inmediato en un lugar seguro.

¿Te resultó útil?

¿Para qué sirven los permisos?

Los permisos en Akua permiten definir el nivel de acceso que cada cliente tiene a los distintos recursos de la plataforma. Se categorizan según el tipo de recurso (ej. pagos, tarjetas, clientes) y la acción permitida (ej. lectura, escritura). Cada permiso se etiqueta con el formato RECURSO:ACCIÓN.

Permisos

PermisoMétodos habilitados
readGET
writePOST, PUT, PATCH

Listado de permisos

PermisoDescripciónEndpoint
payments:readPermite consultar información sobre pagos, incluyendo detalles de transacciones, estados y movimientos asociados./payments
payments:writePermite crear, actualizar y procesar pagos. Incluye la autorización de pagos, así como la gestión de cancelaciones, capturas y ajustes./payments
payments:refundPermite procesar reembolsos sobre pagos existentes./payments
organizations:readPermite consultar la información de las organizaciones vinculadas a un cliente./clients/{id}/organizations
organizations:writePermite actualizar datos de organizaciones existentes dentro de un cliente./clients/{id}/organizations
organizations:createPermite registrar nuevas organizaciones dentro de un cliente./clients/{id}/organizations
merchants:readPermite acceder a la información de los comercios registrados en la plataforma./merchants
merchants:writePermite registrar nuevos comercios o actualizar la información de los comercios existentes./merchants
instruments:readPermite obtener información sobre instrumentos de pago, como tarjetas, cuentas bancarias u otros métodos registrados./instruments
instruments:writePermite registrar nuevos instrumentos de pago o actualizar los existentes./instruments
instruments:read-sensitive-dataPermite acceder a datos sensibles de instrumentos de pago, como números de tarjeta completos o tokens sin enmascarar./instruments
card-present:readPermite consultar información sobre transacciones realizadas con tarjeta presente (punto de venta físico)./card-present
card-present:writePermite procesar transacciones con tarjeta presente en puntos de venta físicos./card-present
chargebacks:readPermite ver la información de contracargos, incluyendo sus adjuntos y comentarios./chargebacks
chargebacks:writePermite gestionar contracargos, incluyendo agregar adjuntos y responder disputas./chargebacks
cashouts:readPermite consultar detalles sobre solicitudes de retiro de fondos, incluyendo estado y monto./cashouts
cashouts:writePermite registrar nuevas solicitudes de retiro o actualizar las existentes./cashouts
fraud:readPermite consultar información sobre actividades fraudulentas detectadas y reportes de fraude en el sistema./fraud
fraud:writePermite registrar nuevos reportes de fraude o actualizar reglas de prevención./fraud
clients:readPermite acceder a la información detallada de un cliente específico, incluyendo datos de identificación y configuración./clients
terminals:readPermite consultar información sobre terminales de pago registradas, incluyendo estado y configuración./terminals
terminals:writePermite registrar nuevas terminales de pago o actualizar las existentes./terminals
points:readPermite consultar información sobre puntos de venta registrados en la plataforma./points
points:writePermite registrar nuevos puntos de venta o actualizar los existentes./points
webhooks:readPermite consultar configuraciones de webhooks registrados en la plataforma./webhooks
webhooks:writePermite registrar nuevos webhooks o actualizar configuraciones de webhooks existentes./webhooks
users:readPermite consultar información de usuarios registrados en la plataforma./users
users:writePermite registrar nuevos usuarios o actualizar los existentes./users
secrets:readPermite consultar los secretos configurados en la plataforma, como claves de cifrado para webhooks./secrets
links-api:readPermite consultar links de pago creados a través de la API./links
links:writePermite crear o actualizar links de pago./links
3ds:writePermite gestionar flujos de autenticación 3D Secure./3ds
compliance:writePermite gestionar configuraciones y reglas de cumplimiento regulatorio./compliance
payment-instructions:wsPermite la conexión WebSocket para recibir instrucciones de pago en tiempo real.WebSocket

¿Te resultó útil?

Emitir un token de acceso OAuth2

Emite un token OAuth2 bajo el flujo client_credentials que permite autenticar todas las llamadas posteriores a la API de la plataforma. El valor de access_token debe enviarse en el encabezado Authorization como Bearer <token>. El servicio aplica una caché multinivel (L1 en memoria y L2 en Redis), por lo que el mismo token puede reutilizarse hasta su expiración. Requiere credenciales válidas emitidas desde el Dashboard de la plataforma para el ambiente correspondiente.

POST/oauth/token

Request Body

4 parameters

audience

string enumrequired

URL de la audiencia (aud) para la que se emite el token. Define el entorno destino.

Allowed:

client_id

stringrequired

Identificador público de la aplicación cliente, provisto por el Dashboard de la plataforma o por el equipo de soporte.

client_secret

stringrequired

Secreto asociado al client_id. Debe tratarse como dato sensible y no exponerse en el frontend.

grant_type

string enumrequired

Tipo de flujo OAuth2 utilizado. la plataforma solo admite client_credentials.

Allowed:

Responses

200

Token emitido correctamente o recuperado de la caché. Los encabezados de observabilidad indican qué capa resolvió la solicitud y los TTL remanentes.

scopestring
Permisos concedidos al token, separados por espacios (formato OAuth2 scopes).
expires_instring
Tiempo de vida del token, expresado en segundos desde su emisión.
token_typestring
Tipo de token emitido. Siempre es Bearer para el flujo client_credentials.
access_tokenstring
JWT firmado que se envía en el encabezado Authorization de cada llamada a la API de la plataforma.

¿Te resultó útil?

Language
CREDENTIALSOAUTH2
Log in to use your API keys
cURL Request
1curl -X POST https://sandbox.akua.la/oauth/token \
2 -H "Content-Type: application/json" \
3 -d '{
4 "grant_type": "client_credentials",
5 "client_id": "a1b2c3d4e5f6g7h8i9j0",
6 "client_secret": "s3cr3t_k3y_v4lu3_f0r_cl13nt",
7 "audience": "https://api.sandbox.example.com"
8 }'
9
1{
2  "scope": "organizations:write payments:read",
3  "expires_in": 86400,
4  "token_type": "Bearer",
5  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkxjYzFUZHBMOXNiQ1JvWjFObkRNTCJ9.eyJpc3MiOiJodHRwczovL2F1dGguYWt1YS5sYS8iLCJzdWIiOiJwcm9kLWFwcC1jbGllbnQtaWRAY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vcGF5bWVudHMuZXhhbXBsZS5jb20iLCJpYXQiOjE3MTk0MjA4MDAsImV4cCI6MTcxOTUwNzIwMCwiZ3R5IjoiY2xpZW50LWNyZWRlbnRpYWxzIiwiYXpwIjoicHJvZC1hcHAtY2xpZW50LWlkIiwic2NvcGUiOiJyZWFkOndyaXRlIn0.Zy8MvNpRqXs5TfKjW2QmLx0eCdVnBgH1Yr4pA7kJu9w"
6}

Revocar un token OAuth2 emitido

Invalida un token OAuth2 emitido previamente y elimina su entrada de las capas de caché L1 y L2. Se utiliza cuando el comercio necesita forzar la rotación de credenciales o terminar la sesión de un cliente. Tras la revocación, la próxima solicitud con las mismas credenciales obtendrá un token nuevo desde el proveedor de identidad. Requiere enviar los mismos cuatro campos usados para emitir el token.

POST/oauth/revoke

Request Body

4 parameters

audience

string enumrequired

URL de la audiencia asociada al token que se desea revocar. Debe coincidir con la usada al emitirlo.

Allowed:

client_id

stringrequired

Identificador público de la aplicación cliente, generado previamente desde el Dashboard de la plataforma.

client_secret

stringrequired

Secreto asociado al client_id, generado desde el Dashboard para el ambiente correspondiente.

grant_type

string enumrequired

Tipo de flujo OAuth2 utilizado al emitir el token. la plataforma solo admite client_credentials.

Allowed:

Responses

200

Token invalidado correctamente. La siguiente llamada con las mismas credenciales obtendrá un token nuevo desde el servidor de origen.

messagestring
Texto de confirmación indicando que el token fue invalidado correctamente.

¿Te resultó útil?

Language
CREDENTIALSOAUTH2
Log in to use your API keys
cURL Request
1curl -X POST https://auth.la plataforma.la/oauth/revoke \
2 -H "Content-Type: application/json" \
3 -d '{
4 "grant_type": "client_credentials",
5 "client_id": "a1b2c3d4e5f6g7h8i9j0",
6 "client_secret": "s3cr3t_k3y_v4lu3_f0r_cl13nt",
7 "audience": "https://api.sandbox.example.com"
8 }'
9
1{
2  "message": "Token invalidated successfully"
3}

ERRORES

1

ORGANIZACIONES

3

Crear organización

Crea una nueva organización bajo el cliente (tenant) autenticado. Las organizaciones representan agrupaciones lógicas de comercios o unidades de negocio dentro de un mismo cliente. Durante el aprovisionamiento inicial del cliente se crea de forma automática una organización predeterminada (Default Organization); utiliza este endpoint para crear organizaciones adicionales. El campo name es obligatorio. La respuesta incluye la organización recién creada con su id generado automáticamente y las marcas de tiempo created_at y updated_at. Requiere el ámbito organizations:write.

POST/v1/organizations

Authorization

string
required

Bearer token obtenido del endpoint /oauth/token

example

Bearer {access_token}

Request Body

1 parameter

name

stringrequired

Nombre legible que identificará a la organización dentro del cliente. No puede estar vacío.

Responses

201

La organización se creó correctamente.

idstring
Identificador único de la organización generado automáticamente
namestring
Nombre de la organización
created_atstring
Fecha y hora en que se creó la organización (formato ISO 8601)
updated_atstring
Fecha y hora de la última actualización de la organización (formato ISO 8601)

¿Te resultó útil?

Language
CREDENTIALSOAUTH2
Log in to use your API keys
cURL Request
1curl -X POST "https://sandbox.akua.la/v1/organizations" \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "name": "Supermarkets"
6}'
1{
2  "id": "org-d098721nvtf2l4m5qlb0",
3  "name": "Organization Example",
4  "created_at": "2025-04-30T20:09:44.047Z",
5  "updated_at": "2025-04-30T20:09:44.047Z"
6}

COMERCIOS

12

Reglas de tarifas

10

PUNTOS DE VENTA

6

TERMINALES

10

USUARIOS

5

INSTRUMENTOS

6

CORE

31

PAGOS

3

Evaluación de riesgo

1

Webhooks

4

Encryption

2

CONTRACARGOS

10

APMs (Alternative Payment Methods)

3

branding

1