ÍNDICE

  1. Visión general
  2. Ejemplo de utilización
  3. Principales campos y parámetros 
  4. Configuración del entorno Protheus Rest
  5. Tablas utilizadas


01. VISIÓN GENERAL

Modelo de datos que se seguirá para consumo de la API Balance parcial Modelo1 (CTBR040) vía Smartlink.

IMPORTANTE

Incluir la configuración únicamente en el entorno que esté en producción.

Las bases de pruebas que estén configuradas con el Smartlink interceptarán mensajes de la cola de la misma manera que la base de producción, haciendo que la grabación o devolución de los datos se ejecute en la base de pruebas. 

02. EJEMPLO DE UTILIZACIÓN

El envío de datos debe realizarse vía SmartLink utilizando el  Estándar CloudEvents/Modo Estructurado para envío de mensajes en el formato Json, de acuerdo con el siguiente modelo:

Parámetros de la propiedad "data" deben enviarse de acuerdo con la documentación API balance parcial modelo1.

Json de envío balance parcial contable
{
    "specversion": "1.0",
    "type": "PrtBalanRead",
    "tenantId": "d87804f9-xxxx-xxxx-9393-fe9ef0d13c10", /// tenant del cliente   
    "generatedOn": "2021-06-08T15:18:08.367574Z",
	"id": "CÓDIGO IDENTIFICADOR DEL MENSAJE",
    "data": {
        "RCPJ":"53113791",
        "FECHA_INICIAL": "01/01/2023",
        "FECHA_FINAL": "31/12/2023", 
    }
}



Formato de respuesta:

Ejemplo de respuesta
{
    "specversion": "1.0",
    "time": "2022-10-18T11:04:03-03:00",
    "type": "PrtBalanResp",        
	"tenantId": "d87804f9-xxxx-xxxx-9393-fe9ef0d13c10", /// tenant del cliente  
 	"id": "CÓDIGO IDENTIFICADOR DEL MENSAJE",
    "data": {
    	"items": [
        	{
            	"cuenta": "CTBXATUC",
            	"condición_normal": "2",
            	"superior": "",
            	"clase": "2",
            	"modalidad": "01",
            	"descripción": "REAL",
            	"saldo_anterior": 0,
            	"débito": 0,
            	"crédito": 1600.6,
            	"saldo_actual": 1600.6,
            	"movimiento": 1600.6,
            	"cuenta_referencial": "",
            	"descripción_referencial": ""
        	}
    	],
    "hasNext": false,
    "remainingRecords": 0,
    "po_sync_date": "2023-09-29T19:13:15Z"
} }

OBS: Si hubiera algún error, la propiedad "error" se devolverá:

Ejemplo de respuesta
{
    "specversion": "1.0",
    "time": "2022-10-18T11:04:03-03:00",
    "type": "PrtBalanResp",
	"tenantId": "d87804f9-xxxx-xxxx-9393-fe9ef0d13c10", /// tenant del cliente   
 	"id": "CÓDIGO IDENTIFICADOR DEL MENSAJE",
    "fecha": {
		"error":"Host not found."
    } 
}

OBS: Error: no se encontró servidor Rest, verifique si se inició el servicio Rest.

03. Principales campos y parámetros

Los campos y parámetros deben pasarse de acuerdo con el estándar Estándar CloudEvents/Modo Estructurado . El contenido de la propiedad data:{} debe enviarse de acuerdo con la documentación: documentación API balance parcial modelo1.

04. Configuración del entorno Protheus Rest

El sistema llamará a la api con base en los parámetros configurados en el appserver.ini, de acuerdo con el siguiente modelo:


Para el modelo anterior, la requisición se dirigirá a la dirección :  http://localhost:9090/api/ctb/balance/model1

Observaciones: 

  1.  El sistema buscará la tag HTTPREST, consultará el parámetro URIs para encontrar la tag que define el camino del servidor Rest en el caso anterior:  URL=/rest
  2.  El sistema buscará el puerto configurado en la tag HTTPREST para montar la consulta api.
  3.  Si las tags y parámetros no existieran o no estuvieran configuradas, la devolución para la llamada será de 404 not found, porque el sistema no encontrará la api para consulta.


Importante:

En casos donde el security = 1, la api debe agregarse a la lista de excepciones, de acuerdo con el siguiente modelo.

05.TABLAS UTILIZADAS


  • CT1- Plan de cuentas
  • CQ0- Saldo por cuenta en el mes
  • CQ1- Saldo por cuenta en el día        
  • CVN - Plan de cuentas referencial
  • CVD - Plan de cuentas referenciales  
  • CTG - Calendario contable