Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
ada:howto:sicoferp:factory:integrations:sicofws [2021/11/19 16:25] administraidor creado |
ada:howto:sicoferp:factory:integrations:sicofws [2023/04/28 21:31] (actual) 192.168.175.59 [Consideraciones] |
||
---|---|---|---|
Línea 16: | Línea 16: | ||
^Nombre^Descripción^Tipo Servicio^Tecnología^Lenguaje^Tipo Desarrollo^Versión Desarrollo^Archivo de Configuración^ | ^Nombre^Descripción^Tipo Servicio^Tecnología^Lenguaje^Tipo Desarrollo^Versión Desarrollo^Archivo de Configuración^ | ||
- | |SicofWS|Servicio que provee las funcionalidades soportadas en la app mobile de Sicof ERP.|Rest|SpringBoot 2.5.5|Java 11.0.315|Migrado de JSP|11.0.1.0|application.properties| | + | |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^ | ^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.6|Subversión|[[http://adacsc.co:1443/svn/repository/ADA/SICOFERP/fuentes/branches/development/integracion/SicofMobileServiceADA | + | |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]]| | |
- | |SVN branches]]|[[|SVN trunk]]|[[|SVN tags]]| | + | |
^Dependencias^^^^^^^^ | ^Dependencias^^^^^^^^ | ||
^groupId^artifactId^^version^scope^optional^Descripción^^ | ^groupId^artifactId^^version^scope^optional^Descripción^^ | ||
- | |org.springframework.boot|spring-boot-starter-actuator||N/A|N/A|N/A|API de actualización del servicio|| | + | |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-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-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||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|| | |org.springframework.boot|spring-boot-devtools||N/A|runtime|true|Recarga de aplicaciones|| | ||
- | |org.projectlombok|lombok||N/A|N/A|true|API de anotaciones para reducción de código|| | + | |junit|junit||N/A|test|N/A|Pruebas Unitarias|| |
- | |org.springframework.boot|spring-boot-starter-test||N/A|test|N/A|Core Springboot|| | + | |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-data-jdbc||N/A|N/A|N/A|API JDBC para conexión a Base de Datos|| | + | |
- | |org.apache.tomcat.embed|tomcat-embed-jasper||N/A|provided|N/A|Servidor embebido tomcat|| | + | |
|org.springframework.boot|spring-boot-starter-tomcat||N/A|provided|N/A|Core Spring|| | |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|| | |org.apache.maven.plugins|maven-compiler-plugin||3.8.1|N/A|N/A|Gestor de dependnecias|| | ||
- | |io.springfox|springfox-swagger2||2.9.2|N/A|N/A|Core Documentación Web Services RESTful|| | ||
- | |io.springfox|springfox-swagger-ui||2.9.2|N/A|N/A|GUI Documentación Web Services RESTful|| | ||
^Operaciones^^^^^^^^ | ^Operaciones^^^^^^^^ | ||
^Tipo Petición Http^Nombre operación^^Descripción^^^Documentación^^ | ^Tipo Petición Http^Nombre operación^^Descripción^^^Documentación^^ | ||
- | |Get|GetServicio||Método orquestador que procesa las peticiones de las funcionalidades soportadas.|||La documentación del consumo se debe consultar.|| | + | |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^^^^^^^^ | ^Ambientes de Despliegue^^^^^^^^ | ||
^Tipo^Url^^Observaciones^^^^^ | ^Tipo^Url^^Observaciones^^^^^ | ||
- | |Desarrollo:|http://10.1.20.84:3131/SicofMobileServiceADA/api/||Ambiente de desarrollo||||| | + | |Desarrollo:|http://localhost:8080/sicofws||Ambiente de desarrollo||||| |
|Calidad:| ||Ambiente de validación||||| | |Calidad:| ||Ambiente de validación||||| | ||
|Producción:| ||Ambiente de producción||||| | |Producción:| ||Ambiente de producción||||| | ||
Línea 52: | Línea 56: | ||
==== Requisitos Técnicos Servidor ==== | ==== Requisitos Técnicos Servidor ==== | ||
- | * Servidor Wildlfy 20 o superior | + | * Servidor tomcat 6 o superior |
- | * Java 11 o OpenJDK 11 | + | * Java 1.8 |
* S.O. Linux | * S.O. Linux | ||
* Ram 4GB o superior | * Ram 4GB o superior | ||
* Disco Duro 64 GB | * Disco Duro 64 GB | ||
- | * Publicar la URL y Puerto del WildFly | + | * Publicar la URL y Puerto del tocamt |
==== Pasos Previos: Generar war (IDE Eclipse y Spring Tools) ==== | ==== Pasos Previos: Generar war (IDE Eclipse y Spring Tools) ==== | ||
Línea 63: | Línea 67: | ||
* Ubiquese en la reaíz del proyecto, click derecho -> Run as... -> Maven builds... | * 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 insttrucción **clean install -DskipTests** si no desea ejecutar las pruebas unitarias. | + | * 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. | * Al finalizar el proceso si no hay errores se generará el war en el directorio target del proyecto. | ||
Línea 70: | Línea 74: | ||
==== Despliegue en el servidor ==== | ==== Despliegue en el servidor ==== | ||
- | Actualmente solo hay servidor de desarrollo: | + | - 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: | ||
- | - Acceder al servidor de despliegue por WSCP o SSH: IP: **10.1.20.84**, Usuario:**wildfly23**, Password:**vwdf5ELGR5j7v** | + | {{ :ada:howto:sicoferp:factory:integrations:despliegue_sicofws.png?600 |}} |
- | - Borre el archivo SicofMobileServiceADA.war y espere que el archivo de despliegue quede inválido. | + | |
- | - Borre el archivo de despliegue SicofMobileServiceADA.war.undeploy | + | |
- | - Copie el nuevo war en la ruta **/opt/wildfly23/standalone/deployments** se recomienda utilizar WSCP por su interfaz gráfica. Debe esperar mientras se sube el despliegue al servidor el cual terminará correctamente si se crea el archivo SicofMobileServiceADA.war.deployed Si falla este proceso debe ir al paso 2. | + | |
- | - Por último desde un navegador ingrese la url **http://10.1.20.84:3131/SicofMobileServiceADA/api/** y debera visualizar el mensaje **Online!!!** indicando que el despliegue fué realizado correctamente. | + | |
- | === Notas === | + | ==== 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. | ||
+ | |||
+ | <code java> | ||
+ | { | ||
+ | "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" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 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. | ||
+ | <code java> | ||
+ | [ | ||
+ | { | ||
+ | "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 | ||
+ | } | ||
+ | ] | ||
+ | </code> | ||
+ | |||
+ | === 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. | ||
+ | |||
+ | <code java> | ||
+ | [ | ||
+ | { | ||
+ | "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 | ||
+ | } | ||
+ | ] | ||
+ | </code> | ||
+ | |||
+ | === 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 |}} | ||
- | * Debe contar con VPN | ||
- | * Ejemplo de Consumo Login Multiempresa: http://10.1.20.84:3131/SicofMobileServiceADA/api/GetServicio?ping=desarrollo&nombreServicio=Login&callback=__ng_jsonp__.__req0.finished&separador=,¶metros=SICOF,1234,null,null,null&codigoMEmpresa=9999999999 | ||
- | * Ejemplo de consumo Empresas: http://10.1.20.84:3131/SicofMobileServiceADA/api/GetServicio?ping=fosemed&nombreServicio=GetEmpresas&callback=__ng_jsonp__.__req0.finished&separador=,¶metros= | ||
[[ada:howto:sicoferp:factory:integrations|←Volver atrás]] | [[ada:howto:sicoferp:factory:integrations|←Volver atrás]] | ||