Saltar al contenido principal

Consultar los movimientos de monedas de un conductor

[ GET ]

Consulta los movimientos (abonos y cargos) de monedas registrados para un conductor específico dentro de un rango de fechas.

https://sync.airbagtech.io/coins/driver

Campos​

Se envían como parámetros de la URL (query string).

NombreTipoRequeridoDescripción
driverIdStringSíID del conductor a consultar. Acepta el ID que tu empresa usó al crearlo o el airbagId.
startDateStringSíInicio del rango, exclusivo: se devuelven movimientos posteriores a este instante.
Formato ISO 8601.
endDateStringSíFin del rango, inclusivo: se devuelven movimientos hasta este instante. Debe ser posterior a startDate.
Formato ISO 8601.
tip

Las fechas se comparan como instantes. Una fecha sin hora (2025-02-28) equivale a las 00:00 de ese día, así que no incluye los movimientos del propio día 28. Para cubrir el día completo envía la hora de forma explícita, por ejemplo endDate=2025-02-28T23:59:59.999Z.

Headers​

Authorization
apikey {{API_KEY}}

Ejemplo​

curl --location 'https://sync.airbagtech.io/coins/driver?driverId=EMP-1042&startDate=2025-02-01T00:00:00.000Z&endDate=2025-02-28T23:59:59.999Z' \
--header 'Authorization: apikey {{API_KEY}}'

Respuestas​

✅ Respuesta exitosa (200 OK)​

Devuelve el número de movimientos devueltos (count) y un arreglo data con los movimientos del conductor, ordenados del más antiguo al más reciente. Cada movimiento incluye el saldo antes (oldCoins) y después (newCoins) del ajuste, lo que permite reconstruir el histórico de balance.

{
"status": true,
"count": 4,
"data": [
{
"created": "2025-02-08T14:22:11.042Z",
"oldCoins": 250,
"newCoins": 200,
"reason": "company-movement",
"value": -50
},
{
"created": "2025-02-09T19:05:22.981Z",
"oldCoins": 200,
"newCoins": 700,
"reason": "referral",
"value": 500
},
{
"created": "2025-02-10T13:16:14.252Z",
"oldCoins": 700,
"newCoins": 702,
"reason": "daily-bonus",
"value": 2
},
{
"created": "2025-02-12T17:37:31.906Z",
"oldCoins": 702,
"newCoins": 703,
"reason": "trip",
"value": 1
}
]
}
nota
  • data contiene como máximo 30 movimientos: si el rango tiene más, se devuelven los 30 más antiguos. Para obtener los más recientes, acota el rango de fechas.
  • Si no hay movimientos en el rango, la respuesta es 200 con count: 0 y data: [].

Descripción de campos de respuesta​

CampoTipoDescripción
statusBooleanIndica si la operación fue exitosa.
countNumberNúmero de movimientos devueltos en data.
dataArray<Object>Movimientos de monedas del conductor, del más antiguo al más reciente. Ver tabla abajo.

Campos dentro de cada elemento de data​

CampoTipoDescripción
createdStringFecha y hora del movimiento en formato ISO 8601 (UTC).
reasonStringRazón del movimiento. Consulta la lista completa de valores en Monedas › Razones de ajuste de monedas.
valueNumberCantidad de monedas del movimiento. El signo depende de quién registró el movimiento (los ajustes hechos con POST /coins/modify son negativos en un cargo), así que para saber si fue abono o cargo compara oldCoins y newCoins.
oldCoinsNumberBalance del conductor antes del movimiento.
newCoinsNumberBalance del conductor después del movimiento.

❌ Conductor no encontrado (404 Not Found)​

Se devuelve cuando el driverId no corresponde a ningún conductor de tu empresa.

{
"status": false,
"message": "Error: Driver not found"
}

❌ Parámetros inválidos (400 Bad Request)​

Se devuelve cuando falta alguna fecha, tiene un formato inválido o startDate no es anterior a endDate.

{
"status": false,
"message": "Error: startDate must be before endDate",
"errorId": "sentry_error_id_123"
}
MensajeCausa
Error: StartDate && EndDate pair must be present.Se envió sólo una de las dos fechas.
Error: startDate or endDate not validAlguna fecha no tiene un formato válido.
Error: startDate must be before endDatestartDate es igual o posterior a endDate, o no se envió ninguna fecha.