GRIP ofrece tres endpoints para consultar expediciones: buscar una por su referencia, buscar una por un criterio y buscar varias con filtros avanzados.
Todas las consultas usan POST, con las cabeceras habituales:
secret-api-key: TU_API_KEY Authorization-Domain: TU_DOMINIO Content-Type: application/json
Buscar por referencia
Devuelve una expedición a partir de la referencia que le asignaste.
POST https://api.app.vonzu.es/api/v2/services/findByReference
Cuerpo
El criterio de búsqueda va dentro de un objeto find. Podés acompañarlo de opciones que enriquecen la respuesta:
{
"find": {
"reference": "01FDM-23001718"
},
"includeHistory": true,
"includeFullServiceType": true,
"calculateBasePrice": true
}
Campo | Tipo | Descripción |
| string | Referencia de la expedición a buscar. |
| boolean | Incluye el historial de estados de la expedición. |
| boolean | Incluye la definición completa del tipo de servicio. |
| boolean | Calcula y devuelve el precio base. |
Buscar
Funciona igual que la búsqueda por referencia, pensada para localizar una expedición por un criterio. El criterio se envía dentro de find.
POST https://api.app.vonzu.es/api/v2/services/find
Cuerpo
{
"find": {
"reference": "gCt0m9EvTZ"
},
"calculateBasePrice": true
}
Buscar varias (findMany)
Busca múltiples expediciones aplicando filtros avanzados, paginación y ordenación. Es el endpoint indicado para sincronizaciones o listados.
POST https://api.app.vonzu.es/api/v2/services/findMany
Cuerpo
El cuerpo admite parámetros de paginación y un objeto query con una estructura de tipo booleana (bool / must) para combinar condiciones:
{
"limit": 100,
"offset": 0,
"from": 0,
"size": 100,
"query": {
"bool": {
"must": [
{
"terms": {
"id": ["dev_113453"]
}
}
]
}
}
}
Campo | Tipo | Descripción |
| number | Número máximo de resultados a devolver. |
| number | Desplazamiento inicial para la paginación. |
| number | Paginación alternativa (inicio y tamaño de página). |
| array | Lista de condiciones que deben cumplirse (AND). |
Cada condición dentro de must filtra por un campo. En el ejemplo se usa terms para filtrar por uno o varios id. Los identificadores internos vienen prefijados con tu dominio (por ejemplo dev_113453 o method_313595).
Ejemplo de respuesta
{
"limit": 100,
"total": 1,
"clients": [],
"drivers": [],
"services": [
{
"id": 104366,
"reference": "Intelligent",
"type": "delivery",
"status": { "code": "created" },
"address": { "...": "..." },
"origin": { "...": "..." },
"contact": { "...": "..." }
}
]
}
Campo | Descripción |
| Número total de expediciones que cumplen el filtro. |
| Límite aplicado a la consulta. |
| Array de expediciones encontradas. |
| Datos relacionados (clientes y conductores) cuando aplica. |
Nota:findMany es una consulta potente pero también costosa. Usá limit/size con criterio y filtrá siempre que puedas por campos concretos (referencia, id, fechas o estado) para evitar recorrer grandes volúmenes de datos.