From 5831a4a9bedb52e0cad8cb3cd303dd9b76bc8959 Mon Sep 17 00:00:00 2001 From: atravieso Date: Thu, 4 Dec 2025 15:37:17 -0400 Subject: [PATCH] ADD - API documentation --- pom.xml | 4 +- src/main/java/Main.java | 2 +- src/main/resources/META-INF/openapi.yaml | 1121 ++++++++++++++++++++++ src/main/resources/application.yml | 2 +- 4 files changed, 1125 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/META-INF/openapi.yaml diff --git a/pom.xml b/pom.xml index 56fa9c8..5fa04a8 100644 --- a/pom.xml +++ b/pom.xml @@ -2,8 +2,8 @@ 4.0.0 com.banesco - dom-party-routing-profile - dom-party-routing-profile + dom-party-profile + dom-party-profile dominio actualizacion de datos 1.0.0 diff --git a/src/main/java/Main.java b/src/main/java/Main.java index f9949a3..f785c6f 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -6,7 +6,7 @@ import lombok.extern.slf4j.Slf4j; @QuarkusMain public class Main { public static void main(String[] args) { - log.info("Running dom-party-routing-profile..."); + log.info("Running dom-party-profile..."); Quarkus.run(args); } } diff --git a/src/main/resources/META-INF/openapi.yaml b/src/main/resources/META-INF/openapi.yaml new file mode 100644 index 0000000..43d5e6a --- /dev/null +++ b/src/main/resources/META-INF/openapi.yaml @@ -0,0 +1,1121 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Party Profile Domain API", + "description": "API de Dominio para la actualización de datos maestros de clientes (Integración OSB/Legacy).", + "contact": { + "name": "Arquitectura de Integración" + }, + "version": "1.0.0" + }, + "servers": [ + { + "url": "https://virtserver.swaggerhub.com/aitss/dom-party-profile/1.0.0", + "description": "SwaggerHub API Auto Mocking" + } + ], + "tags": [ + { + "name": "Individual", + "description": "Operaciones para Persona Natural" + }, + { + "name": "Organization", + "description": "Operaciones para Persona Jurídica" + } + ], + "paths": { + "/individual": { + "put": { + "tags": [ + "Individual" + ], + "summary": "Actualiza perfil de Persona Natural", + "description": "Actualiza datos de un cliente natural.", + "operationId": "updateIndividualProfile", + "parameters": [ + { + "name": "X-App-ID", + "in": "header", + "description": "Identificador de la aplicación consumidora.", + "required": true, + "schema": { + "type": "string", + "example": "CHANNEL-WEB-01" + } + }, + { + "name": "X-Request-ID", + "in": "header", + "description": "Identificador único de trazabilidad.", + "required": true, + "schema": { + "type": "string", + "format": "uuid", + "example": "d290f1ee-6c54-4b01-90e6-d701748f0851" + } + }, + { + "name": "X-Client-IP", + "in": "header", + "description": "IP del cliente origen.", + "required": true, + "schema": { + "type": "string", + "example": "192.168.10.5" + } + }, + { + "name": "X-Customer-Reference", + "in": "header", + "description": "Referencia del usuario (Usuario Web, RIF o Cédula).", + "required": true, + "schema": { + "type": "string", + "example": "J-12345678" + } + } + ], + "requestBody": { + "description": "Datos a actualizar del cliente natural.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IndividualUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Actualización procesada correctamente.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LegacySuccessResponse" + } + } + } + }, + "400": { + "description": "Datos de entrada inválidos.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StandardErrorResponse" + }, + "example": { + "statusResponse": { + "status": "error", + "statusCode": "VDE01", + "message": "Error en dato de entrada obligatorio", + "traceId": "g3L3FW9vsBbAI73H213T" + } + } + } + } + }, + "404": { + "description": "Recurso no encontrado (Sin body).", + "content": { + "text/plain": { + "schema": { + "type": "string", + "example": "Not Found" + } + } + } + }, + "405": { + "description": "Método no permitido.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StandardErrorResponse" + }, + "example": { + "statusResponse": { + "status": "error", + "statusCode": "405", + "message": "Metodo no permitido", + "traceId": "0Oa5naR7nN76oMCHMXEX" + } + } + } + } + }, + "422": { + "description": "Rechazo de Negocio o Error General OSB.\nPuede retornar un Header completo (Rechazo Negocio) o reducido (Fallo Pipeline).\n", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LegacyErrorResponse" + }, + "examples": { + "BusinessReject": { + "summary": "Rechazo Funcional (Ej. 209, 072)", + "value": { + "msgHdrRs": { + "finalStatusRequest": "0002", + "countDataOut": "1", + "transactionCode": "8910", + "supervisorCode": "BAN1731S01", + "operationType": "Simple", + "transactionConsecutive": "0000", + "registryDetail": "Transaccion Rechazada", + "registerNumbers": [ + "0002" + ], + "transactionType": "0", + "requestId": "e48016d9-b41b-447b-bbf3-a6279f0d9b99", + "applicationName": "AS400" + }, + "status": { + "statusCode": "ERROR", + "statusDescription": "OPERACION FALLIDA", + "additionalStatus": [ + { + "statusType": "VB8910", + "statusCode": "209", + "statusDescription": "Transaccion Rechazada" + } + ] + } + } + }, + "OSBGeneralError": { + "summary": "Error de Pipeline OSB (StatusCode 100)", + "value": { + "msgHdrRs": { + "requestId": "e48016d9-b41b-447b-bbf3-a6279f0d9b99" + }, + "status": { + "statusCode": "100", + "statusDescription": "General Error", + "applicationName": "Pipeline$APINaturalCustomerOutAppSvc$proxy$APINaturalCustomerOutAppSvc/ValidationCanonicalResponse", + "lineNumber": 0, + "additionalStatus": [ + { + "statusCode": "OSB-382505", + "statusDescription": "OSB Validate action failed validation" + } + ] + } + } + } + } + } + } + }, + "500": { + "description": "Error interno / Uso interno.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StandardErrorResponse" + }, + "example": { + "statusResponse": { + "status": "error", + "statusCode": "500", + "message": "Uso interno", + "traceId": "GTuBZeeHtF4kShMn1oAq" + } + } + } + } + } + } + } + }, + "/organization": { + "put": { + "tags": [ + "Organization" + ], + "summary": "Actualiza perfil de Persona Jurídica", + "description": "Actualiza datos de un cliente jurídico.", + "operationId": "updateOrganizationProfile", + "parameters": [ + { + "name": "X-App-ID", + "in": "header", + "description": "Identificador de la aplicación consumidora.", + "required": true, + "schema": { + "type": "string", + "example": "CHANNEL-WEB-01" + } + }, + { + "name": "X-Request-ID", + "in": "header", + "description": "Identificador único de trazabilidad.", + "required": true, + "schema": { + "type": "string", + "format": "uuid", + "example": "d290f1ee-6c54-4b01-90e6-d701748f0851" + } + }, + { + "name": "X-Client-IP", + "in": "header", + "description": "IP del cliente origen.", + "required": true, + "schema": { + "type": "string", + "example": "192.168.10.5" + } + }, + { + "name": "X-Customer-Reference", + "in": "header", + "description": "Referencia del usuario (Usuario Web, RIF o Cédula).", + "required": true, + "schema": { + "type": "string", + "example": "J-12345678" + } + } + ], + "requestBody": { + "description": "Datos a actualizar del cliente jurídico.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrganizationUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Actualización procesada correctamente.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LegacySuccessResponse" + } + } + } + }, + "400": { + "description": "Datos de entrada inválidos.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StandardErrorResponse" + }, + "example": { + "statusResponse": { + "status": "error", + "statusCode": "VDE01", + "message": "Error en dato de entrada obligatorio", + "traceId": "g3L3FW9vsBbAI73H213T" + } + } + } + } + }, + "404": { + "description": "Recurso no encontrado.", + "content": { + "text/plain": { + "schema": { + "type": "string", + "example": "Not Found" + } + } + } + }, + "405": { + "description": "Método no permitido.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StandardErrorResponse" + }, + "example": { + "statusResponse": { + "status": "error", + "statusCode": "405", + "message": "Metodo no permitido", + "traceId": "0Oa5naR7nN76oMCHMXEX" + } + } + } + } + }, + "422": { + "description": "Error de Negocio o Rechazo OSB.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LegacyErrorResponse" + }, + "examples": { + "BusinessReject": { + "summary": "Rechazo Funcional (Ej. 209)", + "value": { + "msgHdrRs": { + "finalStatusRequest": "0002", + "requestId": "e48016d9-b41b-447b-bbf3-a6279f0d9b99" + }, + "status": { + "statusCode": "ERROR", + "statusDescription": "OPERACION FALLIDA", + "additionalStatus": [ + { + "statusType": "VB8910", + "statusCode": "209", + "statusDescription": "Transaccion Rechazada" + } + ] + } + } + }, + "OSBGeneralError": { + "summary": "Error de Pipeline OSB (StatusCode 100)", + "value": { + "msgHdrRs": { + "requestId": "e48016d9-b41b-447b-bbf3-a6279f0d9b99" + }, + "status": { + "statusCode": "100", + "statusDescription": "General Error", + "applicationName": "Pipeline$ValidationCanonicalResponse", + "lineNumber": 0, + "additionalStatus": [ + { + "statusCode": "OSB-382505", + "statusDescription": "OSB Validate action failed validation" + } + ] + } + } + } + } + } + } + }, + "500": { + "description": "Error interno.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StandardErrorResponse" + }, + "example": { + "statusResponse": { + "status": "error", + "statusCode": "500", + "message": "Uso interno", + "traceId": "GTuBZeeHtF4kShMn1oAq" + } + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "LegacySuccessResponse": { + "type": "object", + "properties": { + "msgHdrRs": { + "$ref": "#/components/schemas/MsgHdrRs" + }, + "status": { + "$ref": "#/components/schemas/LegacySuccessResponse_status" + } + } + }, + "LegacyErrorResponse": { + "type": "object", + "properties": { + "msgHdrRs": { + "$ref": "#/components/schemas/MsgHdrRs" + }, + "status": { + "$ref": "#/components/schemas/LegacyErrorResponse_status" + } + }, + "description": "Estructura para errores de negocio (VB) y respuestas del OSB." + }, + "StandardErrorResponse": { + "type": "object", + "properties": { + "statusResponse": { + "$ref": "#/components/schemas/StandardErrorResponse_statusResponse" + } + } + }, + "IndividualUpdateRequest": { + "required": [ + "individualCustomer" + ], + "type": "object", + "properties": { + "msgHdrRq": { + "$ref": "#/components/schemas/MsgHdr" + }, + "individualCustomer": { + "$ref": "#/components/schemas/IndividualUpdateRequest_individualCustomer" + } + } + }, + "OrganizationUpdateRequest": { + "required": [ + "corporateCustomer" + ], + "type": "object", + "properties": { + "msgHdrRq": { + "$ref": "#/components/schemas/MsgHdr" + }, + "corporateCustomer": { + "$ref": "#/components/schemas/OrganizationUpdateRequest_corporateCustomer" + } + } + }, + "MsgHdr": { + "type": "object", + "properties": { + "messageDate": { + "type": "string", + "format": "date", + "example": "2019-07-29" + }, + "messageTime": { + "type": "string", + "example": "14:07:01" + }, + "requestId": { + "type": "string", + "example": "e48016d9-b41b-447b-bbf3-a6279f0d9b99" + }, + "sourceChannelCode": { + "type": "string", + "example": "MGS" + }, + "supervisorCode": { + "type": "string", + "example": "BAN1731S01" + }, + "operatorCode": { + "type": "string", + "example": "BAN1731T01" + }, + "networkTrnInfo": { + "$ref": "#/components/schemas/MsgHdr_networkTrnInfo" + }, + "applicantData": { + "$ref": "#/components/schemas/MsgHdr_applicantData" + }, + "vbProtocol": { + "$ref": "#/components/schemas/MsgHdr_vbProtocol" + } + } + }, + "MsgHdrRs": { + "type": "object", + "properties": { + "requestId": { + "type": "string", + "description": "Presente en todos los casos.", + "example": "e48016d9-b41b-447b-bbf3-a6279f0d9b99" + }, + "finalStatusRequest": { + "type": "string", + "example": "2003" + }, + "countDataOut": { + "type": "string", + "example": "1" + }, + "transactionCode": { + "type": "string", + "example": "8910" + }, + "supervisorCode": { + "type": "string", + "example": "BAN1731S01" + }, + "operationType": { + "type": "string", + "example": "Simple" + }, + "transactionConsecutive": { + "type": "string", + "example": "0000" + }, + "registryDetail": { + "type": "string", + "description": "Descripciones del registro (DetailReg)", + "example": "Creacion de Cliente Persona Natural" + }, + "registerNumbers": { + "type": "array", + "example": [ + "2003" + ], + "items": { + "type": "string" + } + }, + "transactionType": { + "type": "string", + "example": "0" + }, + "applicationName": { + "type": "string", + "description": "Nombre de la aplicación Backend (AppName)", + "example": "AS400" + } + }, + "description": "Header de respuesta." + }, + "AdditionalStatusItem": { + "type": "object", + "properties": { + "statusType": { + "type": "string", + "description": "Tipo de estatus (VB o vacio)", + "example": "VB8910" + }, + "statusCode": { + "type": "string", + "description": "Códigos de Negocio (VB) documentados:\n- 072: (Cliinv) IDENTIFICACIÓN CLIENTE NO-ENCONTRADA\n- 209: (Celinv) IDENTIFICACIÓN CLIENTE NO-ENCONTRADA / Transacción Rechazada\n- 410: (ErrTipTemp) TIPO DE EMPRESA INVALIDA\n- 605: Tiene el máximo de relaciones\n- 607: (Regblo) No se pudo actualizar el registro\n- 608: Cliente no tiene direcciones electrónicas\n- OSB-XXXX: Error Técnico OSB\n", + "example": "209" + }, + "statusDescription": { + "type": "string", + "description": "StatusDesc", + "example": "Transaccion Rechazada" + } + } + }, + "ContactData": { + "type": "object", + "properties": { + "phones": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContactData_phones" + } + }, + "emails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContactData_emails" + } + } + } + }, + "LegacySuccessResponse_status": { + "type": "object", + "properties": { + "statusCode": { + "type": "string", + "example": "0001" + }, + "statusDescription": { + "type": "string", + "example": "OPERACION EXITOSA" + } + } + }, + "LegacyErrorResponse_status": { + "type": "object", + "properties": { + "statusCode": { + "type": "string", + "example": "ERROR" + }, + "statusDescription": { + "type": "string", + "example": "OPERACION FALLIDA" + }, + "applicationName": { + "type": "string", + "example": "Pipeline$APINaturalCustomerOutAppSvc..." + }, + "lineNumber": { + "type": "integer", + "example": 0 + }, + "additionalStatus": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AdditionalStatusItem" + } + } + } + }, + "StandardErrorResponse_statusResponse": { + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "error" + }, + "statusCode": { + "type": "string", + "description": "VDE01 (400), 405 (Method Not Allowed), 500 (Internal)", + "example": "VDE01" + }, + "message": { + "type": "string", + "example": "Error en dato de entrada obligatorio" + }, + "traceId": { + "type": "string", + "example": "g3L3FW9vsBbAI73H213T" + } + } + }, + "IndividualUpdateRequest_individualCustomer_person_personName": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "example": "PETER JOE" + }, + "lastName": { + "type": "string", + "example": "RUIZ" + }, + "secondLastName": { + "type": "string", + "example": "MANRIQUE" + } + } + }, + "IndividualUpdateRequest_individualCustomer_person_demographics": { + "type": "object", + "properties": { + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1975-01-08" + }, + "birthCountryCode": { + "type": "string", + "example": "VEN" + }, + "nationalityCountryCode": { + "type": "string", + "example": "VEN" + }, + "residencyCountryCode": { + "type": "string", + "example": "VEN" + }, + "genderCode": { + "type": "string", + "example": "M", + "enum": [ + "M", + "F" + ] + }, + "maritalStatusCode": { + "type": "string", + "example": "1" + }, + "educationLevelCode": { + "type": "string", + "example": "3" + }, + "dependentCount": { + "type": "integer", + "example": 0 + }, + "childrenCount": { + "type": "integer", + "example": 1 + } + } + }, + "IndividualUpdateRequest_individualCustomer_person_identityDocument": { + "type": "object", + "properties": { + "documentType": { + "type": "string", + "description": "V, E, P", + "example": "V" + }, + "documentNumber": { + "type": "string", + "example": "011203963" + } + } + }, + "IndividualUpdateRequest_individualCustomer_person": { + "type": "object", + "properties": { + "personName": { + "$ref": "#/components/schemas/IndividualUpdateRequest_individualCustomer_person_personName" + }, + "demographics": { + "$ref": "#/components/schemas/IndividualUpdateRequest_individualCustomer_person_demographics" + }, + "identityDocument": { + "$ref": "#/components/schemas/IndividualUpdateRequest_individualCustomer_person_identityDocument" + } + } + }, + "IndividualUpdateRequest_individualCustomer": { + "type": "object", + "properties": { + "customerClassCode": { + "type": "string", + "example": "2" + }, + "customerTypeCode": { + "type": "string", + "example": "1" + }, + "employeeIndicator": { + "type": "string", + "example": "1" + }, + "executiveIdentifier": { + "type": "string", + "example": "H17" + }, + "permanentIdentifier": { + "type": "string", + "example": "530092348" + }, + "person": { + "$ref": "#/components/schemas/IndividualUpdateRequest_individualCustomer_person" + }, + "contact": { + "$ref": "#/components/schemas/ContactData" + } + } + }, + "OrganizationUpdateRequest_corporateCustomer_organization_incorporationDetails": { + "type": "object", + "properties": { + "formationDate": { + "type": "string", + "format": "date", + "example": "1940-01-01" + }, + "formationCountryCode": { + "type": "string", + "example": "VEN" + } + } + }, + "OrganizationUpdateRequest_corporateCustomer_organization_taxIdentification": { + "type": "object", + "properties": { + "documentType": { + "type": "string", + "example": "RIF" + }, + "taxIdPrefix": { + "type": "string", + "example": "J" + }, + "taxIdNumber": { + "type": "string", + "example": "000063729" + }, + "issuanceDate": { + "type": "string", + "format": "date", + "example": "1900-01-01" + }, + "expirationDate": { + "type": "string", + "format": "date", + "example": "1903-01-01" + }, + "countryCode": { + "type": "string", + "example": "VEN" + } + } + }, + "OrganizationUpdateRequest_corporateCustomer_organization_commercialRegistry": { + "type": "object", + "properties": { + "registryName": { + "type": "string", + "example": "MERCANTIL" + }, + "registryNumber": { + "type": "string", + "example": "1" + }, + "volumeNumber": { + "type": "string", + "example": "1" + }, + "folioNumber": { + "type": "string", + "example": "323" + }, + "registrationDate": { + "type": "string", + "format": "date", + "example": "1941-03-14" + }, + "registrationExpirationDate": { + "type": "string", + "format": "date", + "example": "2050-11-03" + } + } + }, + "OrganizationUpdateRequest_corporateCustomer_organization_financialProfile": { + "type": "object", + "properties": { + "economicActivityCode": { + "type": "string", + "example": "006020106" + }, + "commercialScope": { + "type": "string", + "example": "N" + }, + "commercialCategoryCode": { + "type": "string", + "example": "000" + }, + "lastFiscalYearDate": { + "type": "string", + "example": "2018" + }, + "grossSalesAmount": { + "type": "string", + "example": "11271788" + } + } + }, + "OrganizationUpdateRequest_corporateCustomer_organization": { + "type": "object", + "properties": { + "legalName": { + "type": "string", + "example": "BODEGON Y LIC. NUEVO JUAN C.A." + }, + "tradeName": { + "type": "string", + "example": "BODEGON Y LICORERIA NUEVO JUAN C.A." + }, + "companyType": { + "type": "string", + "example": "CT" + }, + "organizationCategory": { + "type": "string", + "example": "P" + }, + "employeeCount": { + "type": "string", + "example": "0000050" + }, + "branchCount": { + "type": "string", + "example": "1500" + }, + "gazetteNumber": { + "type": "string", + "example": "41640" + }, + "nationalTreasuryCode": { + "type": "string", + "example": "HG8240" + }, + "incorporationDetails": { + "$ref": "#/components/schemas/OrganizationUpdateRequest_corporateCustomer_organization_incorporationDetails" + }, + "taxIdentification": { + "$ref": "#/components/schemas/OrganizationUpdateRequest_corporateCustomer_organization_taxIdentification" + }, + "commercialRegistry": { + "$ref": "#/components/schemas/OrganizationUpdateRequest_corporateCustomer_organization_commercialRegistry" + }, + "financialProfile": { + "$ref": "#/components/schemas/OrganizationUpdateRequest_corporateCustomer_organization_financialProfile" + } + } + }, + "OrganizationUpdateRequest_corporateCustomer": { + "type": "object", + "properties": { + "customerClassCode": { + "type": "string", + "example": "2" + }, + "customerTypeCode": { + "type": "string", + "example": "2" + }, + "executiveIdentifier": { + "type": "string", + "example": "EKO" + }, + "permanentIdentifier": { + "type": "string", + "example": "5401324654" + }, + "organization": { + "$ref": "#/components/schemas/OrganizationUpdateRequest_corporateCustomer_organization" + }, + "contact": { + "$ref": "#/components/schemas/ContactData" + } + } + }, + "MsgHdr_networkTrnInfo": { + "type": "object", + "properties": { + "transactionCode": { + "type": "string", + "example": "8910N" + }, + "transactionDate": { + "type": "string", + "format": "date", + "example": "2019-07-29" + }, + "transactionTime": { + "type": "string", + "example": "14:07:01" + }, + "bankId": { + "type": "string", + "example": "01" + }, + "agencyCode": { + "type": "string", + "example": "1731" + }, + "channelUserId": { + "type": "string", + "example": "petejoe" + } + } + }, + "MsgHdr_applicantData": { + "type": "object", + "properties": { + "ipAddress": { + "type": "string", + "example": "10.150.2.116" + }, + "application": { + "type": "string", + "example": "APIMGMT" + } + } + }, + "MsgHdr_vbProtocol": { + "type": "object", + "properties": { + "vbProtocolInd": { + "type": "string", + "example": "true" + }, + "transactionInd": { + "type": "string", + "example": "false" + } + } + }, + "ContactData_phones": { + "type": "object", + "properties": { + "phoneUse": { + "type": "string", + "example": "HABITACION" + }, + "phone": { + "type": "string", + "example": "00000000" + } + } + }, + "ContactData_emails": { + "type": "object", + "properties": { + "emailAddr": { + "type": "string", + "example": "user@example.com" + }, + "emailType": { + "type": "string", + "example": "personal" + }, + "emailUse": { + "type": "string", + "example": "work" + }, + "mainInd": { + "type": "string", + "example": "0001" + }, + "actionType": { + "type": "string", + "example": "A" + } + } + } + }, + "parameters": { + "AppIdHeader": { + "name": "X-App-ID", + "in": "header", + "description": "Identificador de la aplicación consumidora.", + "required": true, + "schema": { + "type": "string", + "example": "CHANNEL-WEB-01" + } + }, + "RequestIdHeader": { + "name": "X-Request-ID", + "in": "header", + "description": "Identificador único de trazabilidad.", + "required": true, + "schema": { + "type": "string", + "format": "uuid", + "example": "d290f1ee-6c54-4b01-90e6-d701748f0851" + } + }, + "ClientIpHeader": { + "name": "X-Client-IP", + "in": "header", + "description": "IP del cliente origen.", + "required": true, + "schema": { + "type": "string", + "example": "192.168.10.5" + } + }, + "CustomerRefHeader": { + "name": "X-Customer-Reference", + "in": "header", + "description": "Referencia del usuario (Usuario Web, RIF o Cédula).", + "required": true, + "schema": { + "type": "string", + "example": "J-12345678" + } + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 0967ef4..c3fe390 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1 +1 @@ -{} +mp.openapi.scan.disable=true \ No newline at end of file