
Especificación Técnica
Confidencial - Para Desarrolladores
Guía de Integración API
Integra el poder de Bircat en tu sistema de manera segura. Realiza solicitudes de compra de servicios o tiempo aire y dales seguimiento en tiempo real.
Dos Formas de Integrar
Hemos diseñado nuestra API para ser flexible según las capacidades de tu arquitectura. Tienes dos flujos principales disponibles:
- Flujo 1: Con Inicio de Sesión (JWT)Ideal si tu app puede guardar el token y usarlo en múltiples peticiones.
- Flujo 2: Credenciales en cada PeticiónPerfecto para microservicios y sistemas servidor a servidor que no desean persistir sesiones.
Flujo 1: Integración con Token JWT
POST /auth/loginEnvía tus credenciales para recibir un Token JWT válido temporalmente.
{
"idCedis": 10,
"username": "su_usuario",
"password": "su_contraseña"
}POST /transactions/purchaseNo olvides enviar el Bearer <token> en los headers.
{
"reference": "5551234567",
"sku": "TA-TELCEL-100",
"externalId": "req-987654",
"externalDate": "20260413150000"
}Reglas de Seguimiento (Polling)
Es vital que consultes el estado hasta saber el estatus final de la compra para evitar transacciones duplicadas.
Máximo 60 Segundos
El reloj cuenta desde el instante en que enviaste la primera solicitud. Después de 60s, considera timeout.
Espera 5 Segundos
Entre cada consulta de estado `GET ...?externalId` haz pausas de 5s para no saturar al proveedor.
No Duplicar Compra
Nunca repetir la petición de POST de compra en este bucle. Consulta siempre con el mismo `externalId`.
Checklist Operativo de Polling
- 1
Iniciar cronómetro al enviar la solicitud de compra.
- 2
Esperar 5s entre consultas de estado.
- 3
Repetir solo consulta (nunca recompra en el bucle).
- 4
Cortar a los 60s asumiendo tiempo agotado.
- 5
Si 404 en consulta, detener y evaluar nueva compra.
Flujo 2: Credenciales en cada Petición
POST /transactions/purchase/byCredentialsEnvías simultáneamente los datos de autenticación y los campos propios de la compra.
{
"idCedis": 10,
"username": "su_usuario",
"password": "su_contraseña",
"reference": "5551234567",
"sku": "TA-TELCEL-100",
"externalId": "req-987654",
"externalDate": "20260413150000"
}Consultas (POST .../query)
Para este endpoint, envía solo tus credenciales y el externalId:
{
"idCedis": 10,
"username": "su_usuario",
"password": "su_contraseña",
"externalId": "req-987654"
}* Las reglas de tiempo y ruteo aplican igual que en el Flujo 1 (60 seg. máx).
Ejemplos de Respuesta
{
"header": {
"code": 200,
"message": "OK"
},
"data": {
"idTransaction": "txn-12345",
"externalId": "req-987654",
"message": "En proceso...",
"isCompleted": false
}
}{
"header": {
"code": 200,
"message": "OK"
},
"data": {
"idTransaction": "txn-12345",
"externalId": "req-987654",
"response": "00",
"message": "Transacción exitosa",
"authNumber": "98765",
"isCompleted": true,
"isSuccess": true
}
}