API: SIMEC

El flujo de comunicación entre las máquinas SIMEC y V3 es el siguiente.

1. El usuario de la máquina física realiza la operación del modo habitual en la misma.
2. La máquina realiza una primera petición (VALIDACIÓN) al servidor de V3.
3. V3 realiza las validaciones oportunas y devuelve una respuesta a la máquina. 
4. Si la respuesta recibida de V3 por la máquina es satisfactoria, entonces la máquina realiza una petición de CONFIRMACIÓN.
5. En la petición de confirmación, V3 vuelve a realizar comprobaciones de refuerzo.
6. Si todo está OK llegados a este punto, se consolida la transacción y se registra en la tabla de transacciones.

En la tabla transacciones se registran las fallidas salvo los siguientes casos, para evitar aumentar el tamaño de la tabla innecesariamente:

- Peticiones con un apiId no exista en la tabla machine (Máquina no encontrada)
- Peticiones a una máquina cuyo apiId existe pero no se encuentra el número de operación especificado en la petición. (Máquina no encontrada)
- Peticiones de cualquier tipo donde el identificador de cliente especificado no exista en V3. (Cliente no encontrado)

El resto de casos de error (falta de balance, tipo de bono inválido, etc..) se registran en la tabla MachineTransaction.

Endpoints:

Validate

Petición

url: {urlServer}/demo/simec/validate?{params}

- Parámetros:
    - terminal: STRING 
        - Número de terminal.
    - entry: INT
        - Para máquinas de tipo barrera, si es entrada o salida. Para otros tipos, siempre entrada.
    - pin: INT
        - Actualmente sin efecto en V3.
    - address: STRING 
        - Identificador de la máquina apiId.
    - identifier: STRING 
        - Número de cliente/socio.
    - operation: INT 
        - Número de operación solicitada.
    - date: STRING 
        - Fecha.
    - hour: STRING 
        - Hora.

Respuesta

Un string delimitado por el carácter ; con información de la operación.

Ejemplo: “1;0;ACEPTADA - CLIENTE DE PRUEBAS;1;0;”

Confirmación

Petición

url: {urlServer}/demo/simec/confirm?{params}

- Parámetros:
    - address: STRING 
        - Identificador de la máquina apiId.
    - identifier: STRING 
        - Identificador del cliente de V3.
    - operation: INT 
        - Número de operación.
    - result: STRING 
        - Resultado de la operación.
    - errorCode: INT 
        - Código de error, si lo hubiese.

Respuesta

Un string delimitado por el carácter ; con información de la operación.

Ejemplo: “1;0;ACEPTADA - BALANCE DEL BONO:98;1;0;”

Simulador de peticiones

Para instalar el simulador de peticiones hemos de descomprimir el contenido del zip en una carpeta local, y una vez hecho esto seguir las instrucciones que se contienen en el archivo instalación.txt.