C

Caso de Uso 9

Información de ubicación de grúas en tiempo real.

El caso de uso 9 está dedicado a la información relativa a la ubicación de grúas en tiempo real. 

Es una interfaz para poder recibir la información enviada por los distintos operadores de grúas con la información de geoposicionamiento dinámico del vehículo y los estados durante la operación de auxilio. Esta información será procesada y se generarán eventos informativos que serán publicados por la bandeja de salida, para que terceros que se conecten y puedan facilitar la información a sus usuarios.

La plataforma cuenta con dos funcionalidades diferenciadas para la publicación (envío) y para la suscripción (recepción) de información. La primera es a través de una API REST y la segunda a través de un servicio MQTT en tiempo real (solo consumido por DGT).

Tanto la funcionalidad de publicación como de suscripción requieren de certificados de acceso distintos que deben ser solicitados y suministrados por DGT 3.0. Estos certificados, de no haber sido solicitados ya, se deberán solicitar a soporte@cmobility30.es.

A continuación se muestran las URLs con las que se accede a cada funcionalidad:

Modo URL Descripción
Publicación https://pre.cmobility30.es/use-case-9 Endpoint del entorno de integración de clientes para la publicación
Suscripción mqtt://mqtt.pre.cmobility30.es:8883 Endpoint del entorno de integración para la suscripción (solo consumido por DGT)

A continuación se describen las dos funcionalidades.

Publicación

Este caso de uso dispone de una API REST para la publicación (envío) de los datos por parte de las empresas que así lo deseen. En los siguientes apartados se pueden encontrar los detalles de esta:

  • Los detalles generales para realizar una petición:

General · (cmobility30.es)

  • Los detalles de las tablas maestras y datos que pueden componer el evento:

Tablas Maestras

  • Información relativa al evento que se debe enviar:

Evento

  • Preguntas frecuentes:

FAQ

Consumición

Los datos recibidos como tipo de evento "Intervención" por este caso de uso serán publicados como eventos estáticos a través de la bandeja de salida.

La información relativa a esta interface de consumo se puede encontrar aquí

La respuesta de la petición de consumición será una lista de elementos como el siguiente:

{
            "pmvGeomWkt": null,
            "pmvId": 511,
            "pmvMsg": "VAC en intervención",
            "pmvImg": "P50",
            "pmvType": 1,
            "pmvProv": null,
            "pmvRoad": null,
            "pmvPk": 0.0,
            "pmvPkIni": 0.0,
            "pmvPkFin": 0.0,
            "pmvDirection": 1,
            "pmvCategory": null,
            "pmvMode": null,
            "pmvProvFin": 0,
            "pmvRoadFin": null,
            "pmvEvent": 0,
            "gid": null
}
  • pmvGeomWkt: No aplica

  • pmvId: Número de identificación del PMV

  • pmvMsg: Mensaje del estado del VAC

  • pmvImg: No aplica

  • pmvType: Tipo de PMV

  • pmvProv: Provincia del evento

  • pmvRoad: Carretera del evento

  • pmvPk: Punto kilométrico del evento

  • pmvPkIni: No aplica

  • pmvPkFin: No aplica

  • pmvDirection: Dirección de la carretera del evento

  • pmvCategory: Categoría del PMV

  • pmvMode: Modo del PMV

  • pmvProvFin: No aplica

  • pmwRoadFin: No aplica

  • pmvEvent: No aplica

  • gid: No aplica

Nota: La información que se está publicando en el entorno de desarrollo es una simulación con información no real que va cambiando a lo largo del día, de forma que se pueda probar la interface de consumo.

Errores

Como se ha indicado anteriormente, todas las respuestas HTTP que no sean 200 – OK, se pueden considerar inválidas. El formato de la respuesta de error es como el siguiente ejemplo:

{
    "status": 401,
    "code": 1,
    "message": "User not found or valid"
}

*Esto no aplica para el Caso de Uso 9 - Grúas. La información relativa a los errores en ese caso se puede encontrar aquí.

Estos errores tendrán tres categorías principales:

Error de Autentificación

  • HTTP Status: 401 - Unauthorized

    Code Message
    1 User not found or valid

Error de Cliente

  • HTTP Status: 400 - Bad Request

    Code Message
    0 Authenticate
    2 Entity ID not found
    3 Missing required property
    4 The entity received cannot be proccessed
    5 Incorrect token received
    6 Expired token received
    7 There is an error with the token provided. Please request a new one
    8 No token received
    9 Required request body is missing
    10 Event is marked as expired by timestamp
    11 Missing request header
    12 Permission denied. Role assigned to user missing
    13 There is an error in one or more elements of the list
    14 The actionId must be unique. This one has been already used
    15 The event type is 3. However, event has not been started
    16 The event has already been marked as finished

En el caso de obtener un error 3 - Missing required property la respuesta obtenida tendrá un valor en el message que nos indicará los campos que faltan por enviar:

{
    "status": 400,
    "code": 3,
    "message": "[deviceTypeId: must not be null, deviceUseTypeId: must not be null, informationQualityId: must not be null]"
}

Error de Servidor

  • HTTP Status: 500 - Internal Server Error

    Code Message
    17 Internal error