Skip to content
DGT 3.0 edited this page Sep 5, 2024 · 28 revisions

La documentación de esta API ofrece una descripción detallada de los métodos disponibles con ejemplos de las respuestas obtenidas, así como información acerca del uso.

Algunas consideraciones previas a tener en cuenta son:

  • La API utiliza JSON Web Tokens para la autentificación.

  • Las peticiones de la API deben ser realizadas con peticiones GET o POST según el caso.

  • Se pueden considerar todas las respuestas que no sean devueltas con un código HTTP 200 como un error.

  • Todas las respuestas son en formato JSON.

Versión

El versionado de la API se determina en la propia URL. Por ejemplo, para la versión 1 obtendremos la siguiente URL:

{baseUrl}/v1/xxx....

Autentificación

  • Para identificar a los clientes, la plataforma utiliza un sistema basado en Certificados Digitales X509. Este se debe solicitar a través del correo soporte@cmobility30.es Desde la plataforma se le enviará un formulario donde cumplimentar la identificación del propietario del certificado así como las direcciones IP desde las que se conectará el cliente a la plataforma. Por seguridad, solo se permitirá el acceso desde las mismas utilizando el certificado otorgado en cada conexión.

  • Como paso previo a la obtención del token, se debe poseer el certificado de seguridad y que la IP esté en la lista de permitidas.

  • El cn que está contenido en el certificado que se utiliza es el que la aplicación utiliza para comprobar si existe en el registro de usuarios.

{baseUrl}/v1/token

  • Si la autentificación es válida, se obtiene una respuesta con la fecha y hora en formato UTC en la que se ha generado, en la que expira y el propio token.

    {
        "issuedAt": "2021-04-01T09:09:16.284Z",
        "expiration": "2021-04-02T09:09:16.284Z",
        "token": "Bearer eyJhbGciOiJIUzUxMiJ9.e......."
    }
  • Además, si se realiza una petición con un token expirado se recibe un error HTTP 400 – Bad Request con la respuesta como en el siguiente ejemplo. Se debe solicitar un nuevo token para continuar realizando peticiones a la API.

    {
        "status": 400,
        "code": 6,
        "message": "Expired token received"
    }
  • Para realizar peticiones a los endpoints de la API se debe adjuntar en las cabeceras de la petición un atributo en la cabecera (Authorization) y su valor será Bearer (el tipo de token obtenido) más el valor del token que has obtenido separado por un espacio. Por ejemplo:

    Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJDTW9iaWxpdHkzLjAiLCJzdWIiOiJwcnVlYmEiLCJhdXRob3JpdGllcyI6WyJST0xFX1VTRVIiXSwiaWF0IoxNjE2NDIxMDYyLCJleHAiOjE2MTY0MjQ2NjJ9.N8KimN9_IgtjXX2Wv-rXLKK929mavlkaakxY_NzHVFgN9DWT8bqRVeTaBgL5GbzDfZSPZXDutoVwjdbTEx3FbA
    
    2021-03-24-13-21-32-image.png

MQTT

La información relacionada con la conexión MQTT se encuentra disponible aquí.