¿Cómo gestionar Talonarios por API?

Esta entrada posee información técnica sobre la API especificada y está dirigido a clientes que busquen integrar el Maestro de Talonarios con otro sistema.

Pasos a seguir:

1. Obtención de token

Antes de cada solicitud se debe obtener el token de autorización, en función de las credenciales de un usuario API creado en el maestro Usuarios.

Se utiliza para generar un token de autenticación que permite poder consumir una API de Finnegans.

2. Métodos de recuperación y envío de datos a un servidor:

GET

URL:

https://api.finneg.com/api/Talonario/{codigo}?ACCESS_TOKEN={$access_token}

Parámetros:

  • ACCESS_TOKEN: Requerido. Ejemplo: “a0e172d4-e070-4346-96fa-c02a97230384”.
  • {codigo} Es el Código del registro en el maestro Talonarios.

Códigos de respuesta:

  • 200 Ok: Se devuelve la información del Proveedor.
  • 404 Solicitud incorrecta: { “error”: "Not Found: ", “status”: 404 }.
  • 500 Error interno de servidor: { “error”: “Internal Server Error: null”,“status”: 500}.

JSON proveedor

{
    "Codigo": "TLCCANJE",
    "Nombre": "TALONARIO LIQUIDACION B CANJE",
    "Descripcion": "fdsfdsfdsfsfd",
    "Activo": true,
    "Mascara": "##-########",
    "NumeroActual": "01-09551197",
    "LetrasModificableEnMascara": false,
    "TipoDocumento": 0,
    "PermiteRepetidos": 0,
    "Modo": 2,
    "ExcluirAnulados": false,
    "UtilizaIdentificacionImpositiva": true,
    "ComprobanteTipoImpositivoCodigo": "033",
    "MotivoDefaultCodigo": null,
    "UtilizaDefault": 0,
    "CAINumero": "",
    "CAIFechaVto": null,
    "MetodoAutonumeracion": "1",
    "PuestoControladorFiscal": "sasaas",
    "EsControladorFiscal": true,
    "ValidaLimites": false,
    "LimiteDesde": "01-00000001",
    "LimiteHasta": "01-99999999"
}

LIST

URL:

https://api.finneg.com/api/Talonario/list?ACCESS_TOKEN={$access_token}

Respuesta

[
    {
        "activo": true,
        "codigo": "EJ-GEN",
        "descripcion": "",
        "nombre": "EJ-Talonario Genérico"
    },
    {
        "activo": true,
        "codigo": "EJ-LEG-EDIT",
        "descripcion": "",
        "nombre": "EJ-Legal Editable Compras"
    },
    {
        "activo": true,
        "codigo": "EJ-OC",
        "descripcion": "",
        "nombre": "EJ-Ordenes de Compra"
    }, ...(todos los talonarios)
]

POST

URL:

https://api.finneg.com/api/Talonario?ACCESS_TOKEN={$access_token}

Parámetros:

  • ACCESS_TOKEN: Requerido. Ejemplo: “a0e172d4-e070-4346-96fa-c02a97230384”.

Se detalla la estructura del JSON:

Campo API Descripción Tipo de dato Parámetro de ejemplo Requerido
codigo Código de Talonario string “FV-A” SI
nombre Nombre del Talonario string “Factura Venta A” SI
descripcion Descripción string “Talonario estándar A” NO
activo Estado activo/inactivo boolean TRUE NO
mascara Máscara de numeración string “A-#####-########” NO
numeroActual Número actual string “00000025” NO
letrasModificableEnMascara Permite letras editables en máscara boolean FALSE NO
tipoDocumento Tipo doc. (1=Venta / 2=Compra / 3=Recibidos / 4=Emitidos) COMBOBOX (integer) 1 NO
permiteRepetidos Permite números repetidos boolean FALSE NO
modo 0=Editable / 1=Automático / 2=Editable Sugerido / 3=Automático fuera de transacción / 4=obtener último nro de comprobante desde arca COMBOBOX (integer) 1 NO
ExcluirAnulados Permite reutilizar los números de comprobante que habían sido anulados (el campo es bstalonario.Incluiranulados) boolean FALSE NO
utilizaIdentificacionImpositiva Usa identificación impositiva boolean TRUE NO
comprobanteTipoImpositivoCodigo FK diccionario COMPROBANTETIPOIMPOSITIVO string “IVA21” NO
motivoDefaultCodigo FK diccionario MOTIVO string “VENTA_STD” NO
utilizaDefault 0=No propone / 1=Última op. del tercero / 2=Definido en talonario COMBOBOX (integer) 2 NO
caiNumero CAI string “12345678901234” NO
caiFechaVto Vencimiento CAI (ISO YYYY-MM-DD) date “2025-12-31” NO
metodoAutonumeracion Método de autonumeración string “SECUENCIAL” NO
puestoControladorFiscal Puesto controlador fiscal string “PCF-01” NO
esControladorFiscal Marca controlador fiscal boolean FALSE NO
validaLimites Valida límites de rango boolean TRUE NO
limiteDesde Límite inferior string “00000001” NO
limiteHasta Límite superior string “00099999” NO

Códigos de respuesta:

  • 200 Ok: Se devuelve el id de proveedor, un mensaje informando que se creó correctamente y el código de estado de la respuesta. Ejemplo: {
    “id”: “358e63c1cf9a0a36161aec8c49a341e3d031e34d”,
    “message”: “created”,
    “status”: 200
    }
  • 404 Solicitud incorrecta: { “error”: "Not Found: ", “status”: 404 }.
  • 500 Error interno de servidor: { “error”: “Internal Server Error: null”,“status”: 500}.

PUT

URL:

https://api.finneg.com/api/Talonario/{codigo}?ACCESS_TOKEN={$access_token}

Parámetros:

  • ACCESS_TOKEN: Requerido. Ejemplo: “a0e172d4-e070-4346-96fa-c02a97230384”.
  • {codigo} Es el Código del registro en el maestro Talonario.

Códigos de respuesta:

  • 200 Ok: Se devuelve un mensaje informando que se actualizó correctamente y el código de estado de respuesta. Ejemplo: {
    “message”: “updated”,
    “status”: 200
    }
  • 404 Solicitud incorrecta: { “error”: "Not Found: ", “status”: 404 }.
  • 500 Error interno de servidor: { “error”: “Internal Server Error: null”,“status”: 500}.

DELETE

URL: https://api.finneg.com/api/Talonario/{codigo}?ACCESS_TOKEN={$access_token}

Parámetros:

  • ACCESS_TOKEN: Requerido. Ejemplo: “a0e172d4-e070-4346-96fa-c02a97230384”.
  • {codigo} Es el Código del registro en el maestro Proveedores.

Códigos de respuesta:

  • 200 Ok: Se devuelve un mensaje informando que se eliminó correctamente y código de estado de respuesta. Ejemplo: {
    “message”: “deleted”,
    “status”: 200
    }
  • 404 Solicitud incorrecta: { “error”: "Not Found: ", “status”: 404 }.
  • 500 Error interno de servidor: { “error”: “Internal Server Error: null”,“status”: 500}.

Antes de empezar

Antes de utilizar esta API, se deben considerar algunas cuestiones que se detallan a continuación.

Definición de API

Dentro de la API en el Diccionario de APIs debe estar la información configurada de acuerdo a lo que se detalla:

  • En la solapa Definición debe indicarse todos los campos que tiene el JSON indicado más arriba.
  • En el campo Tipo debe estar el valor Entidad.
  • En el campo Entidad debe indicarse Proveedor.