Herramientas de usuario

Herramientas del sitio


ada:sicoferp:rentas:herramientas:ws.recaudo

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
ada:sicoferp:rentas:herramientas:ws.recaudo [2026/07/16 12:18]
192.168.175.156 creado
ada:sicoferp:rentas:herramientas:ws.recaudo [2026/07/16 13:45] (actual)
192.168.175.156
Línea 1: Línea 1:
-          ​Servicio integracion Consulta y Recaudo+     ​* ​Servicio integracion Consulta y Recaudo ​*.
           ​           ​
-  Este documento detalla la especificación técnica para la integración con el servicio de consulta de facturas. ​       +  Este documento detalla la especificación técnica para la integración con el servicio de consulta de facturas .     ​
           ​           ​
-  ​## 1. Información General+  1. Información General
  
-*   **Nombre del Servicio:** `ConsultaFacturaServlet` +**  Nombre del Servicio:** `ConsultaFacturaServlet` 
-*   **Endpoint:** `/​factura/​consulta` +**   ​Endpoint:​** `/​factura/​consulta` 
-*   **Método:** `POST` +**   ​Método:​** `POST` 
-*   **Content-Type:​** `application/​json;​ charset=UTF-8` +**   ​Content-Type:​** `application/​json;​ charset=UTF-8` 
-*   **Descripción:​** Verifica la existencia, integridad y estado de una factura (vencimiento,​ pagos previos, anulación) antes de permitir un recaudo.+**   ​Descripción:​** Verifica la existencia, integridad y estado de una factura (vencimiento,​ pagos previos, anulación) antes de permitir un recaudo.
  
---- 
  
-## 2. Estructura de la Petición (Request)+ 
 + 2. Estructura de la Petición (Request)
  
 El servicio espera un cuerpo JSON con los siguientes campos obligatorios:​ El servicio espera un cuerpo JSON con los siguientes campos obligatorios:​
Línea 24: Línea 24:
 | `valor` ​      | String |    Sí     | Valor de la factura (Debe ser un número mayor a 0). | | `valor` ​      | String |    Sí     | Valor de la factura (Debe ser un número mayor a 0). |
  
-### Ejemplo de Request JSON: + 
-```json+   Ejemplo de Request JSON: 
 { {
   "​usuario":​ "​ws_recaudo",​   "​usuario":​ "​ws_recaudo",​
Línea 32: Línea 33:
   "​valor":​ "​250000"​   "​valor":​ "​250000"​
 } }
-``` 
  
---- 
  
-## 3. Estructura de la Respuesta (Response)+ 3. Estructura de la Respuesta (Response)
  
 El servicio retorna un objeto JSON con el resultado de la validación y codificación `UTF-8`. El servicio retorna un objeto JSON con el resultado de la validación y codificación `UTF-8`.
  
-### 3.1. Éxito (Código 200) +3.1. Éxito (Código 200) 
-```json+
 { {
   "​codigo":​ 200,   "​codigo":​ 200,
   "​mensaje":​ "La factura existe y se encuentra disponible para pago."   "​mensaje":​ "La factura existe y se encuentra disponible para pago."
 } }
-``` 
  
-### 3.2. Errores de Cliente (Códigos 4xx)+ 
 + 3.2. Errores de Cliente (Códigos 4xx)
 | Código | Mensaje | Razón | | Código | Mensaje | Razón |
 | :--- | :--- | :--- | | :--- | :--- | :--- |
-| **400** | "La petición no contiene información."​ | Cuerpo del POST vacío. | +| **400** | "La petición no contiene información."​ | Falta datos en el json. | 
-| **400** | "El JSON recibido no es válido."​ | Error de sintaxis en el JSON enviado. |+| **415** | "El JSON recibido no es válido."​ | Error de sintaxis en el JSON enviado. |
 | **400** | "No se han especificado..."​ | Faltan campos obligatorios en el JSON. | | **400** | "No se han especificado..."​ | Faltan campos obligatorios en el JSON. |
