Document Information | |
---|---|
File: | AN-Native_DeviceUpdater_Protocol-Spec |
Doc Version: | 1.0 |
Release Date: | 21, Feb 2019 |
Author: | ATIONet LLC |
Change Log | ||
---|---|---|
Ver. | Date | Change Summary |
1.0 |
21/Feb/2019 |
Initial version. |
- Overview
- Scope
- Data Security
- Message Structure
- Error Handling
- Field Descriptions
- Loyalty Transaction Request (LREQ) Message Format
- Loyalty Transaction Response (LRESP) Message Format
- Reference Tables
- Transaction Codes
- Account Type
- Transaction Data Structure
- Customer Data
- Currency Codes
- Authorization Codes
- Response Codes
El objetivo de esta documentación es especificar el formato de mensajería de protocolo nativo de la API de mantenimiento de Terminals Management y las funcionalidades requeridas para los sistemas que solicitan integración con la herramienta. Las siguientes secciones proporcionan descripciones de los mensajes y el comportamiento esperado para cada tipo de operación.
Terminal Dispositivo al cual serán aplicadas de forma remota actualizaciones de firmwares, parámetros o recursos descritos en una agenda programada, y del que se llevara un control o monitoreo del estado de operatividad y localización física en la cual se encuentra.
Cronograma programado de actualización de terminal, en el que se agrupan terminales para aplicar una actualización requerida por el usuario en una fecha y hora especifica; en ella se encuentra definido los detalles de la actualización a efectuar (tipo, modo, definición de parámetros, recursos necesarios).
Valores necesarios de configuración de la terminal para poder operar satisfactoriamente con la herramienta.
Mensaje que contiene la información o donde obtener la información de la actualización a aplicar en la terminal.
Los sistemas de terceros se integran con Terminals Mangement a través de una API.
El presente documento del protocolo de la API de Terminals Management especifica el protocolo de interfaz de mantenimiento, el cual lista un conjunto de mensajes para ayudar al mantenimiento y soporte de una red de terminales; por ejemplo, verificar el estado de las terminales mediante un mensaje denominado KeepAlive, obtener novedades para las terminales registradas en la herramienta y el reporte de parámetros actuales.
Protocolo: Protocolo de Interfaz de Mantenimiento Terminals Management Versión: 1.0.0000 API URI: https://terminalsmanagementapi.ationet.com/v1/maintenance
Nombre | Versión Protocolo | Descripción |
---|---|---|
Keep-Alive |
1.0.0000 |
Se utiliza para reportar valores de operatividad de la terminal (Código de Terminal, Número de Serie, Sistema Operativo, Modelo del Sistema, Versión del Sistema, IP, Carga de la Batería, Estado del Papel y Fecha de Reporte), además de obtener información de agendas pendientes por aplicación disponible. |
GetNews |
1.0.0000 |
Se utiliza para obtener los datos de la próxima actualización disponible por aplicar en la terminal. |
ParametersReport |
1.0.0000 |
Utilizado para reportar los valores de los parámetros actuales que posee la terminal activa. |
La interfaz API requiere una conexión SSL entre ambas partes. La conexión SSL se establece para cada par de solicitud / respuesta, utilizando una propiedad de certificado de Terminals Management.
Todos los mensajes de la API comparten la misma estructura, lo único que cambia entre mensaje y mensaje es el código de transacción/operación, que indica la función a realizar, y en base al cual se analizan los valores de los campos enviados y recibidos.
La acción HTTP siempre es POST y tanto las solicitudes como las respuestas utilizan un formato JSON.
Solo se acepta una solicitud en cada mensaje.
Header:
Accept-Encoding: gzip
Body:
{“NombreDeCampo1”:“ValorDeCampo1”,“NombreDeCampo2”:“ValorDeCampo2”,...,“NombreDeCampoNNN”:“ValorDeCampoNNN” }
Header:
Content-Type: application/json; charset=utf-8
Body:
{“NombreDeCampo1”:“ValorDeCampo1”,“NombreDeCampo2”:“ValorDeCampo2”,...,“NombreDeCampoNNN”:“ValorDeCampoNNN” }
Descripción del cuerpo:
Nombre | Tamaño | Tipo | Condición | Descripción |
---|---|---|---|---|
TransactionCode |
3 |
A |
Requerido |
Código de transacción / operación |
TerminalCode |
4-20 |
A/N |
Requerido |
Código de Terminal |
Ip |
Var |
N |
Opcional |
Ip de conexión |
SystemModel |
Var |
A/N |
Opcional |
Modelo del sistema |
SystemVersion |
Var |
A/N |
Opcional |
Versión del sistema |
SerialNumber |
Var |
A/N |
Requerido |
Número de serie de terminal |
OperatingSystem |
Var |
A/N |
Opcional |
Sistema Operativo |
BatteryCharge |
Var |
A/N |
Opcional |
Cantidad de carga de la batería |
PaperStatus |
Var |
A/N |
Opcional |
Estado del papel |
LastSchedule |
36 |
GUID |
Opcional |
Id de última agenda aplicada |
Ejemplo:
{“TransactionCode”:“600”,“TerminalCode”:“AXN8763542”, “Ip”:“192.168.20.154”, “SystemModel”:“ StandAloneTerminal”,“SystemVersion”:“ 2.0.0150”,“SerialNumber”: “SR937492”,“OperatingSystem”:“ EVO”,“BatteryCharge”:“100%”, “PaperStatus”:“OK”,“LastSchedule”:“ 90BEBD7C-78F8-4711-A304-0E690F2A0466” }
Descripción del Cuerpo:
XXXXXXXXXXXXXXXXXXXXXXXXXXX
Ejemplo:
{“TransactionCode”:“ 601”,“SiteDateTime”:“05-11-18 09:10:00”,“SiteTimeZone”:“Argentina Standard Time”,“HostDateTime”:“ null”,“IdSchedule”:“90BEBD7C-78F8-4711-A304-0E690F2A0466”}
Descripción del Cuerpo:
XXXXXXXXXXXXXXXXXXXXXXXXXX
Ejemplo:
{“TransactionCode”:“602”,“TerminalCode”:“AXN8763542,“SerialNumber”:“SR937492”,“IdSchedule”:“ 90BEBD7C-78F8-4711-A304-0E690F2A0466”}
Descripción del Cuerpo:
XXXXXXXXXXXXXXXXXXXXXXXXX
Ejemplo:
{“TransactionCode”:“603”,“FirmwareUrl”: “https://storage.blob.net/terminalsmanagment/firmwares/45aa5bd5-7344-f8688c6878a14e42483.zip”, “ResourcesUrl”:“https://storage.blob.net/terminalsmanagment/Resources/45aa5bd5-7344-4f86-88c6-878a14e42483.zip”,“ Configurations”:“{“Parámetro1”:“Valor1”,“Parámetro2”:“Valor2”,…,“ParametroN”: “ValorN”}” ,“ ApplicationMethod”:“0”}
Descripción del Cuerpo:
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
Ejemplo:
{“TransactionCode”:“604”,“TerminalCode”:“AXN8763542”,“SerialNumber”:“SR937492”,“ Configurations”:“{“Parámetro1”:“Valor1”,“Parámetro2”:“Valor2”,…,“ParametroN”: “ValorN”}”}
Descripción del Cuerpo:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Ejemplo:
{“TransactionCode”:“605”,“ResponseMessage”:“OK”}
Códigos de Transacción / Operación Se refiere a los códigos con lo cual se indica que tipo de transacción/operación se realizará.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxx