Integración con plataforma Busway

La intención de Busway es fortalecer y optimizar los procesos de comunicación entre todas las partes implicadas en la prestación de servicios de transporte. Nuestro objetivo es garantizar un intercambio de información ágil, fiable y estructurado, que permita mejorar la coordinación operativa, reducir tiempos de respuesta y asegurar una gestión más eficiente de cada servicio.

Para Busway, una comunicación clara y automatizada no solo incrementa la calidad del servicio, sino que también facilita la integración entre sistemas, minimiza incidencias y contribuye a una experiencia más fluida tanto para las empresas colaboradoras como para los usuarios finales. En este sentido, trabajamos de manera continua en la implementación de soluciones técnicas que permitan un flujo de datos preciso, seguro y alineado con las necesidades operativas de nuestros partners.

Por ello ofrecemos las siguientes soluciones para las diferentes comunicaciones:

  1. Acceso a la API
  2. Recepción de servicios desde Busway
  3. Envío/Recepción de conductor y datos adicionales del servicio
  4. Geolocalización

1. Acceso a la API

El acceso a la API de Busway se realiza mediante un token fijo, que se proporcionará previamente.

Este token deberá enviarse en las cabeceras de todas las solicitudes, por ejemplo:

Authorization: Bearer 123456789abcdef

2. Recepción de servicios desde Busway

A continuación se muestra un ejemplo de JSON de servicio enviado desde Busway a vuestra plataforma:

{
  "fecha": "2024-11-22 18:19",
  "codigo": "SR25000001",
  "localizador": "LOC2024/2156",
  "vehiculo": "Turismo standar",
  "numero_pasajeros": 3,
  "origen": {
    "localizacion": "Av. Partenón S/N",
    "ciudad": "Madrid",
    "pais": "ESPAÑA",
    "codigo_postal": "28042",
    "provincia": "Madrid",
    "latitud": 40.4659996,
    "longitud": -3.6170001
  },
  "destino": {
    "localizacion": "Aeropuerto Barajas, Terminal 4, Madrid, España",
    "ciudad": "Madrid",
    "pais": "ESPAÑA",
    "codigo_postal": "28042",
    "provincia": "Madrid",
    "latitud": 40.49137115,
    "longitud": -3.59434295
  },
  "flight_train_number": "IB6677",
  "contacto": {
    "nombre": "Juan García",
    "telefono": "999333222"
  }
}

Consideraciones importantes

  • Un mismo localizador puede contener varios servicios.
    Actualmente enviamos cada servicio por separado, incluyendo en el JSON el localizador al que pertenece.
  • Si necesitáis agrupar varios servicios bajo un mismo localizador en un único JSON, podemos adaptarlo sin problema.
  • El precio no está incluido por defecto, pero puede añadirse si lo necesitáis.
    Dado que los servicios confirmados ya llevan un precio asociado, este se puede incorporar sin cambios relevantes en la estructura.

3. Envío/Recepción de conductor y datos adicionales del servicio

Podemos habilitar de forma inmediata una API en Busway para recibir los datos operativos del servicio.

El endpoint podría llamarse:

setServiceData
Método: POST
Cuerpo esperado (JSON):

{
  "codigo": "SR25000001",
  "nombre_conductor": "Javier Gómez",
  "telefono_conductor": "999555444",
  "matricula": "1111AAA"
}

3. Geolocalización

Lo más eficiente sería disponer en vuestra plataforma de una API que reciba latitud, longitud y timestamp de forma periódica.

Identificación del servicio

Lo ideal es poder asociar la posición al servicio correspondiente. Existen dos opciones:

Opción A (demasiado específica)

Usar el código SR enviado inicialmente ("codigo":"SR24018769").
Esto os obligaría a tratar nuestro código interno como identificador principal.

Opción B (recomendada)

  1. Busway envía el JSON del servicio.
  2. Vuestra plataforma responde con vuestro ID interno de servicio.
  3. A partir de ese momento, Busway envía las posiciones geográficas usando vuestro ID.

Ventajas de esta opción:

  • Estandariza vuestra API para terceros.
  • Evita dependencia de estructuras internas de Busway.
  • Facilita trazabilidad en vuestra propia plataforma.