-| **400** | "El campo '​consecutivo/​valor'​ debe ser mayor que cero." | Validación de negocio: los números deben ser positivos. |+| **412** | "El campo '​consecutivo/​valor'​ debe ser mayor que cero." | Validación de negocio: los números deben ser positivos. |
 | **401** | "El usuario no esta autorizado..."​ | Credenciales inválidas o estado inactivo. | | **401** | "El usuario no esta autorizado..."​ | Credenciales inválidas o estado inactivo. |
 | **404** | "No se encontró una factura asociada..."​ | Factura inexistente o el valor no coincide con la base de datos. | | **404** | "No se encontró una factura asociada..."​ | Factura inexistente o el valor no coincide con la base de datos. |
Línea 61: Línea 60:
 | **422** | "La factura se encuentra vencida"​ | La fecha de vencimiento es anterior a la fecha actual. | | **422** | "La factura se encuentra vencida"​ | La fecha de vencimiento es anterior a la fecha actual. |
  
-### 3.3. Errores de Servidor (Código 500) + 3.3. Errores de Servidor (Código 500) 
-```json+
 { {
   "​codigo":​ 500,   "​codigo":​ 500,
   "​mensaje":​ "Error interno."​   "​mensaje":​ "Error interno."​
 } }
-``` 
  
---- 
  
-## 4. Lógica de Negocio y Validaciones Actualizadas+ 4. Lógica de Negocio y Validaciones Actualizadas
  
 1.  **Validación Numérica:​** Se han incorporado reglas estrictas para que `consecutivo` y `valor` sean cadenas que representen números mayores a cero. 1.  **Validación Numérica:​** Se han incorporado reglas estrictas para que `consecutivo` y `valor` sean cadenas que representen números mayores a cero.
Línea 79: Línea 76:
  
  
---- 
  
-## 5. Reglas de Negocio Aplicadas+ 5. Reglas de Negocio Aplicadas
  
 1.  **Seguridad:​** Validación de acceso idéntica al proceso de recaudo (MD5). 1.  **Seguridad:​** Validación de acceso idéntica al proceso de recaudo (MD5).
Línea 90: Línea 86:
 4.  **Validación de Fecha:** Se comprueba que la factura no haya superado su fecha de vencimiento (`fecha_vencimiento`). 4.  **Validación de Fecha:** Se comprueba que la factura no haya superado su fecha de vencimiento (`fecha_vencimiento`).
  
----        +       
           ​           ​
  
- + * Servicio Recaudo.
  
 Este documento detalla la especificación técnica para la integración con el servicio de recaudo de facturas. Este documento detalla la especificación técnica para la integración con el servicio de recaudo de facturas.
  
-## 1. Información General+ 1. Información General
  
 *   ​**Nombre del Servicio:** `RecaudoFacturaServlet` *   ​**Nombre del Servicio:** `RecaudoFacturaServlet`
-*   ​**Endpoint:​** `/factura_recaudo`+*   ​**Endpoint:​** `/factura/​recaudo`
 *   ​**Método:​** `POST` *   ​**Método:​** `POST`
 *   ​**Content-Type:​** `application/​json;​ charset=UTF-8` *   ​**Content-Type:​** `application/​json;​ charset=UTF-8`
 *   ​**Descripción:​** Servicio encargado de validar, procesar y generar comprobante y notificación de pago   para una factura específica en el sistema. *   ​**Descripción:​** Servicio encargado de validar, procesar y generar comprobante y notificación de pago   para una factura específica en el sistema.
  
---- 
  
-## 2. Estructura de la Petición (Request)+ 
 + 2. Estructura de la Petición (Request)
  
 El servicio espera un objeto JSON con los siguientes atributos: El servicio espera un objeto JSON con los siguientes atributos:
Línea 119: Línea 115:
 | `banco` ​      | String |    Sí     | Código del banco que procesa la transacción. ​    | | `banco` ​      | String |    Sí     | Código del banco que procesa la transacción. ​    |
  
-### Ejemplo de Request: +Ejemplo de Request: 
-```json+
 { {
   "​usuario":​ "​ws_recaudo_dav",​   "​usuario":​ "​ws_recaudo_dav",​
Línea 128: Línea 124:
   "​codbanco":​ "​012"​   "​codbanco":​ "​012"​
 } }
-``` 
  
---- 
  
-## 3. Estructura de la Respuesta (Response)+ 3. Estructura de la Respuesta (Response)
  
 El servicio siempre retorna un objeto JSON con un código de estado interno y un mensaje descriptivo. El servicio siempre retorna un objeto JSON con un código de estado interno y un mensaje descriptivo.
  
-### 3.1. Éxito (Código 201) + 3.1. Éxito (Código 201) 
-```json+
 { {
   "​codigo":​ 201,   "​codigo":​ 201,
Línea 143: Línea 137:
   "​comprobante":​ 1234567   "​comprobante":​ 1234567
 } }
-``` 
  
-### 3.2. Errores Comunes+ 
 +  ​3.2. Errores Comunes
 | Código | Mensaje | Razón | | Código | Mensaje | Razón |
 | :--- | :--- | :--- | | :--- | :--- | :--- |
-| **400** | "La petición no contiene información."​ | El cuerpo del POST está vacío. |+ 
 + 
 +| **415** | "El JSON recibido no es válido."​ | Error de sintaxis en el JSON enviado. | 
 +| **412** | "El campo '​consecutivo/​valor'​ debe ser mayor que cero." | Validación de negocio: los números deben ser 
 +| **400** | "La petición no contiene información."​ | Falta datos en el json. |
 | **401** | "El usuario no esta autorizado..."​ | Credenciales inválidas o estado inactivo. | | **401** | "El usuario no esta autorizado..."​ | Credenciales inválidas o estado inactivo. |
 | **404** | "No se encontró un banco..."​ | El código de banco no existe en el maestro. | | **404** | "No se encontró un banco..."​ | El código de banco no existe en el maestro. |
Línea 157: Línea 155:
 | **500** | "Error interno."​ | Error inesperado en el servidor o base de datos. | | **500** | "Error interno."​ | Error inesperado en el servidor o base de datos. |
  
---- 
  
-## 4. Flujo de Validaciones y Reglas de Negocio+ 
 + 4. Flujo de Validaciones y Reglas de Negocio
  
 1.  **Autenticación:​** Validación contra la tabla `ADMINISTRACION.usuario_servicios` con cifrado MD5. 1.  **Autenticación:​** Validación contra la tabla `ADMINISTRACION.usuario_servicios` con cifrado MD5.
Línea 172: Línea 170:
     *   Se guarda en un log el proceso de recaudo , tabla recaudo.log_pago_factura     *   Se guarda en un log el proceso de recaudo , tabla recaudo.log_pago_factura
  
---- 
  
-## 5. Especificaciones Técnicas (Stack)+ 
 + 5. Especificaciones Técnicas (Stack)
  
 *   ​**Java Versión:** 6 (JDK 1.6). *   ​**Java Versión:** 6 (JDK 1.6).
Línea 181: Línea 179:
 *   ​**Logs:​** Implementado vía `com.ada.utilidades.Log`. *   ​**Logs:​** Implementado vía `com.ada.utilidades.Log`.
  
----+
  
 > **Nota para Integradores:​** ​ > **Nota para Integradores:​** ​
Línea 189: Línea 187:
 **Content-Type:​** `application/​json;​charset=UTF-8` **Content-Type:​** `application/​json;​charset=UTF-8`
  
---- 
  
-## Parámetros de Entrada (Obligatorios) 
  
-### Seguridad+ ​Parámetros de Entrada (Obligatorios) 
 + 
 + Seguridad
 - **usuario** (string): Usuario registrado en la tabla `ADMINISTRACION.usuario_servicios` con estado activo. - **usuario** (string): Usuario registrado en la tabla `ADMINISTRACION.usuario_servicios` con estado activo.
 - **clave** (string): Contraseña del usuario (se valida con hash MD5 en base de datos). - **clave** (string): Contraseña del usuario (se valida con hash MD5 en base de datos).
  
-### Datos de Consulta+ Datos de Consulta
 - **consecutivo** (string): Identificador de la factura a consultar. - **consecutivo** (string): Identificador de la factura a consultar.
 - **valor** (string): Valor de la factura que debe coincidir exactamente con el registrado en BD. Usado para validar la factura y confirmar integridad de datos. - **valor** (string): Valor de la factura que debe coincidir exactamente con el registrado en BD. Usado para validar la factura y confirmar integridad de datos.
ada/sicoferp/rentas/herramientas/ws.recaudo.1784204305.txt.gz · Última modificación: 2026/07/16 12:18 por 192.168.175.156