← Volver a Developers

Documentación API

API REST sobre HTTPS. Autenticación Bearer. Todas las respuestas en JSON.

Base URL

https://ridezio.com/api/v1

Autenticación

Incluye tu API key en cada request como Bearer token:

Authorization: Bearer rz_live_YOUR_API_KEY

Sin API key activa → obtén acceso aquí.

Rate Limiting

1.000 peticiones/minuto por defecto. Header X-RateLimit-Remaining en cada respuesta.

Endpoints

POST/api/v1/requests🔑 Auth

Crear una petición de transfer

Body

{
  "pickup_location": "Aeropuerto de Palma (PMI)",
  "dropoff_location": "Hotel Meliá Palma Bay",
  "pickup_datetime": "2026-05-10T14:30:00Z",
  "passengers": 2,
  "city": "mallorca"
}

Response

{
  "request": {
    "id": "req_01HXZ...",
    "status": "active",
    "offers": []
  }
}
GET/api/v1/requests/:id🔑 Auth

Estado de una petición y ofertas recibidas

Response

{
  "request": {
    "id": "req_01HXZ...",
    "status": "active",
    "offers": [
      {
        "id": "offer_...",
        "driver_name": "Carlos M.",
        "price": 45,
        "currency": "EUR",
        "vehicle": "Mercedes E-Class"
      }
    ]
  }
}
POST/api/v1/bookings🔑 Auth

Confirmar una oferta y crear reserva

Body

{
  "offer_id": "offer_01HXZ...",
  "request_id": "req_01HXZ..."
}

Response

{
  "booking": {
    "id": "book_01HXZ...",
    "status": "confirmed",
    "total": 45,
    "currency": "EUR"
  }
}
GET/api/v1/cities

Ciudades activas con precios medios

Response

{
  "cities": [
    { "name": "Mallorca", "slug": "mallorca", "avg_price": 38 },
    { "name": "Barcelona", "slug": "barcelona", "avg_price": 42 },
    { "name": "Madrid", "slug": "madrid", "avg_price": 35 }
  ]
}

Códigos de error

400Bad Request — faltan campos obligatorios
401Unauthorized — API key inválida o ausente
403Forbidden — sin permisos para este recurso
404Not Found — recurso no encontrado
429Too Many Requests — límite de rate excedido
500Internal Server Error — error en el servidor

¿Necesitas ayuda con la integración?

Contactar soporte técnico