====== Fábrica - Integraciones - Servicios Web - Portal Contribuyente ====== Servicio transaccional para el manejo de consultas, usuarios, parámetros, etc. del Portal del Contribuyente. ===== Descripción del Servicio ===== ^Nombre^Descripción^Tipo Servicio^Tecnología^Lenguaje^Tipo Desarrollo^Versión Desarrollo^Archivo de Configuración^ |Ada|Funcionalidad exponer microservicios para gestión de parámetros|Rest|RESTFull|Java 11.0.315|Nuevo|0.0.1-SNAPSHOT|configuration.properties| ^Tipo Empaquetado^Gestor de Dependencias^Servidor de Despliegue^IDE Proyecto^Tipo Repositorio^Url Desarrollo^Url Calidad^Url Producción^ |war|Maven 3.8.2|wildfly-18.0.1.Final|Eclipse 2019-12 (4.14.0)|Subversión |[[http://adacsc.co:1443/svn/repository/ADA/NOTIFICACION_ELECTRONICA/branches/development/enotificacion/administracion|SVN branches]]|[[|SVN trunk]]|[[http://adacsc.co:1443/svn/repository/ADA/NOTIFICACION_ELECTRONICA/Tags/1.0.0/back-end/development/enotificacion/administracion|SVN tags]]| ^Dependencias^^^^^^^^ ^groupId^artifactId^^version^scope^optional^Descripción^^ |co.ada.enotificacion|comun||0.0.1-SNAPSHOT|N/A|N/A|API de utilidades comunes en el sistema|| |co.ada.enotificacion|administracionNegocio||0.0.1-SNAPSHOT|N/A|N/A|API de utilidades comunes en el sistema|| |commons-discovery|commons-discovery||0.4|N/A|N/A|API de persistencia|| |org.mybatis|mybatis||3.1.1|N/A|N/A|API de persistencia|| |javax.faces|javax.faces-api||2.3|N/A|N/A|Recarga de aplicaciones|| ^Operaciones^^^^^^^^ ^Tipo Petición Http^Nombre operación^^Descripción^^^Documentación^^ |GET| /administracionws/consulta/parametros/todos/ ||Se encarga de la consulta de los parámetros del sismtema.|||[[#Contrato de Servicio|Ver Contrato de Servicio]]|| |GET| /administracionws/consulta/aplicaciones/todos/ ||Se encarga de la consulta de las aplicaciones del sistema.|||[[#Contrato de Servicio|Ver Contrato de Servicio]]|| |GET| /administracionws/consulta/usuarios/todos/ ||Se encarga de la consulta de los usuarios del sistema.|||[[#Contrato de Servicio|Ver Contrato de Servicio]]|| |GET| /portalws/login/ || Servicio para el inicio de sesión del usuario.|||[[#Contrato de Servicio|Ver Contrato de Servicio]]|| |POST| /portalws/factura/ ||Servicio para la consulta de las facturas activas o pagadas el usuario.|||[[#Contrato de Servicio|Ver Contrato de Servicio]]|| |POST| /portalws/acuerdos/ ||Servicio para la consulta de los acuerdos de pagos del usuario.|||[[#Contrato de Servicio|Ver Contrato de Servicio]]|| |GET| /portalws/descargar/{authorization}/{authorization2}/{fuente}/{tipo_doc} || Servicio para la descarga de documentos en formato PDF (facturas y paz y salvos).|||[[#Contrato de Servicio|Ver Contrato de Servicio]]|| |GET| /portalws/seguridad/cambio/solicitud/||Servicio para el envió del correo con el token para el cambio de contraseña.|||[[#Contrato de Servicio|Ver Contrato de Servicio]]|| |GET| /portalws/seguridad/cambio/completar/||Servicio para confirmar el cambio de contraseña.|||[[#Contrato de Servicio|Ver Contrato de Servicio]]|| ^Ambientes de Despliegue^^^^^^^^ ^Tipo^Url^^Observaciones^^^^^ |Desarrollo:| http://10.1.140.1:42002/ ||Ambiente de desarrollo||||| |Calidad:| http://10.1.140.1:42002/ ||Ambiente de validación||||| |Producción:| ||Ambiente de producción||||| ===== Información Adicional ===== ==== Contrato de Servicio ==== A continuación se presenta el contrato de servicio con las operaciones implementadas. La documentación está realizada en el estandar [[https://spec.openapis.org/oas/v3.1.0|OpenAPI V3.0.1]]. Para visualizar la documentación (Vista html) copie el código [[https://yaml.org/spec/1.2/spec.html|Yaml]] en un visor [[https://editor.swagger.io/|Swagger]]. openapi: 3.0.1 info: title: Servicio Portal del Contribuyente contact: name: ADA.S.A url: https://ada.co/ email: info@ada.co license: name: Apache License Version 2.0 version: '1.0' servers: - url: //10.1.140.1:42002/ - url: //srv-app-dev-01-wf03.adacsc.co/ tags: - name: administracion-ws description: Gestor de usuarios y parámetros - name: portal-ws description: Gestor core del portal, sesiones, consultas, pagos en línea - name: notificacion-ws description: Gestor de transacciones masivas entre el cliente y el portal - name: registro-ws description: Gestor del registro de usuarios al sistema paths: /administracionws/consulta/parametros/todos/: get: tags: - administracion-ws summary: obtenerListadoParametros operationId: obtenerListadoParametrosGET parameters: - name: authorization in: header required: true description: token de la aplicación schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Parametros' '204': description: NoContent content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' /administracionws/consulta/aplicaciones/todos/: get: tags: - administracion-ws summary: obtenerListadoAplicaciones operationId: obtenerListadoAplicacionesGET parameters: - name: authorization in: header required: true description: token de la aplicación schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Aplicaciones' '204': description: NoContent content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' /administracionws/consulta/usuarios/todos/: get: tags: - administracion-ws summary: obtenerListadoUsuarios operationId: obtenerListadoUsuariosGET parameters: - name: authorization in: header required: true description: token de la aplicación schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Usuarios' '204': description: NoContent content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' /portalws/login/: get: tags: - portal-ws summary: login operationId: loginGET parameters: - name: authorization in: header required: true description: Nombre del path del cliente, según el valor en la tabla aplicacion schema: type: string - name: usuario in: header required: true description: Cuenta de correo del usuario o nickname schema: type: string - name: password in: header required: true description: Contraseña de la cuenta de usuario schema: type: string responses: '200': description: OK headers: authorization: description: Token de sesión del usuario schema: type: string authorization_app: description: Token de la aplicación asociada al path recibido en el request schema: type: string content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' /portalws/factura/: post: tags: - portal-ws summary: consultaFacturasPortalContribuyente operationId: consultaFacturasPortalContribuyentePOST requestBody: description: Parámetros de consulta content: application/json: schema: $ref: '#/components/schemas/ConsultaInformacion' parameters: - name: authorization in: header required: true description: Token de aplicacion schema: type: string responses: '200': description: OK headers: authorization: description: Token de sesión del usuario schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/TipoNotificacionRespuestas' '204': description: No Content content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' /portalws/acuerdos/: post: tags: - portal-ws summary: consultaAcuerdosPortalContribuyente operationId: consultaAcuerdosPortalContribuyentePOST requestBody: description: Parámetros de consulta content: application/json: schema: $ref: '#/components/schemas/ConsultaInformacion' parameters: - name: authorization in: header required: true description: Token de aplicacion schema: type: string responses: '200': description: OK headers: authorization: description: Token de sesión del usuario renovado schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/TipoNotificacionRespuestas' '204': description: No Content content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' /portalws/descargar/{authorization}/{authorization2}/{fuente}/{tipo_doc}: get: tags: - portal-ws summary: descargarDocumento operationId: descargarDocumentoGET parameters: - name: authorization in: path required: true description: token de sesión de usuario schema: type: string - name: authorization2 in: path required: true description: token de único del documento schema: type: string - name: fuente in: path required: true description: token de único del documento schema: type: string - name: tipo_doc in: path required: true description: >- Indica si el documento es un paz y salvo (pyz) o un documento de cobro (fact) schema: type: string responses: '200': description: OK headers: authorization: description: Token de sesión del usuario renovado schema: type: string content: application/pdf: schema: type: object '204': description: NoContent content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' /portalws/seguridad/cambio/solicitud/: get: tags: - portal-ws summary: solicitarCambiarContrasenia operationId: solicitarCambiarContraseniaGET parameters: - name: authorization in: header required: true description: token de sesión de usuario schema: type: string - name: usuario in: header required: true description: correo electrónico o nickname schema: type: string responses: '200': description: OK headers: authorization: description: Token de sesión del usuario renovado schema: type: string content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '204': description: NoContent content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' /portalws/seguridad/cambio/completar/: get: tags: - portal-ws summary: cambiarContrasenia operationId: cambiarContraseniaGET parameters: - name: authorization in: header required: true description: token de sesión de usuario schema: type: string - name: password in: header required: true description: nuevo password schema: type: string responses: '200': description: OK headers: authorization: description: Token de sesión del usuario renovado schema: type: string content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '204': description: NoContent content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/EstadoTransaccion' components: schemas: Parametros: title: Parametros type: object properties: error: type: boolean codigoMensaje: type: string mensaje: type: string totalRegistros: type: integer payload: type: array items: $ref: '#/components/schemas/Parametro' Aplicaciones: title: Aplicaciones type: object properties: error: type: boolean codigoMensaje: type: string mensaje: type: string totalRegistros: type: integer payload: type: array items: $ref: '#/components/schemas/Aplicacion' Usuarios: title: Usuarios type: object properties: error: type: boolean codigoMensaje: type: string mensaje: type: string totalRegistros: type: integer payload: type: array items: $ref: '#/components/schemas/Usuario' TipoNotificacionRespuestas: title: TipoNotificacionRespuestas type: object properties: error: type: boolean codigoMensaje: type: string mensaje: type: string totalRegistros: type: integer payload: type: array items: $ref: '#/components/schemas/TipoNotificacionRespuesta' Parametro: title: Parametro type: object properties: id: type: integer format: int64 description: Identificador del registro nombre: type: string description: Nombre del parámetro tipo: type: string description: Tipo de parámetro valor: type: string description: Valor del parámetro descripcion: type: string description: Descripción del parámetro idAplicacion: type: integer format: int64 description: Identificador de la aplicación propietaria del parámetro Aplicacion: title: Aplicacion type: object properties: id: type: integer format: int64 description: Identificador del registro nombre: type: string description: Nombre de la aplicación o cliente token: type: string fechaVigencia: type: string format: date description: Fecha hasta la que estará vigente el acceso del cliente al portal esInterna: type: string description: Indica si la aplicación es interna o del sistema S o es un cliente N estado: type: string description: >- Indica el estado de la aplicación A, I o S (Activa, Inactiva o Suspendida) Usuario: title: Usuario type: object properties: id: type: integer format: int64 description: Identificador del registro numeroDocumento: type: string description: Número de documento del usuario nombre: type: string description: Nombre del usuario correoElectronico: type: string description: Correo electrónico del usuario. Nickname de la cuenta de usuario direccion: type: string description: Dirección física del usuario telefono: type: string description: Número telefónico principal del usuario telefonoAlterno: type: string description: Número telefónico alterno del usuario token: type: string ultimoIngreso: type: string format: date-time description: Fecha del último ingreso del usuario al sistema tokenVigencia: type: string format: date-time description: Fecha de vigencia del token de sesión aceptaNotificacionElectronica: type: boolean description: Indica si el usuario recibe notificaciones elctrónicas estado: type: string description: Indica el estado del usuario P, *, -, M, D, I, A, S, Z, R, V, O, B TipoNotificacionRespuesta: title: TipoNotificacionRespuesta type: object properties: id: type: integer format: int64 description: Identificador del registro urlPago: type: string format: url description: URL de la pasarela de pagos en línea respuestas: type: array items: $ref: '#/components/schemas/ConsultaInformacionRespuesta' ConsultaInformacionRespuesta: title: ConsultaInformacionRespuesta type: object properties: id: type: integer format: int64 description: Identificador del registro consecutivo: type: integer format: int64 description: Consecutivo del documento de cobro idDocumento: type: integer format: int64 description: Identificador del documento de cobro (id factura) idTipoNotificacion: type: integer format: int64 description: Identificador del tipo de documento idFormaPago: type: integer format: int64 description: Identificador de la forma de pago formaPago: type: string description: Forma de pago valor: type: integer format: int64 description: Valor del documento de cobro fechaElaboracion: type: string format: date description: Fecha de elaboración del documento de cobro fechaVencimiento: type: string format: date description: Fecha de vencimiento del documento de cobro token: type: string description: Token generado para la identificación segura del documento objeto: type: string description: >- Identificador del objeto conocido por el usuario (cédula catastral, placa, línea teleónica, etc.) estado: type: string description: Estado del documento de cobro (cancelado, pendiente de pago, etc.) vigencia: type: string description: Vigencia del documento de cobro, formato yyyy icono: type: string description: Imagen o ícono que representa el tipo de documento tipo: type: string description: >- Descripción del tipo de documento (Vehículo particula, Lote, Discoteca, etc.) datoAdicional: type: string description: Información adicional del objeto. Dirección, referencias, etc urlPago: type: string description: URL de pago única para este documento de cobro en referencia. urlDocumento: type: string description: URL para descargar el documento de cobro. urlPazYSalvo: type: string description: URL para descargar el documento de paz y salvo. urlResolucion: type: string description: >- URL para descargar el documento de resolución asociado a la facturación del periodo. idPazYSalvo: type: integer format: int64 description: Identificador del documento de paz y salvo deudaTotal: type: integer format: int64 description: Valor de la deuda total (Aplica para acuerdos de pago) valorPagado: type: integer format: int64 description: Valor total de los pagos anteriores (Aplica para acuerdos de pago) deudaActual: type: integer format: int64 description: Deuda total actual (Aplica para acuerdos de pago) proximoPago: type: integer format: int64 description: Valor total de los próximos pagos (Aplica para acuerdos de pago) pagos: type: array items: $ref: '#/components/schemas/ConsultaInformacionRespuestaPagos' description: Listado de pagos aplicados (Aplica para acuerdos de pago) pendientes: type: array items: $ref: '#/components/schemas/ConsultaInformacionRespuestaPendiente' description: Listado de cuotas pendientes (Aplica para acuerdos de pago) ConsultaInformacionRespuestaPagos: title: ConsultaInformacionRespuestaPagos type: object properties: id: type: integer format: int64 description: Identificador del registro idCuota: type: integer format: int64 description: Número de cuota (1, 2, 3, etc.) referencia: type: integer format: int64 description: Referencia de pago (comprobante de ingreso) fechaPago: type: string format: date description: Fecha en que se aplicó el pago valor: type: integer format: int64 description: Valor pagado ConsultaInformacionRespuestaPendiente: title: ConsultaInformacionRespuestaPendiente type: object properties: id: type: integer format: int64 description: Identificador del registro idCuota: type: integer format: int64 description: Número de cuota (1, 2, 3, etc.) fechaVencimiento: type: string format: date description: Fecha de vencimiento de la cuota valor: type: integer format: int64 description: Valor por pagar deudaTotal: type: integer format: int64 description: Deuda total al momento de la cuota valorPagado: type: integer format: int64 description: Valor pagado al momento de la cuota deudaActual: type: integer format: int64 description: Deuda actual al momento de la cuota proximoPago: type: integer format: int64 description: Valor próximos pagos al momento de la cuota ConsultaInformacion: title: ConsultaInformacion type: object properties: estado: type: string description: Estado del documento de cobro. Se aceptan sólo dos estados P o C numeroDocumento: type: string description: Número de documento del usuario vigencia: type: integer format: int64 description: Vigencia del documento de cobro EstadoTransaccion: title: EstadoTransaccion type: object properties: error: type: boolean description: >- Indica si hubo un error en el procesamiento de la solicitud del usuario codigoMensaje: type: string description: Código HTML que se generó para la respuesta de la petición mensaje: type: string description: >- Mensaje generado para informar al usuario la respuesta de su petición mensajeTecnico: type: string description: >- Mensaje técnico con el eventual error presentado generado para informar al cliente consumidor del servicio totalRegistros: type: integer description: >- Total registros devueltos en el primer arreglo de la respuesta (payload) [[ada:howto:sicoferp:factory:integrations|←Volver atrás]]