Ir al contenido

Registrar la posición actual del conductor durante un viaje

POST
/trips/{tripId}/location-ping
curl --request POST \
--url https://api.dev.lade.com.mx/trips/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/location-ping \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "lat": 25.6866, "lng": -100.3161, "speedKmh": 82.5, "heading": 145 }'

Ping periódico (cada 2-5 min, app en foreground) de la posición del conductor mientras el viaje está EN_PROCESO. Sobrescribe la última posición conocida — no guarda historial completo. Requiere que el viaje esté asignado al conductor autenticado y en estado EN_PROCESO.

tripId
required
string format: uuid

ID del viaje (UUID)

Media typeapplication/json
object
lat
required
number
>= -90 <= 90
lng
required
number
>= -180 <= 180
speedKmh
number
nullable <= 300
heading
number
nullable <= 360
timestamp

Default: ahora, en el servidor

string format: date-time
Example
{
"lat": 25.6866,
"lng": -100.3161,
"speedKmh": 82.5,
"heading": 145
}

Posición registrada

Media typeapplication/json
object
message
string
tripId
string format: uuid
Example
{
"message": "Location updated",
"tripId": "880e8400-e29b-41d4-a716-446655440003"
}

Solicitud inválida

Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{
"error": "Validation failed",
"field": "email",
"message": "Invalid email format"
}

Sin permisos

Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{
"error": "Forbidden",
"message": "You don't have permission to access this resource"
}

Recurso no encontrado

Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{
"error": "Not found",
"message": "Resource not found"
}

Conflicto con recurso existente

Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{
"error": "Conflict",
"message": "Resource already exists"
}