
Mensajería POS - VTOL
VTOL Tiempo Aire Electrónico
Revisiones
Fecha | Versión | Descripción |
22/09/2010 | 1.0 | Creación del documento |
30/12/2010 | 1.1 | Actualización de mensajería |
12/02/2016 | 1.2 | Agregado de campo 201 "additionalMessageData" |
Índice
Este documento contiene la especificación de los mensajes que intercambian el POS y VTOL para cubrir la funcionalidad de Carga Virtual.
Mensaje | Descripción | 3º Mensaje |
RecargaOnline | Permite la recarga de virtual a través de un número de teléfono o una tarjeta vinculada al mismo. | Si |
AsociacionTelTarjeta | Asocia una tarjeta con un número de teléfono y a un producto. | No |
ObtenerCarriers | Brinda una lista de los carries disponibles y sus códigos de producto. | No |
ConsultEstadoRecarga | Es utilizada por el POS para conocer el estado una recarga. La consulta llega a VTOL para que verifique la existencia de la operación y devuelva los datos asociados a la misma. | No |
SOLICITUD A VTOL
Campo | Nombre | Descripción / Valor | Condición |
1 | store | Código de Local manejado por VTOL | Requerido |
2 | node | Código de nodo manejado por VTOL | Requerido |
10 | posInputMode | Modo de ingreso (N=Teléfono, T=Tarjeta) | Requerido |
11 | trxType | "RecargaOnline" | Requerido |
12 | amount | Importe de la recarga. El importe debe poseer dos decimales sin separador. Por ejemplo, si la transacción es por $10 se debe de utilizar el valor 1000. | Requerido |
25 | dateTime | Fecha y hora del POS. Formato: yyyyMMddHHmmss | Requerido |
71 | checkPendingString | True/False dependiendo si se quiere o no realizar el chequeo de pendientes | Requerido |
150 | salerId | Identificador del vendedor | Requerido |
151 | posTransactionNumber | nnnnnnnnnnaaaammddhhmmss donde las 10 n son el numero de teléfono en formato PFNN y el resto es la fecha y hora completas (NO se debe mostrar en el ticket). El formato de hora es de 24 hs, así si son las 4 pm, se debe enviar 16 en hh. |
|
152 | phoneNumber | Número de teléfono | Opcional. (viaja si el modo de ingreso es igual a N) |
153 | productCode | Código del producto del cual se desea realizar la recarga. | Opcional (viaja si el modo de ingreso es igual a N) |
154 | cardNumber | Número de tarjeta | Opcional (viaja si el modo de ingreso es igual a T) |
201 | additionalMessageData | Este campo tiene como finalidad que el POS, o cliente VTOL, pueda enviar un dato X y que el mismo esté presente en la respuesta. Cada módulo según implementación puede decidir qué hacer con dicho dato (Ejem Persistir en BBDD). | Opcional |
RESPUESTA AL POS
Campo | Nombre | Descripción / Valor |
1 | store | Código de Local manejado por VTOL |
2 | node | Código de nodo manejado por VTOL |
10 | posInputMode | Modo de ingreso (N=Teléfono, T=Tarjeta) |
24 | trxId | Este campo contiene el trxId de VTOL si la operación fue aprobada con éxito. Con este identificador se realiza el Commit o Rollback. |
25 | clientDate | Fecha y hora del POS. Formato: yyyyMMddHHmmss |
26 | responseCode | toma uno de los siguientes valores: |
27 | isoCode | Código de respuesta. |
28 | responseMessage | Mensaje de respuesta |
151 | vtolTransactionNumber | nnnnnnnnnnaaaammddhhmmss donde las 10 n son el numero de teléfono en formato PFNN y el resto es la fecha y hora completas (NO se debe mostrar en el ticket). El formato de hora es de 24 hs, así si son las 4 pm, se debe enviar 16 en hh. |
152 | phoneNumber | Número de teléfono (solo cuando la recarga fue por número de tarjeta ) |
153 | productCode | Código del producto del cual se realizó la recarga. |
155 | acTransactionNumber | Código de transacción asignado a la venta, es el que se debe mostrar en el ticket. Como máximo este campo tiene 24 caracteres. |
156 | dueDate | Fecha de vencimiento para el saldo asignado al abonado. El formato es yyyyMMddHHmmss |
157 | additionalInformation | Información adicional brindada por el proveedor. |
158 | serialNumber | Identificador único de punto de venta. |
160 | carrierCode | Código de carrier.(Identificador que maneja SEAC para cada empresa) |
161 | carrierName | Nombre del carrier. |
162 | vtolDate | Fecha en la que VTOL procesó la transacción contra el autorizador con formato yyyyMMddHHmmss |
201 | additionalMessageData | Este campo tiene como finalidad que el POS, o cliente VTOL, pueda enviar un dato X y que el mismo esté presente en la respuesta. Cada módulo según implementación puede decidir qué hacer con dicho dato (Ejem Persistir en BBDD). |
SOLICITUD A VTOL
Campo | Nombre | Descripción / Valor | Condición |
1 | store | Código de Local manejado por VTOL | Requerido |
2 | node | Código de nodo manejado por VTOL | Requerido |
11 | trxType | AsociacionTelTarjeta | Requerido |
25 | dateTime | Fecha y hora del POS. Formato: yyyyMMddHHmmss | Requerido |
71 | checkPendingString | True/False dependiendo si se quiere o no realizar el chequeo de pendientes | Requerido |
150 | salerId | Identificador del vendedor | Requerido |
152 | phoneNumber | Número de teléfono al cual se desea asociar la tarjeta. | Requerido |
153 | productCode | Código del producto que estará asociado a la tarjeta. | Requerido |
154 | CardNumber | Numero de tarjeta para vincular al teléfono y producto. | Requerido |
201 | additionalMessageData | Este campo tiene como finalidad que el POS, o cliente VTOL, pueda enviar un dato X y que el mismo esté presente en la respuesta. Cada módulo según implementación puede decidir qué hacer con dicho dato (Ejem Persistir en BBDD). | Opcional |
RESPUESTA AL POS
Campo | Nombre | Descripción / Valor |
1 | store | Código de Local manejado por VTOL |
2 | node | Código de nodo manejado por VTOL |
25 | clientDate | Fecha y hora del POS. Formato: yyyyMMddHHmmss |
26 | responseCode | toma uno de los siguientes valores: |
27 | isoCode | Código de respuesta |
28 | responseMessage | Mensaje de respuesta |
158 | serialNumber | Identificador único de punto de venta. |
201 | additionalMessageData | Este campo tiene como finalidad que el POS, o cliente VTOL, pueda enviar un dato X y que el mismo esté presente en la respuesta. Cada módulo según implementación puede decidir qué hacer con dicho dato (Ejem Persistir en BBDD). |
SOLICITUD A VTOL
Campo | Nombre | Descripción / Valor | Condición |
1 | store | Código de Local manejado por VTOL | Requerido |
2 | node | Código de nodo manejado por VTOL | Requerido |
11 | trxType | "ObtenerCarriers" | Requerido |
25 | dateTime | Fecha y hora del POS. Formato: yyyyMMddHHmmss | Requerido |
71 | checkPendingString | True/False dependiendo si se quiere o no realizar el chequeo de pendientes | Requerido |
150 | salerId | Identificador del vendedor | Requerido |
201 | additionalMessageData | Este campo tiene como finalidad que el POS, o cliente VTOL, pueda enviar un dato X y que el mismo esté presente en la respuesta. Cada módulo según implementación puede decidir qué hacer con dicho dato (Ejem Persistir en BBDD). | Opcional |
RESPUESTA AL POS
Campo | Nombre | Descripción / Valor |
1 | store | Código de Local manejado por VTOL |
2 | node | Código de nodo manejado por VTOL |
25 | clientDate | Fecha y hora del POS. Formato: yyyyMMddHHmmss |
26 | responseCode | toma uno de los siguientes valores: |
27 | isoCode | Código de respuesta. |
28 | responseMessage | Mensaje de respuesta |
159 | carriersData | Campo compuesto que contiene la información de las empresas telefónicas que están activas al momento de realizar la consulta. |
201 | additionalMessageData | Este campo tiene como finalidad que el POS, o cliente VTOL, pueda enviar un dato X y que el mismo esté presente en la respuesta. Cada módulo según implementación puede decidir qué hacer con dicho dato (Ejem Persistir en BBDD). |
SOLICITUD A VTOL
Campo | Nombre | Descripción / Valor | Condición |
1 | store | Código de Local manejado por VTOL | Requerido |
2 | node | Código de nodo manejado por VTOL | Requerido |
11 | trxType | "ConsultaEstadoRecarga" | Requerido |
25 | dateTime | Fecha y hora del POS. Formato: yyyyMMddHHmmss | Requerido |
71 | checkPendingString | True/False dependiendo si se quiere o no realizar el chequeo de pendientes | Requerido |
150 | salerId | Identificador del vendedor | Requerido |
151 | posTransactionNumber | nnnnnnnnnnaaaammddhhmmss donde las 10 n son el numero de teléfono en formato PFNN y el resto es la fecha y hora completas (NO se debe mostrar en el ticket). El formato de hora es de 24 hs, así si son las 4 pm, se debe enviar 16 en hh. |
|
201 | additionalMessageData | Este campo tiene como finalidad que el POS, o cliente VTOL, pueda enviar un dato X y que el mismo esté presente en la respuesta. Cada módulo según implementación puede decidir qué hacer con dicho dato (Ejem Persistir en BBDD). | Opcional |
RESPUESTA AL POS
Campo | Nombre | Descripción / Valor |
1 | store | Código de Local manejado por VTOL |
2 | node | Código de nodo manejado por VTOL |
10 | posInputMode | Modo de ingreso (N=Teléfono, T=Tarjeta) |
25 | clientDate | Fecha y hora del POS. Formato: yyyyMMddHHmmss |
24 | originalTrxId | Si viene este campo con algún valor, indica que la transacción con este trxId esta pendiente en VTOL. |
26 | responseCode | toma uno de los siguientes valores: |
27 | isoCode | Código de respuesta. |
28 | responseMessage | Mensaje de respuesta |
151 | vtolTransactionNumber | nnnnnnnnnnaaaammddhhmmss donde las 10 n son el numero de teléfono en formato PFNN y el resto es la fecha y hora completas (NO se debe mostrar en el ticket). El formato de hora es de 24 hs, así si son las 4 pm, se debe enviar 16 en hh. |
152 | phoneNumber | Número de teléfono (solo cuando la recarga fue por número de tarjeta ) |
153 | productCode | Código del producto del cual se realizó la recarga. |
154 | cardNumber | Número de tarjeta en caso que la transacción haya sido con tarjeta. |
155 | acTransactionNumber | Código de transacción asignado a la venta, es el que se debe mostrar en el ticket. Como máximo este campo tiene 24 caracteres. |
156 | dueDate | Fecha de vencimiento para el saldo asignado al abonado. Con formato yyyyMMddHHmmss |
157 | additionalInformation | Información adicional brindada por el proveedor. |
158 | serialNumber | Identificador único de punto de venta. |
160 | carrierCode | Código de carrier.(Identificador que maneja SEAC para cada empresa) |
161 | carrierName | Nombre del carrier. |
162 | vtolDate | Fecha en la que VTOL procesó la transacción contra el autorizador con formato yyyyMMddHHmmss |
201 | additionalMessageData | Este campo tiene como finalidad que el POS, o cliente VTOL, pueda enviar un dato X y que el mismo esté presente en la respuesta. Cada módulo según implementación puede decidir qué hacer con dicho dato (Ejem Persistir en BBDD). |
SOLICITUD A VTOL
Campo | Nombre | Descripción / Valor | Condición |
1 | store | Código de Local manejado por VTOL | Requerido |
2 | node | Código de nodo manejado por VTOL | Requerido |
11 | trxType | "CheckPending" | Requerido |
25 | dateTime | Fecha y hora del POS. Formato: yyyyMMddHHmmss | Requerido |
RESPUESTA AL POS
Campo | Nombre | Descripción / Valor |
1 | store | Código de Local manejado por VTOL |
2 | node | Código de nodo manejado por VTOL |
24 | trxId | Si viene este campo con algún valor, indica que la transacción con este trxId esta pendiente en VTOL |
25 | clientDate | Fecha y hora en formato yyyyMMddHHmmss |
26 | responseCode | toma uno de los siguientes valores: |
27 | isoCode | Código de respuesta. |
28 | responseMessage | Mensaje de respuesta |
SOLICITUD A VTOL
Campo | Nombre | Descripción / Valor | Condición |
1 | store | Código de Local manejado por VTOL | Requerido |
2 | node | Código de nodo manejado por VTOL | Requerido |
11 | trxType | "UnSyncCompletion" | Requerido |
19 | lastTrxAction | Acción a realizar sobre la transacción: | Requerido |
24 | lastTrxId | Identificador de VTOL para transacción a confirmar / reversar. | Requerido |
25 | dateTime | Fecha y hora del POS. Formato: yyyyMMddHHmmss | Requerido |
RESPUESTA AL POS
El tercer mensaje no posee respuesta al POS.
Los datos compuestos se dividen en dos partes: el encabezado y el cuerpo con los datos en si. Este último varía según la información que se quiera incluir, pero siempre cada registro va separado por "&", mientras que los campos dentro de un registro son separados por "!".
El encabezado del campo compuesto es siempre LLLLLLNNNN&, donde:
LLLLLL: Es el tamaño en bytes de los datos que viajan en el campo sin tener en cuenta la cabecera.
NNNN: Es el número de registros que componen el campo, sin contar la cabecera
&: Es el primer separador que indica el fin del encabezado y el comienzo del área de datos.
Cada campo compuesta estará compuesto por los siguiente subcampos:
A continuación se muestra un ejemplo real del campo compuesto.
0009770004&Claro Online!20!10!100!6!Por cuenta y orden de|CLARO (AMX Argentina SA)|Servicio de atención al cliente *611|o al 0800-123-0611|Consulta de saldo CLARO *555&Movistar Online!21!10!200!8!Con el nro. de operacion podra|solicitar su factura en cualquier|oficina comercial de MOVISTAR.|Consulte su saldo en *444.|Para comunicarse con el servicio al|cliente llame sin cargo al *611.&Personal Online!23!15!99!9!Por cuenta y orden de|Telecom Personal Argentina S.A.|consulte su saldo en *150.|Para comunicarse con el servicio al|cliente llame sin cargo al *111|o al 0800-444-0800&Nextel Online!33!10!100!100!Por cuenta y orden de|Nextel Communications Argentina S.A.||Para consultar su saldo podra comunicarse|al *111 sin cargo desde su equipo|movil NEXTEL.|Si desea comunicarse con Atencion al|cliente de NEXTEL debera discar *611| sin cargo desde su equipo movil NEXTEL.|Vigencia del credito. 60 (sesenta) dias|excepto efectue una nueva carga antes|del vencimiento de ese plazo.