¿Qué es la Sesión de Cliente?
La sesión de cliente permite que tus usuarios finales se autentiquen directamente desde tu aplicación usando su número de teléfono (OTP vía WhatsApp). Una vez autenticados, obtienen un token temporal con el que pueden:
- Consultar sus métodos de pago (tarjetas, billeteras, PSE)
- Registrar nuevas tarjetas (tokenización)
- Autorizar cargos con aprobación vía WhatsApp
Este flujo está diseñado para que el cliente final opere directamente. La autenticación es con OTP, no con las API keys de tu empresa.
Flujo de autenticación
Autenticación dual
Los endpoints de sesión requieren dos tokens en los headers:
| Header | Descripción |
|---|
Authorization | Bearer token de tu empresa (sk_test_xxx o sk_live_xxx) |
X-Customer-Token | Token del cliente obtenido en /customers/login/verify |
Modo test vs live
- Usa
sk_test_xxx para modo test. El OTP se retorna directamente en la respuesta.
- Usa
sk_live_xxx para modo live. El OTP se envía por WhatsApp al cliente.
- Los métodos de pago y cargos se filtran automáticamente según el modo.
Endpoints
| Método | Endpoint | Descripción |
|---|
POST | /customers/login/request | Solicitar OTP |
POST | /customers/login/verify | Verificar OTP y obtener token |
GET | /customers/session/payment-methods | Listar métodos de pago |
POST | /customers/session/payment-methods | Tokenizar tarjeta |
POST | /customers/session/charges | Crear cargo con aprobación |