Cliente Cobol para Enviar Boleta Electrónica usando AppDTE API

 

Ejemplo de cliente en COBOL:

Este ejemplo muestra cómo consumir el endpoint REST de AppDTE desde un cliente Cobol. El servicio permite enviar un DTE tipo 39 (boleta electrónica).


IDENTIFICATION DIVISION. PROGRAM-ID. HttpRequest. DATA DIVISION. WORKING-STORAGE SECTION. 01 RESPONSE-CODE PIC 9(03). 01 RESPONSE-BODY PIC X(5000). 01 HTTP-REQUEST-BODY. 05 FILLER PIC X(5000). 01 URL PIC X(100) VALUE "http://localhost:8080/AppDTEWS/api/sendDTE". 01 JSON-DATA. 05 FILLER PIC X(1000) VALUE '{ "emisor": { "rutemisor": "76040308-3", "rznsoc": "EGGA INFORMATICA E.I.R.L", "giroemis": "VENTA AL POR MENOR EN COMERCIOS ESPECIAL", "acteco": "107100", "dirorigen": "RAFAEL CASANOVA 297", "cmnaorigen": "SANTA CRUZ", "ciudadorigen": "SANTA CRUZ", "fchresol": "2016-04-25", "nroresol": "0", "cdgsiisucur": "1" }, "receptor": { "rutrecep": "9375855-2", "rznsocrecep": "LUZMIRA CESPEDES NAVARRO", "girorecep": "PROVISIONES", "dirrecep": "ADRIANO DIAZ 560", "cmnarecep": "Santa Cruz", "ciudadrecep": "Santa Cruz", "rutcaratula": "60803000-K" }, "iddoc": { "tipodte": "39", "folio": "1", "fchemis": "2025-03-13", "indservicio": "3", "indmntneto": "2" }, "totales": { "mntneto": "15126", "iva": "2874", "tasaiva": "19", "mnttotal": "18000" }, "detalle": [ { "nrolindet": "1", "cdgitem": [ { "tpocodigo": "INT", "vlrcodigo": "01001" } ], "unmditem": "UN", "nmbitem": "PAN CORRIENTE", "qtyitem": "10", "prcitem": "1800", "descuentopct": "0", "descuentomonto": "0", "indexe": "0", "montoitem": "18000" } ], "usuario": { "login": "eguenul", "rut": "13968481-8", "password": "amulen1956" } }'. PROCEDURE DIVISION. DISPLAY "Enviando datos al API...". CALL 'HTTP-POST' USING URL JSON-DATA RESPONSE-CODE RESPONSE-BODY. DISPLAY "Código de respuesta: " RESPONSE-CODE. DISPLAY "Cuerpo de respuesta: " RESPONSE-BODY. STOP RUN.

Explicación del código:

  1. Definición de variables: Se define JSON-DATA que contiene el cuerpo del JSON con los datos para enviar a la API.

  2. Llamada HTTP: CALL 'HTTP-POST' USING ... es una llamada ficticia que representa el proceso de enviar una solicitud HTTP POST. Tendrás que adaptar esta llamada a tu entorno COBOL, ya sea mediante una llamada a una biblioteca externa o usando un software de integración.

  3. Respuesta: Se muestran el código de respuesta HTTP y el cuerpo de la respuesta.

Notas importantes:

  1. Biblioteca externa para HTTP: COBOL por sí mismo no tiene soporte directo para hacer solicitudes HTTP. La forma más común de hacerlo es usando CICS o interfaces como SOAP o REST en servidores que soporten COBOL.

  2. Configuración del entorno: Asegúrate de tener configurado un entorno que soporte la comunicación HTTP, como un servidor CICS o cualquier otro middleware que se encargue de manejar las solicitudes HTTP en COBOL.

Si estás utilizando un entorno más moderno o un sistema COBOL que permita la integración con tecnologías como Java o Python, podrías hacer la solicitud HTTP desde esos lenguajes y luego integrar la respuesta con COBOL.

Comentarios

Entradas populares de este blog

Creación de un DTE de boleta electrónica usando AppDTE Api:

Guía de Consulta de DTE

USANDO XMLSEC PARA FIRMAR ARCHIVOS XML