Socket de Integración con Hub IoT Nidoo

 

Esta es una aplicación basada en WebSocket común, para su funcionamiento se debe pasar un apikey designado a cada cliente.

Activación

 

Antes de poder hacer cualquier funcionalidad se debe activar el router, si no se hace cualquier solicitud que valla hacia la Api será denegada, para realizar la activación se debe consumir el siguiente endpoint http://localhost:8070/v1/system/init/{lot}

Objeto base de todas las peticiones:

{
    "type": "...", // Nombre de evento
    "data": {
        ... // Información para el evento
    }
}

Eventos

 

init_connect_static

Evento encargado de manejar las nuevas conexiones de los usuarios.

 

 idn : Identificación del cliente en todo el proceso, esta identificación se debe usar en todas las peticiones hacia el   socket.

Ejemplo ...

{
    "type": "init_connect_static",
    "data": {
        "idn": "apikey"
    }
}

Entrada

Consulta el ingreso al parqueadero.

 

 idn : Identificación del cliente en todo el proceso, esta identificación se debe usar en todas las peticiones hacia el   socket.

Ejemplo ...

- Response: 

{

    "type": "entrada",
    "data": {
        "idn": "apiKey",
        "plate": "bhn123",
        "origin": "operario",
        "start_service_type": "carro",
        "start_date": "2020-11-16 13:11:00"
    }
}

Salida

Procesa la salida del parqueadero.

 

- idn : Identificación del cliente en todo el proceso, esta identificación se debe usar en todas las peticiones hacia el socket. Tipo ( String )
- plate : Placa del vehículo. Tipo ( String )
- end_date : Fecha y hora de salida ( String )

Ejemplo ...

Request

 

{

    "type": "salida",
    "data": {
        "idn": "apiKey",
        "process": 1,
        "plate": "bhn123",
        "end_date": "2020-11-16 13:11:00",
        "price": 1000,
    }
}


Response: 
{

    "type": "salida",
    "data": {
        "idn": "apiKey",
        "plate": "bhn123",
        "price": 1000
    }
}

Authorize

Autoriza o niega la salida del parqueadero.

 

- idn : Identificación del cliente en todo el proceso, esta identificación se debe usar en todas las peticiones hacia el socket. Tipo ( String )
- authorization : Estado de la autorización. Tipo ( Boolean )

Ejemplo...

{
    "type": "authorize",
    "data": {
        "idn": "apiKey",
        "authorization": true
    }

}

Ejemplo

 

Este ejemplo esta escrito en Javascript.

'use strict'

var WebSocket = require('ws');

var ws = new WebSocket('ws://localhost:8999', "protocolOne");

ws.onerror = (error) => {
    console.info("Error al comunicar con el Websocket", error);
}

ws.onopen = (event) => {
    console.info('conectado');

    // Envio de conexión inicial
    ws.send(JSON.stringify({
        type: 'init_connect_static',
        data: {
            idn: 'apiKey',
        }
    }));
}

ws.onclose = (socket) => {
    console.info("cerrado")
}

ws.onmessage = (event) => {

    if (event.data) {
        let obj = JSON.parse(event.data);
        console.info("mensaje", obj)

        switch (obj.type) {
            case 'entrada':
                console.info("entrada", obj.data);
                break;
            case 'salida':
                console.info("salida", obj.data);
                break;
        }
    }
}

info@nidoo.la

+573107773576