====== Fábrica - Servicios Web - Integraciones - SicofWS ====== Este servicio expone las siguientes operaciones que afectan Sicof ERP: ^Method^Path^Description^ |Get|/|Verifica el estado del servicio| |Post|/facturacion|Generación de facturas (Cuentas por Cobrar)| |Post|/recaudo|Generación de recaudos(Comprobantes de Ingresos)| |Post|/cambioId|Actualiza la identificación de los tercero| |Get|/tercero/search|Realiza la búsqueda de un tercero por medio de su Nit| |Post|/tercero/guardarTercero|Crea la creación de terceros por medio de un listado de estudiantes| |Get|/factura/search|Realiza la búsqueda de facturas por medio de su referencia| |Get|/plantilla/search|Realiza la búsqueda de plantillas por medio de su código| ===== Descripción del Servicio ===== ^Nombre^Descripción^Tipo Servicio^Tecnología^Lenguaje^Tipo Desarrollo^Versión Desarrollo^Archivo de Configuración^ |SicofWS|Servicios Web backend para la creación/actualización de terceros, creación facturas y recaudos.|Rest|SpringBoot 1.5.2|Java 1.8|Mantenimiento|8.0.1.2|application.properties| ^Tipo Empaquetado^Gestor de Dependencias^Servidor de Despliegue^IDE Proyecto^Tipo Repositorio^Url Desarrollo^Url Calidad^Url Producción^ |war|Maven 3.8.1|Tomcat 6|SpringTools 4.11|Subversión| |[[http://adacsc.co:1443/svn/repository/ADA/BOTON_PAGOS_AMVA/Trunk/sicofws|SVN trunk]]| | ^Dependencias^^^^^^^^ ^groupId^artifactId^^version^scope^optional^Descripción^^ |com.zaxxer|HikariCP||compile|N/A|N/A|Gestiona el pool de conexiones|| |org.springframework.boot|spring-boot-starter-jersey||N/A|N/A|N/A|JAX-RS|| |org.springframework.boot|spring-boot-starter-data-jpa||N/A|N/A|N/A|API de persistencia|| |org.springframework.boot|spring-boot-starter-data-rest||N/A|N/A|N/A|API de mapeo de rutas|| |org.springframework.boot|spring-boot-starter-web||N/A|N/A|N/A|Core Servicios Web|| |org.springframework.boot|spring-boot-starter-web-services||N/A|N/A|N/A|Core Servicios Web|| |org.springframework.boot|spring-boot-devtools||N/A|runtime|true|Recarga de aplicaciones|| |junit|junit||N/A|test|N/A|Pruebas Unitarias|| |com.oracle.database.jdbc|ojdbc8||19.10.0.0|N/A|N/A|API JDBC para conexión a Base de Datos|| |org.springframework.boot|spring-boot-starter-tomcat||N/A|provided|N/A|Core Spring|| |org.apache.maven.plugins|maven-compiler-plugin||3.8.1|N/A|N/A|Gestor de dependnecias|| ^Operaciones^^^^^^^^ ^Tipo Petición Http^Nombre operación^^Descripción^^^Documentación^^ |Get|/||Verifica el estado del servicio||| || |Post|/facturacion||Generación de facturas (Cuentas por Cobrar)||| || |Post|/recaudo||Generación de recaudos(Comprobantes de Ingresos)||| || |Post|/cambioId||Actualiza la identificación de los tercero||| || |Get|/tercero/search||Realiza la búsqueda de un tercero por medio de su Nit||| || |Post|/tercero/guardarTercero||Crea la creación de terceros por medio de un listado de estudiantes||| || |Get|/factura/search||Realiza la búsqueda de facturas por medio de su referencia||| || |Get|/plantilla/search||Realiza la búsqueda de plantillas por medio de su código||| || ^Ambientes de Despliegue^^^^^^^^ ^Tipo^Url^^Observaciones^^^^^ |Desarrollo:|http://localhost:8080/sicofws||Ambiente de desarrollo||||| |Calidad:| ||Ambiente de validación||||| |Producción:| ||Ambiente de producción||||| ===== Información Adicional ===== ===== Despliegue ===== ==== Requisitos Técnicos Servidor ==== * Servidor tomcat 6 o superior * Java 1.8 * S.O. Linux * Ram 4GB o superior * Disco Duro 64 GB * Publicar la URL y Puerto del tocamt ==== Pasos Previos: Generar war (IDE Eclipse y Spring Tools) ==== El proyecto está configurado para generar compilable war. Siga los siguientes pasos para generarlo((Se asume que el lector tiene conocimeintos previos del uso del lenguaje Java e IDE utilizado)). * Ubiquese en la reaíz del proyecto, click derecho -> Run as... -> Maven builds... * En la casilla **Goals** ingrese el comando: **clean install** para generar el war. Tambien puede utilizar en su lugar la instrucción **clean install -DskipTests** si no desea ejecutar las pruebas unitarias. * Al finalizar el proceso si no hay errores se generará el war en el directorio target del proyecto. === Nota === Para ubicar el war en el directorio del equipo desde el proyecto seleccione el war con click derecho y vaya a propiedades al visualizar la ventana emergente se verá la ubicación del archivo. ==== Despliegue en el servidor ==== - Realizar bacKup del artefacto actual sicofws.war - Apagar el servicio tomcat y se elimina el war y sus dependencias. - Se copia el nuevo war (sicofws.war ) a la carpeta webapps del Tomcat. - Iniciar nuevamente el Servicio de Tomcat. - Se realizan las validaciones de los servicios desplegados, se debe realizar prueba en un navegador dentro de la misma red con la siguiente URL {ip}:{puerto}/sicofws/ y esto responderá como se aprecia en la imagen a continuación: {{ :ada:howto:sicoferp:factory:integrations:despliegue_sicofws.png?600 |}} ==== Consideraciones ==== Tener presente que cada vez que se realice un cambio en la base de datos que altere estructuras que son consumidas por el servicio. Este debe reiniciarse para que tome los cambios. ===== Notas de Versión ===== ==== Actualización 02/09/2021 -> 8.0.1.1 ==== Se adiciona campo tipo en la factura. { "consecutivo":"7", "estado":"A", "descripcion":"prueba 4 ws sicof factura 2 conceptos tipo sa01", "tipo" : "CXCP",//Nuevo Campo "facturas": [ { "codigoConcepto" : "AD36" , "valor" :"100", "nit":"1193474508", "centroCostos":"55301", "fechaPago":"30/09/2021", "descripcion" : "descrip concepto1 ", "seq" : "1", "seqRef" : "1", "referencia": "56563" }, { "codigoConcepto" : "AD36" , "valor" :"200", "nit":"1193474508", "centroCostos":"55301", "fechaPago":"30/09/2021", "descripcion" : "descrip concepto2 ", "seq" : "2", "seqRef" : "1", "referencia": "56563" } ] } ==== Actualización 19/11/2021 -> 8.0.1.2 ==== Se adicionan campos en la creación del tercero para el proceso de factura electrónica. [ { "nit" : "10262771440", "tipoDocumento": "1", "apellido1": "PALACINO", "apellido2": "VARGAS", "nombre1": "JHON", "nombre2": "ALEXANDER", "direccion": "CLL 54 C SUR 88 I 71 ", "codCiudad": "001", "codDepartamento": "50", "telefono": "3144518117", "email": "jhonpalacino0222@gmail.com", "tipoPersona": "1", "regimen": "N", "tipoVinculo": 29, "codPaisIso":"CO",//Nuevo Campo Código ISO 3611-1 "fePostalZone": "500001",//Nuevo Campo Código Postal Colombia "feFiscalResponsability": "R-99-PN"//Nuevo Campo Responsabilidad Fiscal Anexo 1.8 } ] === Nuevos Campos === ^Http^Path^Nombre^Tipo de Dato^Requerido^Valor por Defecto^Reglas de Validaciones^ |Post|/tercero/guardarTercero|codPaisIso|String|No|CO|Si el campo es nulo o vacio se asumira el valor "CO". Si el código ISO no existe se cancela el proceso. Se debe enviar un código ISO válido el cual esta descrito en el anexo 1.8 de factura electrónica de la DIAN tabla 13.4.1. Países (ISO 3166‐1): cbc:IdentificationCode Sección Códigos Geográficos| |Post|/tercero/guardarTercero|fePostalZone|String|No|Ninguno|Este campo no aplica reglas de validación| |Post|/tercero/guardarTercero|feFiscalResponsability|String|No|Ninguno|Si el campo es nulo o vacio se asumira el valor "R-99-PN". Los valores que se pueden enviar estan descritos en el anexo 1.8 de factura electrónica de la DIAN tabla 13.2.6. Responsabilidades fiscales| === Nuevo Código de Errores === Se adicionan los siguientes códigos de errores: ^Http^Path^Código de Error^Descripción^Solución^ |Post|/tercero/guardarTercero|1210|Código ISO del país vacío|El Servicio por defecto asumirá el código "CO" para identificar el país Colombia. Se debe enviar un código ISO válido el cual esta descrito en el anexo 1.8 de factura electrónica de la DIAN tabla 13.4.1. Países (ISO 3166‐1): cbc:IdentificationCode Sección Códigos Geográficos| |Post|/tercero/guardarTercero|1211|No existe el Código ISO del país|El servicio cancela el proceso. Se debe enviar un código ISO válido el cual esta descrito en el anexo 1.8 de factura electrónica de la DIAN tabla 13.4.1. Países (ISO 3166‐1): cbc:IdentificationCode Sección Códigos Geográficos| |Post|/tercero/guardarTercero|1212|Responsabilidad Fiscal vacía|El Servicio por defecto asumirá la responsabilidad "R-99-PN". Los valores que se pueden enviar estan descritos en el anexo 1.8 de factura electrónica de la DIAN tabla 13.2.6. Responsabilidades fiscales| ==== Actualización 17/07/2022 -> 8.0.1.3 ==== Se adicionan control de campo requerido celular e inicialización del tipo de operacion con valor por defecto 10 en la creación del tercero para el proceso de factura electrónica. [ { "nit" : "10262771440", "tipoDocumento": "1", "apellido1": "PALACINO", "apellido2": "VARGAS", "nombre1": "JHON", "nombre2": "ALEXANDER", "direccion": "CLL 54 C SUR 88 I 71 ", "codCiudad": "001", "codDepartamento": "50", "telefono": "3144518117", "celular": "3144518117", "email": "jhonpalacino0222@gmail.com", "tipoPersona": "1", "regimen": "N", "tipoVinculo": 29, "codPaisIso":"CO",//Nuevo Campo Código ISO 3611-1 "fePostalZone": "500001",//Nuevo Campo Código Postal Colombia "feFiscalResponsability": "R-99-PN"//Nuevo Campo Responsabilidad Fiscal Anexo 1.8 "feOperationType": "10"//Nuevo Campo Tipo operación valor por defecto 10 } ] === Actualización Campo === ^Http^Path^Nombre^Tipo de Dato^Requerido^Valor por Defecto^Reglas de Validaciones^ |Post|/tercero/guardarTercero|Celular|String|Si|N/A|Si el campo es nulo o vacio se cancela el proceso y se visualiza mensaje con código de error 1213.| === Nuevo Campo === ^Http^Path^Nombre^Tipo de Dato^Requerido^Valor por Defecto^Reglas de Validaciones^ |Post|/tercero/guardarTercero|feOperationType|String|No|10|Si el campo es nulo o vacio se asumira el valor "10".| === Nuevo Código de Error (17/07/2022) === Se adicionan los siguientes códigos de errores: ^Http^Path^Código de Error^Descripción^Solución^ |Post|/tercero/guardarTercero|1213|Celular vacío|El Servicio fallará la creación del tercero si no ingresa infromación en la columna celular.| ===== Probar Servicio ===== Se recomienda utilizar la herramienta Postman por su facilidad de uso. Ver guia rápida [[:ada:howto:sicoferp:factory:integrations#Testando Servicio con Postman (Web)|Testando Servicio con Postman (Web)]] Agregue un request y registre el servicio segu la imagen {{ :ada:howto:sicoferp:factory:integrations:guardartercero001.png?600 |}} Si el consumo es correcto se visualiza una respuesta como muestra la imagen {{ :ada:howto:sicoferp:factory:integrations:guardartercero002.png?600 |}} Si es errrado se visualiza una respuesta como muestra la imagen {{ :ada:howto:sicoferp:factory:integrations:guardartercero003.png?600 |}} [[ada:howto:sicoferp:factory:integrations|←Volver atrás]]