AR Agente - Servicios Generales



Servicio: Autenticar terminal (authenticate)

Servicio de seguridad que permite a una terminal ser autorizada para utilizar el restos de los servicios del sistema.

Este servicio requiere que se brinden las claves de acceso (un id y un secret), las cuales pueden obtenerse a través de la Consola de Administración en la sección "Clientes API" del módulo de seguridad.

Retornará un token, el cual es requerido al invocar los servicios de negocio.


Es un método REST basado en el formato JSON. Ejemplo: 

[post] http://[dirección-ip]:[puerto]/api/v1/oauth2/authenticate

POST - REQUEST

BODY

ElementoDescripciónTipo de datoRequerido
clientId

Credenciales para el uso de la aplicación. Se obtienen de la consola, sección Seguridad > Clientes API.

Identifica al usuario

String
clientSecret

Credenciales para el uso de la aplicación. Se obtienen de la consola, sección Seguridad > Clientes API

Identifica a la contraseña del usuario.

String

Ejemplo:

{
    "clientId":"vcn5keiiw0zf",
    "clientSecret":"g23n2tlt3fmap0ymaosv"
}

RESPONSE OK

ElementoTipoDetalle
tokenStringToken de seguridad devuelto por el sistema.
expiresInNumber

Tiempo de expiración del token medido en unidad de expiración.

expUnit

StringUnidad de expiración.

Ejemplo:

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNWU5NDczZGU4YTk2NDI5MzlkMzVkYzhiIn0sImlhdCI6MTU5NTk0NzkyOSwiZXhwIjoxNTk1OTUxNTI5fQ.yrMsmYgyPtii59moYgujKE96ZeFNhHuZnwt3OeE59fM",
  "expiresIn": 3600000,
  "expUnit": "miliseconds"
}

RESPONSE ERROR

ElementoTipoDetalle
ackNumber

Código de error. Siendo los valores posibles:

  • FF-2001 "Invalid credentials format": Verificar que se estén todos los datos obligatorios.
  • FF-2002 "User not found": Verificar el valor del clientId provisto
  • FF-2003 "Invalid password": Verificar el valor del clientSecret provisto
  • FF-2999 "Internal Server Error"
  • FF-3999 "Internal Agent Error"
messageStringDetalle del tipo del error.

Ejemplo:

{
    "ack"2002,
    "message""User not found"
}

Servicio: Verificar estado de servicios (clientStatus)

Este servicio debe ser invocado por el punto de venta para verificar el estado de los servicios expuestos por Fiscal Flow.

En el caso de terminales con impresoras 2G, solicita datos adicionales, los cuales son utilizados para dar de alta automáticamente la terminal. (Ver: Consola de administración, módulo "Negocio", sección "Terminales").

Asimismo, permite notificar que el punto de venta se encuentra activo y actualiza la información local de la configuración de la terminal. (Ver: Consola de administración, módulo "Monitoreo", sección "Monitoreo de terminales").

Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".

Es un método REST basado en el formato JSON. Ejemplo: 

[post] http://[dirección-ip]:[puerto]/api/v1/clientStatus

POST - REQUEST

header

ElementoValor
x-access-token
Token obtenido a través del servicio "Authenticate"

Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

BODY

ElementoDescripciónTipo de datoRequeridoValidación
requestCredential
companyCodeCódigo de compañía, provisto para la empresa que contrata el servicio.String Si992
storeCodeCódigo de tiendaStringSi992
terminalCodeCódigo de terminal / punto de ventaStringSi992
printerInfoEsta información debe ser enviada SOLO  para terminales 2G


pointOfSale

2G: Punto de Venta (Centro emisor)

String

fiscalSerial

2G: Nro serie impresoraString

Ejemplo:

{
   "requestCredential":{
      "companyCode":"napse",
      "storeCode":"43",
      "terminalCode""45"
   },
   "printerInfo":{
      "pointOfSale":"123456789",
      "fiscalSerial":"11111111"
   }
}

RESPONSE OK

ElementoTipoDetalle
ackNumber

Valor "0"

messageStringValor "OK"

minTimeOut

NumberTiempo mínimo que debe esperar el PDV para reintentar una autorización.

Ejemplo:

{
    "ack"0,
    "message""Ok",
    "minTimeOut"140000
}

RESPONSE ERROR


ElementoTipoDetalle
ackNumber

Código de error. Siendo los valores posibles:

  • FF-2007 : Falta enviar las credenciales.
  • FF-2008 : La compañia no existe.
  • FF-2010 : No se encuentra configurado el CAE para la terminal.
  • FF-2013 : La propiedad printerInfo debe ser un objeto.
  • FF-2014 : La propiedad requestCredential debe ser un objeto.
  • FF-2015 : Las credenciales tienen un error.
  • FF-2038 : El numero de serie de la impresora debe ser alfanumérica.
  • FF-2043 : La terminal esta configurada para operar en modo electronico. Por favor cambie la configuracion, comuniquese mediante el clientStatus e intente nuevamente.
  • FF-2046 : Falta la propiedad printerInfo.
  • FF-2047 : Falta la propiedad printerInfo.fiscalSerial.
  • FF-2048 : Falta la propiedad printerInfo.pointOfSale.
  • FF-2049 : La terminal electronica indicada no esta configurada en Fiscal Flow.
messageStringDetalle del tipo del error.


Ejemplo:

{
    "ack"2005,
    "message""Access token does not exists"
}

Servicio: Obtener informe Z (zReport)

Este servicio se debe utilizar para obtener el informe Z de la terminal.

Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".

Es un método REST basado en el formato JSON. Ejemplo:

[post] http://[dirección-ip]:[puerto]/api/v1/zReport

POST - REQUEST

header

ElementoValor
x-access-token
Token obtenido a través del servicio "Authenticate"

Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

BODY

ElementoDescripciónTipo de datoRequerido
zNumberEl número de cierre Z StringSi
requestCredential
companyCodeCódigo de compañía, provisto para la empresa que contrata el servicioStringSi
storeCodeCódigo de tiendaStringSi
terminalCodeCódigo de terminal / punto de ventaStringSi

Ejemplo:

{
   "requestCredential":{
        "companyCode""tu compañía",
        "storeCode""5202",        
        "terminalCode""20"
    },
    "zNumber"144
}

RESPONSE OK

ElementoTipoDetalle

ack

Number

Valor "0"

result

Array


_id

Number


lastInvoiceNumber

Number


totalAuthorized

Number


nonTaxedAmount

Number


exemptAmount

Number


companyCode

String


storeCode

String


terminalCode

String


afipPosCode

String


invoiceType

Number


zNumber

Number


firstInvoiceNumber

Number


relatedTaxes

ARRAY


_id

String


amount

Number


baseAmount

Number


code

String


name

String


relatedOtherTaxes

ARRAY


_id

String


amount

Number


baseAmount

Number


code

String


name

String


createdAt

Date


updatedAt

Date


__v

Number


Ejemplo:

{
    "ack"0,
    "result": [
        {
            "_id""608bf5d25a446e1a90938985",
            "lastInvoiceNumber"1,
            "totalAuthorized"1,
            "taxedAmount"59.5,
            "nonTaxedAmount"0,
            "exemptAmount"0,
            "companyCode""testqa",
            "storeCode""1001",
            "terminalCode""99999",
            "afipPosCode""14",
            "invoiceType"6,
            "zNumber"21043001,
            "firstInvoiceNumber"1,
            "relatedOtherTaxes": [],
            "relatedTaxes": [
                {
                    "baseAmount"59.5,
                    "amount"12.5,
                    "_id""608bf5c65a446e1a9093897e",
                    "code""5",
                    "name""IVA 21%"
                }
            ],
            "createdAt""2021-04-30T12:19:30.059Z",
            "updatedAt""2021-04-30T12:19:30.059Z",
            "__v"0
        },
        {
            "_id""608c0e8c5a446e1a90938d4c",
            "lastInvoiceNumber"6,
            "totalAuthorized"1,
            "taxedAmount"29376.26,
            "nonTaxedAmount"0,
            "exemptAmount"0,
            "companyCode""testqa",
            "storeCode""1001",
            "terminalCode""99999",
            "afipPosCode""17",
            "invoiceType"1,
            "zNumber"21043001,
            "firstInvoiceNumber"6,
            "relatedOtherTaxes": [
                {
                    "baseAmount"13042,
                    "amount"391.26,
                    "aliquot"0,
                    "_id""608c0e775a446e1a90938d40",
                    "code""6",
                    "name""02-RG 2408/08 3%"
                },
                {
                    "baseAmount"16313.33,
                    "amount"244.7,
                    "aliquot"0,
                    "_id""608c0e765a446e1a90938d3f",
                    "code""6",
                    "name""03-RG 2408/08 1.5%"
                },
                {
                    "baseAmount"17875.56,
                    "amount"160.88,
                    "aliquot"0,
                    "_id""608c0e765a446e1a90938d3e",
                    "code""7",
                    "name""05-Per.IIBB Bs.As."
                },
                {
                    "baseAmount"17875,
                    "amount"178.75,
                    "aliquot"0,
                    "_id""608c0e765a446e1a90938d3d",
                    "code""7",
                    "name""05-Per.IIBB Capital"
                },
                {
                    "baseAmount"1424.31,
                    "amount"386.75,
                    "aliquot"0,
                    "_id""608c0e765a446e1a90938d3c",
                    "code""4",
                    "name""Impuestos Internos"
                }
            ],
            "relatedTaxes": [
                {
                    "baseAmount"13042.07,
                    "amount"2738.84,
                    "_id""608c0e765a446e1a90938d3b",
                    "code""5",
                    "name""IVA 21%"
                },
                {
                    "baseAmount"16313.66,
                    "amount"1712.93,
                    "_id""608c0e765a446e1a90938d3a",
                    "code""4",
                    "name""IVA 10.5%"
                },
                {
                    "baseAmount"20.53,
                    "amount"0,
                    "_id""608c0e765a446e1a90938d39",
                    "code""3",
                    "name""IVA 0%"
                }
            ],
            "createdAt""2021-04-30T14:05:00.122Z",
            "updatedAt""2021-04-30T14:05:00.122Z",
            "__v"0
        },
        {
            "_id""608c0bf85a446e1a90938bfa",
            "lastInvoiceNumber"1,
            "totalAuthorized"1,
            "taxedAmount"1334.34,
            "nonTaxedAmount"0,
            "exemptAmount"0,
            "companyCode""testqa",
            "storeCode""1001",
            "terminalCode""99999",
            "afipPosCode""17",
            "invoiceType"6,
            "zNumber"21043001,
            "firstInvoiceNumber"1,
            "relatedOtherTaxes": [],
            "relatedTaxes": [
                {
                    "baseAmount"780.04,
                    "amount"163.81,
                    "_id""608c0be25a446e1a90938bf1",
                    "code""5",
                    "name""IVA 21%"
                },
                {
                    "baseAmount"554.3,
                    "amount"58.2,
                    "_id""608c0be25a446e1a90938bf0",
                    "code""4",
                    "name""IVA 10.5%"
                }
            ],
            "createdAt""2021-04-30T13:54:00.088Z",
            "updatedAt""2021-04-30T13:54:00.088Z",
            "__v"0
        }
    ]
}

RESPONSE ERROR

ElementoTipoDetalle
ackNumber
messageStringDetalle del error.

Ejemplo:

{
    "ack"2005,
    "message""Access token does not exists"
}



  • Sem rótulos