{ "openapi": "3.0.0", "servers": [ { "description": "Calidad", "url": "https://colsubsidio-test.apigee.net/api" }, { "description": "Producción", "url": "https://colsubsidio-prod.apigee.net/api" } ], "info": { "description": "Información de los servicios del producto recreacion y turismo venta.", "version": "1.0.0", "title": "Recreacion y turismo venta", "termsOfService": "http://172.16.95.36/wiki/index.php/T%C3%A9rminos_de_servicio_Swagger", "contact": { "email": "operacionesti@colsubsidio.com" }, "license": { "name": "Colsubsidio", "url": "http://172.16.95.36/wiki/index.php/T%C3%A9rminos_de_servicio_Swagger" } }, "tags": [ { "name": "cols-recreacionyturismo-catalogo", "description": " Informacion del catalogo de servicios." }, { "name": "cols-recreacionyturismo-cotizacion", "description": " Informacion de las cotizaciones." } ], "paths": { "/v1/recreacionyturismo/catalogo": { "get": { "tags": [ "cols-recreacionyturismo-catalogo" ], "summary": "Exploracion del catalogo.", "description": "Segùn los filtros seleccionados retornara los servicios o pruebas, en el caso de que falte algún filtro se pedira la opción para poder buscar las pruebas. Las opciones que se pueden seleccionar son las siguientes:\n * Documento\n * Antiguedad\n * Clasificación (Curso, Festival, Gimnasio, Práctica Libre, Alquiler de Escenario, Concierto, Taller, etc )\n * Segmento Edad\n * Área\n * Sede\n * Días (Entre Semana / Fin de Semana)\n * Horario (Mañana / Tarde / Noche)\n * Nivel (dentro del plan académico del Curso) /Modalidad \n * Servicio (ESCUELAS, PRACTICA_LIBRE, MATERIAL, PLAN_AFILIACION )\n ", "operationId": "consultaCatalogo.v1", "parameters": [ { "name": "valor", "in": "query", "description": "Valor para la opción seleccionada", "required": true, "schema": { "type": "string" } }, { "name": "tipo", "in": "query", "description": "Nombre del tipo de la opción", "required": true, "schema": { "type": "string" } }, { "name": "opcion", "in": "query", "description": "Características adicionales de la opción", "required": true, "schema": { "type": "string" } }, { "name": "atributos", "in": "query", "description": "Número de pre- autorización para cuando es consulta puntual", "required": true, "schema": { "type": "string" } }, { "name": "limite", "in": "query", "description": "Límite de resultados para obtener 204", "required": true, "schema": { "type": "string" } }, ], "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/consultaCatalogoResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ] } }, "/v1/recreacionyturismo/cotizacion": { "get": { "tags": [ "cols-recreacionyturismo-cotizacion" ], "summary": "Consulta de una cotización por número de referencia o id", "description": "Capacidad que realiza la búsqueda de una cotización por el número de referencia único o también llamado id", "operationId": "consultaCotizacionId.v1", "parameters": [ { "name": "idCotizacion", "in": "query", "description": "Valor para la opción seleccionada", "required": true, "schema": { "type": "string" } }, { "name": "idTablaProducto", "in": "query", "description": "Nombre del tipo de la opción", "required": false, "schema": { "type": "string" } }, { "name": "articulos", "in": "query", "description": "Características adicionales de la opción", "required": false, "schema": { "type": "string" } }, { "name": "costos", "in": "query", "description": "Número de pre- autorización para cuando es consulta puntual", "required": false, "schema": { "type": "string" } }, { "name": "descuentos", "in": "query", "description": "Límite de resultados para obtener 204", "required": false, "schema": { "type": "string" } }, { "name": "logs", "in": "query", "description": "Límite de resultados para obtener 204", "required": false, "schema": { "type": "string" } }, ], "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/consultaCotizacionIdResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ] } }, # "/v1/medicamentos/localizacion/departamentos": { # "post": { # "tags": [ # "sura-medicamentos-localizacion" # ], # "summary": "Recepción prescripciones", # "description": "Recepción de fórmulas médicas emitida por una EPS asociada", # "operationId": "recepcionFormulas", # "responses": { # "200": { # "description": "Operación exitosa", # "content": { # "application/json": { # "schema": { # "$ref": "#/components/schemas/recepcionFormulasResponse" # } # } # } # }, # "400": { # "description": "Estado inválido" # } # }, # "security": [ # { # "apigee_auth": [ # "write:apigee", # "read:apigee" # ] # } # ], # "requestBody": { # "$ref": "#/components/requestBodies/recepcionFormulasRequestBody" # } # } # }, }, "externalDocs": { "description": "Encontrar más información en EnterpriseArchitect", "url": "http://172.16.95.36/wiki/index.php/Enterprise_Architect" }, "components": { "schemas": { "resultado": { "type": "object", "properties": { "codigo": { "type": "string", "description": "Código del resultado" }, "descripcion": { "type": "string", "description": "Descripción del resultado" } }, "xml": { "name": "resultado" } }, "resultadoCotizacion": { "type": "object", "properties": { "codigo": { "type": "string", "description": "Estado de la cotización. Posibles Valores\n - 1) PAGO PENDIENTE > No ha sido pagada *nueva*\n - 2) PAGO REALIZADO > Ya ha sido pagada *facturada*\n - 3) RECHAZADA > El pago no ha sido exitoso *cancelada*\n - 4) CHECKOUT > En espera del medio de pago *en proceso de pago*" }, "descripcion": { "type": "string", "description": "Mensaje de la cotización" } }, "xml": { "name": "resultado" } }, "consultaCotizacionIdResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultadoCotizacion" } }, "obtenerCotizacion": { "type": "array", "items": { "$ref": "#/components/schemas/obtenerCotizacion" } } } }, "obtenerCotizacion": { "type": "object", "properties": { "afiliado": { "$ref": "#/components/schemas/afiliado" }, "cotizacion": { "$ref": "#/components/schemas/cotizacion" }, "transaccion": { "$ref": "#/components/schemas/transaccion" }, "logs": { "type": "array", "items":{ "$ref": "#/components/schemas/logs" } } } }, "logs": { "type": "object", "description": "Cambio realizado en la cotización en un instante de tiempo", "properties": { "tipo": { "type": "string", "description": "Tipo de modificación que se realiza Tipo:\n * 1) CREACION\n * 2) ACTUALIZACION\n * 3) INFORMATIVO\n * 4) PRUEBAS" }, "descripcion": { "type": "string", "description": "Descripción del log" } } }, "transaccion": { "type": "object", "description": "Propiedades de la transacción de pago de una cotización", "properties": { "id": { "type": "string", "description": "El id de la transacción enviado por el sistema de pago." }, "fecha": { "type": "string", "description": "Fecha en la que se completó la transacción de pago" }, "canal": { "type": "string", "description": "Identificador del canal de pago - 1) Caja - 2) Módulos - 3) Web - 4) App - 5) IVR - 6) Interno", "enum": [ 1, 2, 3, 4, 5, 6 ] }, "idCaja": { "type": "string", "description": "Identificador de la máquina que hizo el pago (Módulo, Caja). En caso de transacción en línea se usará algún identificador del proveedor de pago." }, "idCajero": { "type": "string", "description": "Identificador del cajero quien realiza la cotización en el sistema Hércules (Normalmente la cédula o código de máquina)" }, "pago": { "type": "object", "properties":{ "id": { "type": "string", "description": "Consecutivo generado por el medio de pago" }, "medio": { "type": "string", "description": "Código del medio de pago" }, "valor": { "type": "string", "description": "Valor pagado con este medio de pago" } } } } }, "cotizacion": { "type": "object", "description": "Información de una cotización. Las cotizaciones se componen de Ítems de Cotización que indican los servicios a adquirir. Los Ítems tiene diferntes tipos dependiendo del servicio que se adquirió. Además las Cotizaciones tienen un log de auditoría y una Transacción de pago asociada que incluye la forma de pago detallada", "properties": { "id": { "type": "string", "description": "Id de la cotización en Hércules" }, "idFactura": { "type": "string", "description": "Identificador de la Cotización en el sistema facturador. ( Por ejemplo Número de Factura o de la Orden de Venta)" }, "idFacturaSecundario": { "type": "string", "description": "Identificador secundario de la Cotización en el sistema facturador. (Por ejemplo Número de Factura Empresarial)" }, "idParticipacionOrganizacion": { "type": "string", "description": "Id de la ParticipacionOrganizacion en Hércules de la cotización (uso interno)" }, "fechaCreacion": { "type": "string", "description": "Fecha de creación de la cotización" }, "fechaActualizacion": { "type": "string", "description": "Fecha de actualización de la cotización" }, "fechaExpiracion": { "type": "string", "description": "Fecha de expiración de la cotización" }, "usuario": { "type": "object", "properties": { "id": { "type": "string", "description": "Id del usuario en Hércules que realiza la cotización (si se hace por servicio sería el client_id)" }, "nombre": { "type": "object", "properties":{ "completo": { "type": "string", "description": "Nombre del usuario que reqliza la cotización" }, } } } }, "empresa": { "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre de la organización o empresa" }, } }, "proveedor": { "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre del proveedor de pago de la cotización" }, } }, "costo": { "type": "object", "properties":{ "reversion": { "type": "string", "description": "Suma del total de las reversiones de cada ítem" }, "base": { "type": "string", "description": "Valor de la base del IVA en la cotización" }, "iva": { "type": "string", "description": "Valor total del IVA en la cotización" }, "total": { "type": "object", "properties":{ "valor": { "type": "string", "description": "Suma del total de cada ítem en la cotización. Total Pagado" }, } } } }, "articulo": { "type": "array", "items":{ "$ref": "#/components/schemas/articulo" } } } }, "articulo": { "type": "object", "description": "Hace referencia al servicio que se quiere inscribit, a la persona, y el valor de la inscripción al servicio ", "properties": { "tipo": { "type": "string", "description": "Tipo del ítem (INSCRIPCION = 1, MATRICULA = 2, MATERIAL = 3, AFILIACION = 4, RESERVA_TURNO = 5, CITA = 6)", "enum": [ 1, 2, 3, 4, 5, 6 ] }, "cantidad": { "type": "string", "description": "Cantidad del ítem adquirida" }, "descripcion": { "type": "string", "description": "Descripción del ítem" }, "centroBeneficio": { "type": "string", "description": "Código del centro de beneficios (Centro de Beneficios SAP)" }, "persona": { "type": "object", "properties":{ "nombre": { "type": "object", "properties":{ "completo": { "type": "string", "description": "Nombre de la persona asociada al ítem" } } }, "documento": { "type": "object", "properties":{ "numero": { "type": "string", "description": "NNúmero de documento de la persona asociada al ítem" } } }, } }, "categoria": { "type": "object", "properties":{ "sigla": { "type": "string", "description": "Nombre de la categoría de precio" } } }, "costo": { "type": "object", "properties": { "nombre": { "type": "string", "description": "Nombre del precio aplicado." }, "codigo": { "type": "string", "description": "Código del precio según la tabla de productos enviada. Id Material en SAP" }, "base": { "type": "string", "description": "Valor base del ítem sin impuesto." }, "impuesto": { "type": "string", "description": "Valor del impuesto aplicado sobre el valor" }, "total": { "type": "object", "properties":{ "valor": { "type": "string", "description": "Valor total de la suma del valor más el impuesto" } } } } }, "servicio": { "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre del titular que realizó la cotización" }, "costo": { "$ref": "#/components/schemas/costoServicioCotizacion" } } }, "descuento": { "type": "array", "description": "Lista de descuentos aplicados al ítem", "items":{ "$ref": "#/components/schemas/descuento" } } } }, "descuento": { "type": "object", "properties": { "id": { "type": "string", "description": "Identificador del descuento" }, "tipo": { "type": "string", "description": "Parametro para saber el tipo del descuento.\nLos tipos son los siguientes:\n - 0) CONVENIO: Los convenios son aquellos que no tienen recobro por subsidio a la demanda.\n - 1) DESCUENTO\n - 2) MERCADEO\n\nUn ítem de cotización puede tener a lo sumo tres descuentos, uno de cada tipo entre: convenio, no convenio y mercadeo.", "enum": [ 0, 1, 2 ], }, "codigo": { "type": "string", "description": "Código de descuento a aplicar (en caso de escritura) o aplicado (en caso de lectura), puede ser un código único o un código repetible (Cupón)" }, "nombre": { "type": "string", "description": "Nombre del descuento" }, "mercadeo": { "type": "string", "description": "Parámetro que indica que el precio fue modificado por un sistema externo con autorización para cambiar precios." }, "total": { "type": "object", "properties":{ "valor": { "type": "string", "description": "Valor final con el descuento aplicado al valor del ítem consultado." } } } } }, "costoServicioCotizacion": { "type": "object", "properties": { "base": { "type": "string", "description": "Valor de la base (Sin IVA) del precio" }, "iva": { "type": "string", "description": "Valor del IVA para el precio" }, "fechaInicioVigencia": { "type": "string", "description": "Fecha de inicio de la vigencia del precio" }, "fechaFinVigencia": { "type": "string", "description": "Fecha de fin de la vigencia del precio" }, "total": { "type": "object", "properties":{ "valor": { "type": "string", "description": "Valor total (incluye IVA) del precio" } } } } }, "afiliado": { "type": "object", "properties": { "telefono": { "type": "string", "description": "Número de telefono del titular" }, "correoElectronico": { "type": "string", "description": "Correo electrónico del titular de la cotización" }, "nombre": { "type": "object", "properties": { "completo": { "type": "string", "description": "Nombre del titular que realizó la cotización" } } }, "documento": { "type": "object", "properties": { "tipo": { "type": "string", "description": "Tipo de documento del titular de la cotización", "enum": [ "CC", "CE", "NIT", "TI", "PAS", "FN", "RC", "NUIP", "MSI", "CD", "PEP" ] }, "numero": { "type": "string", "description": "Número de documento de una persona" } } }, "direccion": { "type": "object", "properties": { "direccionPrincipal": { "type": "string", "description": "Dirección del titular" } } } } }, "consultaCatalogoResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultado" } }, "obtenerServicios": { "type": "array", "items": { "$ref": "#/components/schemas/obtenerServicios" } } } }, "obtenerServicios": { "type": "object", "properties": { "servicio": { "type": "array", "items":{ "$ref": "#/components/schemas/servicio" } }, "opcionesAplicadas": { "type": "array", "items":{ "$ref": "#/components/schemas/opcionesAplicadas" } } } }, "opcionesAplicadas": { "type": "object", "description": "Objeto que contiene la información de las opciones utilizadas para buscar los servicios. Los tipos de opción pueden ser los siguientes:\n * 1) Documento\n * 2) Antiguedad\n * 3) Clasificación\n * 4) Área (Deporte)\n * 5) Sede\n * 6) Días (Entre Semana / Fin de Semana)\n * 7) Horario (Mañana / Tarde / Noche)\n * 8) Nivel (Prueba)\n * 9) Servicio (Prueba Campeonato)\n * 10) Segmento (Edad)", "properties":{ "valor": { "type": "string", "description": "Valor para la opción seleccionada" }, "tipo": { "type": "string", "description": "Nombre del tipo de la opción" }, "opcion": { "type": "string", "description": "Nombre de la opción" }, "atributos": { "type": "object", "description": "Características adicionales de la opción" }, } }, "servicio": { "type": "object", "properties": { "id": { "type": "string", "description": "Id del servicio" }, "tipo": { "type": "string", "description": "Tipo de servicio que puede existir, los tipos pueden ser los siguientes:\n * 1 ) Escuela\n * 2 ) Practica Libre\n * 3 ) Plan Afiliación\n * 4 ) Cita\n * 5 ) Material" }, "nombre": { "type": "string", "description": "Nombre del servicio" }, "nombreAbreviado": { "type": "string", "description": "Nombre corto del servicio con un tamaño máximo de 25 caracteres" }, "tiempoFijo": { "type": "string", "description": "Indicador que muestra si los usos aumentan el tiempo o solo el valor" }, "edadMinima": { "type": "string", "description": "Edad mínima con la cual se pueden registrar los participantes" }, "edadMaxima": { "type": "string", "description": "Edad máxima con la cual se pueden registrar los participantes" }, "numeroSesiones": { "type": "string", "description": "Número de sesiones del beneficio principal plan de afiliación" }, "tiempo": { "type": "string", "description": "Tiempo de duración en días del beneficio principal del plan de afiliación" }, "cupos": { "type": "string", "description": "Cantidad de cupos disponibles para el servicio" }, "pruebaTorneo": { "type": "string", "description": "Flag que indica si este servicio habilita pruebas para inscripción a torneo." }, "fechaInicio": { "type": "string", "format": "date-time", "description": "Fecha de inicio." }, "fechaFin": { "type": "string", "format": "date-time", "description": "Fecha de fin." }, "beneficios": { "type": "array", "description": "Lista del beneficio principal y secundarios del plan de afiliación.", "items":{ "type": "object", "properties":{ "id": { "type": "string", "description": "Id del beneficio" }, "numeroSesiones": { "type": "string", "description": "Cantidad de usos máximos del beneficio" }, "tiempo": { "type": "string", "description": "Tiempo en días de la vigencia del beneficio" }, "principal": { "type": "string", "description": "Indicador que muestra cuál es el beneficio principal del plan de afiliación" }, "area": { "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre del area" }, } }, "sede": { "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre de la sede" }, } }, "centroEntrenamiento": { "type": "object", "description": "Objeto que contiene toda la información del centro de entrenamiento", "properties":{ "id": { "type": "string", "description": "Id del centro de entrenamiento" }, "nombre": { "type": "string", "description": "Nombre del centro de entrenamiento" } } }, "prestador": { "type": "object", "properties":{ "disponible": { "type": "string", "description": "Parametro que describe si el plan de afiliación tiene médico" } } }, } } }, "dias": { "type": "array", "description": "Se devolvera los dias que su valor sea 'true', los posibles pueden ser los siguientes:\n * lunes\n * martes\n * miercoles\n * jueves\n * viernes\n * entreSemana\n * finSemana", "format": "string", "enum": [ lunes, martes, miercoles, jueves, viernes, entreSemana, finSemana ], "items":{ } }, "genero": { "type": "object", "properties":{ "descripcion": { "type": "string", "description": "Género que aplica al centro de entrnamiento" } } }, "turno": { "type": "object", "properties":{ "grupal": { "type": "string", "description": "Indicador que muestra si el turno aplica para varias personas al tiempo" }, "personas": { "type": "string", "description": "Cantidad de personas máximas por turno" }, "inmediato": { "type": "string", "description": "Indicador que muestra si puede tener inicio inmediato el turno (dentro de los siguientes 5, 10 o 15 min)" }, "intervalo": { "type": "string", "description": "Duración en minutos de cada cuanto se puede obtener turnos" }, "duracion": { "type": "string", "description": "Duración en minutos del turno" }, "reserva": { "type": "string", "description": "Requiere reservar todos los turnos al momento de comprar. Por ejemplo para un pasadía" } } }, "prestador": { "type": "object", "properties":{ "disponible": { "type": "string", "description": "Parametro que describe si el plan de afiliación tiene médico" } } }, "centroEntrenamiento": { "type": "object", "description": "Objeto que contiene toda la información del centro de entrenamiento", "properties":{ "id": { "type": "string", "description": "Id del centro de entrenamiento" }, "nombre": { "type": "string", "description": "Nombre del centro de entrenamiento" } } }, "inscripcion": { "type": "object", "properties":{ "fechaInicioAntiguos": { "type": "string", "format": "date-time", "description": "Fecha inicio de inscripcion para antiguos." }, "fechaFinAntiguos": { "type": "string", "format": "date-time", "description": "Fecha fin de inscripcion para antiguos." }, "fechaInicioNuevos": { "type": "string", "format": "date-time", "description": "Fecha inicio de inscripcion para nuevos." }, "fechaFinNuevos": { "type": "string", "format": "date-time", "description": "Fecha fin de inscripcion para nuevos." }, } }, "area": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador del área asociada al servicio tipo escuela" }, "nombre": { "type": "string", "description": "Nombre del área" } } }, "nivel": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador del nivel asociado al servicio tipo escuela" }, "nombre": { "type": "string", "description": "Nombre del nivel" } } }, "categoria": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador de la categoria asociada a servicio tipo escuela" }, "nombre": { "type": "string", "description": "Nombre de la categoría de edad" } } }, "ciclo": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador del ciclo de inscripción del servicio" }, "nombre": { "type": "string", "description": "Nombre del ciclo de inscripción" } } }, "sede": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador de la sede del servicio de tipo escuela" }, "nombre": { "type": "string", "description": "Nombre de la sede del servicio" } } }, "material": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador o id del material" }, "tipo": { "type": "string", "description": "Tipo del material:\n * 1) Referencia\n * 2) Transporte\n * 3) Turno\n * 4) Articulo" }, "descripcion": { "type": "string", "description": "Nombre del material" } } }, "atributo": { "type": "array", "items":{ "type": "object", "properties":{ "tipo": { "type": "string", "description": "Tipo de atributo en especifico, estos tipos de atributos se sacan de la lista enumerada en el objeto" }, "valor": { "type": "string", "description": "Valor de atributo" } } } }, "costo": { "type": "array", "items":{ "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre del precio" }, "iva": { "type": "string", "description": "Valor del IVA para el precio" }, "base": { "type": "string", "description": "Valor de la base (Sin IVA) del precio" }, "fechaInicioVigencia": { "type": "string", "format": "date-time", "description": "Fecha de inicio de la vigencia del precio" }, "fechaFinVigencia": { "type": "string", "format": "date-time", "description": "Fecha de fin de la vigencia del precio" }, "categoria": { "type": "object", "properties":{ "sigla": { "type": "string", "description": "Nombre de la categoría de precio" } } }, "total": { "type": "object", "properties":{ "valor": { "type": "string", "description": "Valor total (incluye IVA) del precio" } } } } } } } } }, "requestBodies": { }, "securitySchemes": { "apigee_auth": { "type": "oauth2", "flows": { "clientCredentials": { "tokenUrl": "https://colsubsidio-test.apigee.net/oauth/client_credential/accesstoken?grant_type=client_credentials", "scopes": { "write:apigee": "Permisos de escritura", "read:apigee": "Permisos de lectura" } } } } } } }