API Reference
La API de Autodeb permite integrar el procesamiento de débitos automáticos en tu plataforma. Todos los endpoints requieren autenticación Bearer Token.
Principios de diseño
Autenticación
Todos los endpoints requieren autenticación via Bearer Token en el header Authorization.
curl --request GET \
--url https://api.autodeb.com/v1/charges \
--header 'Authorization: Bearer adb_sk_live_xxxx' \
--header 'Content-Type: application/json'
Códigos de estado
Autodeb usa códigos de estado HTTP estándar para indicar éxito o fallo en las solicitudes.
Crear cobro
Crea un nuevo cobro automático sobre el número de celular y rail especificado.
Headers requeridos
Bearer adb_sk_live_xxxapplication/jsonCampos del request
3015678901180000 = $180,000 COPCOPnequi | daviplata | breb2025-08-15. Si no se envía, se procesa inmediatamente.false{
"phone": "3015678901",
"amount": 180000,
"currency": "COP",
"rail": "nequi",
"description": "Cuota mensual servicio premium",
"reference": "INV-2025-001",
"notify_sms": true,
"notify_email": "usuario@ejemplo.com"
}
{
"id": "chg_9k3xmr7fbp",
"object": "charge",
"status": "processing",
"phone": "3015678901",
"amount": 180000,
"currency": "COP",
"rail": "nequi",
"description": "Cuota mensual servicio premium",
"reference": "INV-2025-001",
"created_at": "2025-07-15T10:23:45Z",
"processed_at": null,
"error_code": null,
"error_message": null
}
curl --request POST \
--url https://api.autodeb.com/v1/charges \
--header 'Authorization: Bearer adb_sk_live_xxxx' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000' \
--data '{
"phone": "3015678901",
"amount": 180000,
"currency": "COP",
"rail": "nequi",
"description": "Cuota mensual servicio premium"
}'
const response = await fetch('https://api.autodeb.com/v1/charges', {
method: 'POST',
headers: {
'Authorization': 'Bearer adb_sk_live_xxxx',
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID()
},
body: JSON.stringify({
phone: '3015678901',
amount: 180000,
currency: 'COP',
rail: 'nequi',
description: 'Cuota mensual servicio premium'
})
});
const charge = await response.json();
console.log(charge.id); // "chg_9k3xmr7fbp"
Consultar cobro
Recupera el estado actual y detalles de un cobro específico por su ID.
Path parameters
chg_xxxxxxxxxx{
"id": "chg_9k3xmr7fbp",
"object": "charge",
"status": "succeeded",
"phone": "3015678901",
"amount": 180000,
"currency": "COP",
"rail": "nequi",
"reference": "INV-2025-001",
"created_at": "2025-07-15T10:23:45Z",
"processed_at": "2025-07-15T10:23:46Z",
"rail_transaction_id": "NEQ-TXN-789456123",
"error_code": null,
"error_message": null,
"retries": 0
}
curl --request GET \
--url https://api.autodeb.com/v1/charges/chg_9k3xmr7fbp \
--header 'Authorization: Bearer adb_sk_live_xxxx'
const res = await fetch(
`https://api.autodeb.com/v1/charges/${chargeId}`,
{ headers: { 'Authorization': 'Bearer adb_sk_live_xxxx' } }
);
const charge = await res.json();
// charge.status === 'succeeded' | 'processing' | 'failed'
Crear suscripción recurrente
Crea una suscripción automática que ejecutará cobros recurrentes según el ciclo configurado.
Campos del request
COPnequi | daviplata | brebdaily | weekly | monthly | custominterval=custom. Días entre cobros.2025-08-01{
"phone": "3015678901",
"amount": 50000,
"currency": "COP",
"rail": "nequi",
"interval": "monthly",
"start_date": "2025-08-01",
"end_date": "2026-08-01",
"max_charges": 12,
"description": "Plan Premium mensual"
}
{
"id": "sub_9k2mxa4ry1",
"object": "subscription",
"status": "active",
"phone": "3015678901",
"amount": 50000,
"currency": "COP",
"rail": "nequi",
"interval": "monthly",
"start_date": "2025-08-01",
"end_date": "2026-08-01",
"next_charge_date": "2025-08-01",
"charges_count": 0,
"max_charges": 12,
"created_at": "2025-07-15T10:30:00Z"
}
curl --request POST \
--url https://api.autodeb.com/v1/subscriptions \
--header 'Authorization: Bearer adb_sk_live_xxxx' \
--header 'Content-Type: application/json' \
--data '{"phone":"3015678901","amount":50000,"currency":"COP","rail":"nequi","interval":"monthly","start_date":"2025-08-01"}'
const sub = await fetch('https://api.autodeb.com/v1/subscriptions', {
method: 'POST',
headers: {
'Authorization': 'Bearer adb_sk_live_xxxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
phone: '3015678901',
amount: 50000,
currency: 'COP',
rail: 'nequi',
interval: 'monthly',
start_date: '2025-08-01'
})
}).then(r => r.json());
// sub.id === "sub_9k2mxa4ry1"
Estado de procesamiento
Consulta el estado de procesamiento de un lote de cobros (batch).
{
"id": "batch_a7f2k9m3",
"object": "batch",
"status": "completed",
"total": 100,
"succeeded": 94,
"failed": 5,
"processing": 1,
"success_rate": 94.0,
"created_at": "2025-07-15T09:00:00Z",
"completed_at": "2025-07-15T09:02:15Z",
"charges": [
{
"id": "chg_9k3xmr7fbp",
"phone": "3015678901",
"status": "succeeded",
"amount": 180000
}
]
}
curl --request GET \
--url https://api.autodeb.com/v1/batches/batch_a7f2k9m3 \
--header 'Authorization: Bearer adb_sk_live_xxxx'
Cancelar suscripción
Cancela una suscripción activa. No se procesarán más cobros a partir de este momento.
Campos del request (body opcional)
user_requesttrue, cancela al fin del ciclo actual. Default: false (inmediato).{
"id": "sub_9k2mxa4ry1",
"object": "subscription",
"status": "cancelled",
"cancelled_at": "2025-07-15T14:22:00Z",
"reason": "user_request",
"charges_count": 3,
"last_charge_date": "2025-07-01"
}
curl --request DELETE \
--url https://api.autodeb.com/v1/subscriptions/sub_9k2mxa4ry1 \
--header 'Authorization: Bearer adb_sk_live_xxxx' \
--header 'Content-Type: application/json' \
--data '{"reason": "user_request"}'
const result = await fetch(
`https://api.autodeb.com/v1/subscriptions/${subscriptionId}`,
{
method: 'DELETE',
headers: {
'Authorization': 'Bearer adb_sk_live_xxxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({ reason: 'user_request' })
}
).then(r => r.json());
// result.status === 'cancelled'
Webhooks
Configura un endpoint en tu servidor para recibir eventos en tiempo real cuando el estado de un cobro o suscripción cambia.
{
"event_id": "evt_m3k9xr2p",
"event_type": "charge.succeeded",
"created_at": "2025-07-15T10:23:46Z",
"data": {
"id": "chg_9k3xmr7fbp",
"object": "charge",
"status": "succeeded",
"amount": 180000,
"currency": "COP"
}
}
Tipos de eventos
error_code.