diff --git a/apigee/recreacionyturismo-venta.json b/apigee/recreacionyturismo-venta.json new file mode 100644 index 0000000..b86ec3c --- /dev/null +++ b/apigee/recreacionyturismo-venta.json @@ -0,0 +1,971 @@ +{ + "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" + } + }, + "consultaCotizacionIdResponse": { + "type": "object", + "required": [ + "resultado" + ], + "properties": { + "resultado": { + "type": "array", + "xml": { + "name": "resultado" + }, + "items": { + "$ref": "#/components/schemas/resultado" + } + }, + "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": { + "$ref": "#/components/schemas/logs" + } + } + }, + "cotizacion": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Número de telefono del titular" + }, + "idFactura": { + "type": "string", + "description": "Número de telefono del titular" + }, + "idFacturaSecundario": { + "type": "string", + "description": "Número de telefono del titular" + }, + "idParticipacionOrganizacion": { + "type": "string", + "description": "Número de telefono del titular" + }, + "fechaCreacion": { + "type": "string", + "description": "Número de telefono del titular" + }, + "fechaActualizacion": { + "type": "string", + "description": "Número de telefono del titular" + }, + "fechaExpiracion": { + "type": "string", + "description": "Número de telefono del titular" + }, + "usuario": { + "type": "string", + "description": "Número de telefono del titular" + }, + "empresa": { + "type": "string", + "description": "Número de telefono del titular" + }, + "proveedor": { + "type": "string", + "description": "Número de telefono del titular" + }, + "costo": { + "type": "string", + "description": "Número de telefono del titular" + }, + "articulo": { + "type": "string", + "description": "Número de telefono del titular" + } + } + }, + "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" + }, + "numero": { + "type": "string", + "description": "Número de documento de una persona" + } + } + }, + "direccion": { + "type": "string", + "properties": { + "direccionPrincipal": { + "type": "object", + "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" + } + } + } + } + } + }, + } + }, + "documento": { + "type": "object", + "properties": { + "tipo": { + "type": "string", + "description": "Tipo de documento" + }, + "numero": { + "type": "string", + "description": "Número de identificación del documento" + } + }, + "xml": { + "name": "documento" + } + }, + "nombre": { + "type": "object", + "properties": { + "primero": { + "type": "string", + "description": "Primer nombre" + }, + "segundo": { + "type": "string", + "description": "Segundo nombre" + }, + "primerApellido": { + "type": "string", + "description": "Primer apellido" + }, + "segundoApellido": { + "type": "string", + "description": "Segundo apellido" + } + }, + "xml": { + "name": "nombre" + } + }, + "ciudad": { + "type": "object", + "properties": { + "nombre": { + "type": "string", + "description": "Nombre de ciudad" + } + }, + "xml": { + "name": "ciudad" + } + }, + "direccion": { + "type": "object", + "properties": { + "direccionPrincipal": { + "type": "string", + "description": "Direccion principal" + } + }, + "xml": { + "name": "direccion" + } + }, + "departamento": { + "type": "object", + "properties": { + "codigo": { + "type": "string", + "description": "Codigo del departamento" + } + }, + "xml": { + "name": "departamento" + } + }, + "municipio": { + "type": "object", + "properties": { + "codigo": { + "type": "string", + "description": "Codigo del municipio" + } + }, + "xml": { + "name": "municipio" + } + }, + "direccionamientoIpsResponse": { + "type": "object", + "required": [ + "resultado" + ], + "properties": { + "resultado": { + "type": "array", + "xml": { + "name": "resultado" + }, + "items": { + "$ref": "#/components/schemas/resultado" + } + } + } + } + }, + "requestBodies": { + "recepcionFormulasRequestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/recepcionFormulasRequest" + } + } + }, + "description": "Información de la fórmula médica", + "required": true + } + }, + "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" + } + } + } + } + } + } +} \ No newline at end of file