Integra CUBIO en tu sistema
Partner API para crear, gestionar y hacer seguimiento de reservas de transporte. Perfecta para agencias, sistemas corporativos y desarrolladores.
RESTful & JSON
API moderna con respuestas JSON. Fácil de integrar con cualquier lenguaje.
OAuth 2.0
Client Credentials flow con scopes granulares para control de permisos.
Rate Limiting
1000 requests/min en producción. Suficiente para cualquier integración.
Webhooks
Notificaciones en tiempo real con firma HMAC y reintentos automáticos.
¿Para quién es esta API?
Diseñada para partners que quieren ofrecer servicios de transporte a sus clientes.
Agencias de viajes
Integra reservas de transfer en tu plataforma de viajes.
Sistemas de gestión hotelera
Ofrece transfers desde tu PMS o channel manager.
Apps de turismo
Añade transporte VIP a tu app de experiencias.
Portales corporativos
Automatiza reservas desde tu intranet o ERP.
Quick Start
Empieza a hacer llamadas a la API en minutos.
Obtén tus credenciales
Contacta con CUBIO para obtener tu cuenta de partner. Recibirás un client_id y client_secret para OAuth 2.0.
CUBIO_CLIENT_ID=your_partner_client_id CUBIO_CLIENT_SECRET=your_partner_client_secret CUBIO_API_URL=https://api.cubio.io/api/v1
Autentícate con OAuth 2.0
Usa el flujo Client Credentials para obtener un access token. Especifica los scopes que necesitas.
curl -X POST https://api.cubio.io/api/v1/oauth/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=YOUR_CLIENT_ID" \ -d "client_secret=YOUR_CLIENT_SECRET" \ -d "scope=quotes:read bookings:create bookings:read bookings:cancel"
{
"access_token": "eyJhbGciOiJSUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "quotes:read bookings:create bookings:read bookings:cancel"
}Obtén una cotización
Antes de crear una reserva, obtén los precios y vehículos disponibles.
curl -X POST https://api.cubio.io/api/v1/partners/quotes \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"origin": {
"name": "Aeropuerto de Valencia",
"latitude": 39.4893,
"longitude": -0.4785
},
"destination": {
"name": "Hotel Las Arenas, Valencia",
"latitude": 39.4533,
"longitude": -0.3242
},
"scheduledDateTime": "2026-02-10T14:30:00",
"pickupTimezone": "Europe/Madrid",
"passengerCount": 2,
"extras": [],
"locale": "es"
}'{
"hasCoverage": true,
"routeInfo": {
"distanceKm": 12.5,
"durationMinutes": 20,
"polyline": "...",
"routeSource": "google"
},
"vehicleOptions": [
{
"vehicleTypeId": 1,
"vehicleTypeName": "Berlina",
"maxPassengers": 4,
"maxLuggage": 2,
"available": true,
"basePrice": 45.00,
"markupAmount": 5.00,
"subtotal": 50.00,
"taxAmount": 5.00,
"totalPrice": 55.00,
"currency": "EUR"
},
{
"vehicleTypeId": 2,
"vehicleTypeName": "Van",
"maxPassengers": 7,
"maxLuggage": 6,
"available": true,
"totalPrice": 75.00,
"currency": "EUR"
}
],
"availableExtras": [...],
"pricesIncludeTax": true,
"taxRate": 10,
"currency": "EUR"
}Crea la reserva
Usa el vehicleTypeId de la cotización para crear la reserva.
curl -X POST https://api.cubio.io/api/v1/partners/bookings \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"origin": {
"name": "Aeropuerto de Valencia",
"latitude": 39.4893,
"longitude": -0.4785
},
"destination": {
"name": "Hotel Las Arenas, Valencia",
"latitude": 39.4533,
"longitude": -0.3242
},
"scheduledDateTime": "2026-02-10T14:30:00",
"pickupTimezone": "Europe/Madrid",
"vehicleTypeId": 1,
"passengerCount": 2,
"guestName": "Juan Pérez",
"guestEmail": "juan@example.com",
"guestPhone": "+34600123456",
"guestLocale": "es",
"partnerReference": "RES-2026-001",
"flightInfo": {
"flightNumber": "VY1234",
"airline": "Vueling",
"arrivalTime": "2026-02-10T14:00:00",
"terminal": "T1"
},
"notes": "Pasajero con equipaje extra"
}'{
"bookingId": 12345,
"serviceNumber": "SRV-2026-001",
"partnerReference": "RES-2026-001",
"status": "SIN_ASIGNAR",
"paymentStatus": "PENDING",
"origin": {
"name": "Aeropuerto de Valencia",
"latitude": 39.4893,
"longitude": -0.4785
},
"destination": {
"name": "Hotel Las Arenas, Valencia",
"latitude": 39.4533,
"longitude": -0.3242
},
"scheduledDateTime": "2026-02-10T14:30:00",
"vehicleTypeName": "Berlina",
"passengerCount": 2,
"basePrice": 45.00,
"markupAmount": 5.00,
"totalPrice": 55.00,
"currency": "EUR",
"guestName": "Juan Pérez",
"guestEmail": "juan@example.com",
"guestAccessUrl": "https://passenger.cubio.io/onboarding?token=xxx",
"createdAt": "2026-02-05T10:00:00Z"
}OAuth Scopes
Solicita solo los permisos que necesitas para tu integración.
quotes:readObtener cotizaciones de viajesbookings:createCrear reservas y payment intentsbookings:readLeer reservas y trackingbookings:cancelCancelar reservasprofile:readLeer perfil del partnerprofile:writeActualizar perfil del partnerEndpoints
Base URL: https://api.cubio.io/api/v1
Cotizaciones
Obtener precios y disponibilidad antes de reservar
/partners/quotesReservas
Crear, consultar y cancelar reservas
/partners/bookings/partners/bookings/partners/bookings/{bookingId}/partners/bookings/{bookingId}Tracking
Seguimiento en tiempo real del servicio
/partners/tracking/activePagos
Integración con Stripe para pagos
/partners/payments/intentUbicaciones
Gestiona ubicaciones predefinidas
/partners/locations/partners/locations/partners/locations/{locationId}/partners/locations/{locationId}Perfil & Stats
Información del partner y estadísticas
/partners/me/partners/me/partners/stats/partners/stats/chartEstados del servicio
Ciclo de vida de una reserva en CUBIO.
SIN_ASIGNARSin asignar
C_ASIGNADOConductor asignado
V_ASIGNADOVehículo asignado
EN_CAMINOConductor en camino
EN_ORIGENConductor en origen
INICIADOServicio iniciado
FINALIZADOServicio finalizado
NO_SHOW_CLIENTECliente no se presentó
Webhooks
Recibe notificaciones instantáneas cuando cambie el estado de una reserva. Configura tu endpoint en el perfil del partner.
Firma HMAC-SHA256
Header X-Cubio-Signature
Reintentos automáticos
Backoff exponencial en caso de fallo
Headers informativos
X-Cubio-Event y X-Cubio-Event-Id
{
"event": "booking.driver_assigned",
"event_id": "evt_abc123xyz",
"partner_code": "AGENCY_001",
"timestamp": "2026-02-10T13:00:00Z",
"data": {
"booking_id": 12345,
"service_number": "SRV-2026-001",
"partner_reference": "RES-2026-001",
"status": "C_ASIGNADO",
"driver": {
"name": "Carlos García",
"phone": "+34600123456"
},
"vehicle": {
"plate": "1234 ABC",
"model": "Mercedes E-Class"
}
}
}Eventos disponibles
booking.createdReserva creadabooking.confirmedReserva confirmada (pago procesado)booking.cancelledReserva canceladabooking.driver_assignedConductor asignado al serviciobooking.driver_en_routeConductor en camino (EN_CAMINO)booking.completedServicio finalizado (FINALIZADO)payment.receivedPago recibidopayment.refundedReembolso procesadoCódigos de respuesta
La API utiliza códigos HTTP estándar.
¿Quieres integrar CUBIO?
Contacta con nosotros para obtener tus credenciales de partner y acceso al sandbox de pruebas.