Skip to main content

Flujo de autenticación

VenePagos usa Bearer tokens (JWT) para autenticar las peticiones a la API. El flujo es:
  1. Haces login con email y password
  2. Recibes un accessToken (válido 24 horas) y un refreshToken (válido 7 días)
  3. Envías el accessToken en el header Authorization de cada petición
  4. Cuando el token expira, usas el refreshToken para obtener uno nuevo

Obtener tokens

curl -X POST https://api.venepagos.com.ve/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "tu@email.com",
    "password": "tuPassword"
  }'

Respuesta

{
  "accessToken": "eyJhbGciOiJIUzI1NiIs...",
  "refreshToken": "eyJhbGciOiJIUzI1NiIs...",
  "user": {
    "id": "usr_abc123",
    "email": "tu@email.com",
    "name": "Tu Nombre",
    "role": "USER",
    "status": "ACTIVE",
    "kycStatus": "VERIFIED"
  }
}

Usar el token

Incluye el token en el header Authorization con el prefijo Bearer:
curl https://api.venepagos.com.ve/api/v1/merchants \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

Renovar el token

Cuando tu accessToken expire (después de 24 horas), usa el refreshToken:
curl -X POST https://api.venepagos.com.ve/api/v1/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{
    "refreshToken": "eyJhbGciOiJIUzI1NiIs..."
  }'
Si el refreshToken también expira (7 días), el usuario debe hacer login de nuevo.

API Keys

Para integraciones server-to-server, puedes crear API keys que no expiran:
curl -X POST https://api.venepagos.com.ve/api/v1/api-keys \
  -H "Authorization: Bearer TU_ACCESS_TOKEN"
Las API keys se envían en el mismo header Authorization:
curl https://api.venepagos.com.ve/api/v1/bank/rates \
  -H "Authorization: Bearer vp_live_abc123..."
Las API keys con prefijo vp_test_ solo funcionan en el entorno sandbox. Las de prefijo vp_live_ operan en producción.