Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Micro Servicios
Micro Servicios
Microservicios
Microservicio: es un enfoque para desarrollar una aplicación software como una serie de
pequeños servicios, cada uno ejecutándose de forma autónoma y comunicándose entre sí, por
ejemplo, a través de peticiones HTTP a sus API
Capa de negocio: es donde residen los programas que se ejecutan, se reciben las peticiones del
usuario y se envían las respuestas tras el proceso. Se denomina capa de negocio (e incluso de
lógica del negocio) porque es aquí donde se establecen todas las reglas que deben cumplirse. Esta
capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los
resultados, y con la capa de datos, para solicitar al gestor de base de datos almacenar o recuperar
datos de él. También se consideran aquí los programas de aplicación.
Json Array: La matriz JSON representa una lista ordenada de valores. La matriz JSON puede almacenar
varios valores. Puede almacenar cadenas, números, booleanos u objetos en una matriz JSON.
Método get: El método GET solicita una representación de un recurso específico. Las peticiones
que usan el método GET sólo deben recuperar datos.
Método post: El método POST se utiliza para enviar una entidad a un recurso en específico,
causando a un cambio en el estado o efectos secundarios en el servidor.
Método put: El modo PUT reemplaza todas las representaciones actuales del recurso de destino
con la carga útil de la petición.
NoSQL: NoSQL, también llamadas No Solo SQL, son un enfoque hacia la gestión de datos y el
diseño de base de datos que es útil para grandes conjuntos de datos distribuidos.
RabbitMQ: es un broker de mensajería de código abierto, distribuido y escalable, que sirve como
intermediario para la comunicación eficiente entre productores y consumidores.
XML: Lenguaje Extensible de Etiquetado es definido como un lenguaje marcado para documentos
que contienen información estructurado
JSON: Siglas de JavaScript Object Notation o Notación de Objetos de JavaScript, es un formato
ligero de intercambio de datos, que resulta sencillo de leer y escribir para los programadores y
simple de interpretar y generar para las máquinas.
Ambientes
Ambientes de QA:
Inventory MS:
URL: https://inventory-ms-qa.skyairline.com
x-api-key:5A0532AC51154CB1843A33C493D63CC9
Authorization:E214506C70FD4B53B4CC97178F9F91D5
Inventory BL:
URL: https://inventory-bl-qa.skyairline.com
x-api-key:5574CF407AA2433B9D5F77491D8B9340
Authorization:BB2E118B0B804C06B7DC5F4AA515E3E4
Booking MS:
URL: https://booking-ms-qa.skyairline.com/
Authorization:76D9A6CB5A654A95A64D05EE60B82307
x-api-key:501928AB79C24691BDE7BAACC6607800
Booking BL:
URL: https://booking-bl-qa.skyairline.com/
x-api-key:5574CF407AA2433B9D5F77491D8B9340
Authorization:BB2E118B0B804C06B7DC5F4AA515E3E4
Pricing MS:
URL: https://pricing-ms-qa.skyairline.com
x-api-key:1F37813C1DCD4211ADB39971A63241D6
Authorization:7FA093AD0FC64809B3C4C7FA987E06AB
Pricing BL:
URL: https://pricing-bl-qa.skyairline.com
x-api-key:5574CF407AA2433B9D5F77491D8B9340
Authorization:BB2E118B0B804C06B7DC5F4AA515E3E4
Fulfillment MS:
URL: https://fulfillment-ms-qa.skyairline.com/
x-api-key:65550ED330B2439A8DCC898B8E26DA59
Authorization:457220AC0A1A42188541B9258F6E8C1D
Fulfillment BL:
URL: https://fulfillment-bl-qa.skyairline.com/
x-api-key:65550ED330B2439A8DCC898B8E26DA59
Authorization:457220AC0A1A42188541B9258F6E8C1D
Miselaneous MS:
URL: https://miscellaneous-ms-qa.skyairline.com
x-api-key:5EEB6B4C76B24F5AB8E696E06F1EC0C1
Authorization:836C381716794A319ED7849B3C55862A
Ambientes de Stage:
Booking BL:
URL: https://booking-bl-stage.skyairline.com
authorization: A5B7C4AF000148989C509E3E71C98383
x-api-key: 0A74254B49F6497C842152FAC6210CD1
Booking MS:
URL: https://booking-ms-stage.skyairline.com
authorization:02871FEAD3614155915323321C84F50E
x-api-key:AE1EDC419E764D1F86E5FEA4BAF01A14
Inventory MS:
URL: https://inventory-ms-stage.skyairline.com
authorization:190477E9531C41338D7086A5CE3E2246
x-api-key:2BB2ADDA0AED4918BAC5FC507780AA3B
Inventory BL:
URL: https://inventory-bl-stage.skyairline.com
authorization:395C39B211F644B49A3401034F553801
x-api-key:5F54BCDC351D4035B46F935F5C081BB3
Pricing MS:
URL: https://pricing-ms-stage.skyairline.com
authorization:97684B88F211479EACE57E0CE82FD0BE
x-api-key:7254EA8D078D4008BD77ED1482B2A984
Pricing BL:
URL: https://pricing-bl-stage.skyairline.com
authorization:D87E4C662B3F4353975C53F666B21AAB
x-api-key:C4CF44FE581A49C389F248C7E59D6418
Fulfillment MS:
URL: https://fulfillment-ms-stage.skyairline.com
authorization:FBE5148F9EFA42019821F6F8119939AA
x-api-key:22AEDF38F6284FACB348C2EDC62985B0
Fulfillment BL:
URL: https://fulfillment-bl-stage.skyairline.com
authorization:8096F58E376141BE9E83E997817522CA
x-api-key:130672E758AD4345AFEEC130C0894268
Order:
URL: https://order-ms-stage.skyairline.com
x-api-key: F73BDFEB3B2F464C8B9F9BBADF17559C
Authorization: A3F6EF9152DD4B69B525F9FF6A02520F
Estructura de los microservicios
Microservicios:
Pricing MS
Booking MS
Misceláneos MS
Fulfillment MS
Capa Negocio:
Booking BL
Princing BL
Inventory BL
Fulfillment BL
id: Llave generada para facilitar la detección de mensajes duplicados, de esta forma, los
consumidores tienen una propiedad para evitar ejecutar algún caso de uso más de las
veces que corresponda.
{
messageId: "1",
publisher: "Wallet",
event: "paymentApproved",
published: 2021-01-01T00:00:00.000Z,
data: {
metadata: {
orderId: "", [PNR - transiente, Order]
},
headers:{
homemarket: CL
},
body: {
pnr: "",
voucher: "",
paymentDetails: [
{
payment: {
baseAmount: 1,
baseCurrency: "CLP",
cardHolder: "",
cardNumber: "",
currency: "CLP",
cvc: "",
method: "VISA",
datePaid: "2020-10-14",
exchangeRate: "1",
exchangeRateDate: "2020-10-20",
amount: 1,
transactionId: "123456",
reference: "web-CL-webpay-IS",
iataNumber: "",
authorizationCode: "A845645645",
userId: ""
},
payor: {
firstName: "Juan",
lastName: "Perez",
dateOfBirth: "1991-06-28",
gender: "Male",
companyName: "TESTCompany"
}
}
]
}
}
}
Microservicio de Inventory
Permitir al momento de ingresar al MS Inventory Fares Shop Fare Class, debe poder buscar tarifas
por clase
POST: https://ms-inventory-stage.herokuapp.com/inventory/fares/shop/by-fareclass
Headers:
homemarket:CL
x-api-key:5A0532AC51154CB1843A33C493D63CC9
Authorization:E214506C70FD4B53B4CC97178F9F91D5
Payload:
{
"currency": "CLP",
"promoCode": "",
"segments": [
{
"LFID": 292648,
"origin": "PMC",
"destination": "SCL",
"departureDate": "2021-03-17",
"fareClass": "A"
},
{
"LFID": 292649,
"origin": "SCL",
"destination": "PMC",
"departureDate": "2021-03-17",
"flightNumber": "077",
"fareClass": "A"
}
],
"passengerCount": [
{
"ptc": "ADT",
"quantity": "4"
}
]
}
Inventory – AircraftType
Get: https://ms-inventory-stage.herokuapp.com/inventory/segments/aircraft?
LFID=272885&departureDate=2020-12-05
Params:
LFID:322486
departureDate:2021-03-26
MS Inventory - Cheapest Fare By SegDate
URL https://ms-inventory-stage.herokuapp.com/inventory/fares/shop
Payload:
{
"currency": "USD",
"promoCode": 0,
"passengerCount": [
{
"ptc": "ADT",
"quantity": "2"
}
],
"segments": [
{
"origin": "SCL",
"destination": "PMC",
"departureDate": "2021-04-30"
}
]
}
MS Inventory - Cheapest Fare By DateRange
Description
RUTA: https://ms-inventory-stage.herokuapp.com/inventory/fares/shop/by-daterange
Payload:
"currency": "CLP",
"promoCode": "0",
"initialDate": "2021-01-13",
"endDate": "2021-01-15",
"passengerCount": [
"ptc": "ADT",
"quantity": "2"
},
"ptc": "INF",
"quantity": "1"
},
"ptc": "CHD",
"quantity": "1"
],
"segments": [
"origin": "ANF",
"destination": "SCL"
},
URL: https://ms-inventory-stage.herokuapp.com/inventory/services/shop
Payload:
"currency": "CLP",
"channel": "EXT_WEB",
"segments": [
{
"LFID": "319029",
"origin": "SCL",
"destination": "PMC",
"departureDate": "2021-03-01"
}
MS Inventory - Flight Services Shop - SeatAvailability
Description
URL:
https://ms-inventory-stage.herokuapp.com/inventory/seats/pss?
currency=CLP&LFID=310803&departureDate=2021-01-07
currency:CLP
//currency:USD
LFID:310803
departureDate:2021-01-07
MS Inventory -FlightSchedule
Permitir al momento de ingresar al MS Inventory - FlightSchedule debe devolver el
itinerario de vuelo
Método: POST
Payload:
{
"initialDate": "2020-08-13",
"endDate": "2020-09-30",
"includeCancelled": "false",
"route": {
"origin": "LIM",
"destination": "TRU"
}
}
URL: https://ms-inventory-stage.herokuapp.com/inventory/flights/retrieve
MS Inventory – GetAirportList
Al ingresar MS Inventory - GetAirportList debe Entregar listado de aeropuertos
URL
https://ms-inventory-stage.herokuapp.com/inventory/airports
Headers:
homemarket:CL
x-api-key:5A0532AC51154CB1843A33C493D63CC9
Authorization:E214506C70FD4B53B4CC97178F9F91D
MS Inventory - faresBySegment- /inventory/fares
Ingresar al MS Inventory - FaresBySegment - Validar que entrega todas las tarifas
disponibles para un segmento
URL: POST https://ms-inventory-stage.herokuapp.com/inventory/fares/shop/by-fareclass
{
"currency": "CLP",
"promoCode": "",
"segments": [
{
"LFID": "288204",
"origin": "SCL",
"destination": "ARI",
"departureDate": "2021-01-28"
}
],
"passengerCount": [
{
"ptc": "ADT",
"quantity": "1"
}
]
}
Microservicio de Booking
Params:
sync:true
pnr:IZCVVB
Método:
GET
URL:
https://ms-booking-stage.herokuapp.com/booking/?sync=true&pnr=OGHBQC
MS Booking - /booking/timelimit updateTimeLimit
Al ingresar MS Booking - /booking/timelimit updateTimeLimit debe Actualizar tiempo
límite de pago de una reserva
Ruta: https://booking-ms-qa.skyairline.com/booking/timelimit
Metodo: Post
Payload:
{
"pnr": "GCWXCC",
"newTimeLimit": "2020-12-08T03:43:04"
}
MS Booking -/booking/segments/seats -RemoveSeatAssignment
DELETE: https://ms-booking-stage.herokuapp.com//booking/segments/seats
Payload:
{
"pnr": "HDEASC",
"segments": [
{
"LFID": 288218,
"origin": "SCL",
"destination": "LIM",
"departureDate": "2020-12-31",
"passengers": [
{
"passengerId": 40831377,
"seats": [
{
"PFID": 281011,
"seat": "A",
"row": "1x"
}
]
},
{
"passengerId": 40831378,
"seats": [
{
"PFID": 281011,
"seat": "A",
"row": 2
}
]
},
{
"passengerId": 40831379,
"seats": [
{
"PFID": 281011,
"seat": "A",
"row": 3
}
]
},
{
"passengerId": 40831376,
"seats": [
{
"PFID": 281011,
"seat": "A",
"row": 4
}
]
}
]
}
]
}
MS Booking - /bookings/segments/passengers/apis update pax api
URL:
POST https://ms-booking-stage.herokuapp.com/booking/segments/passengers/apis
{
"pnr": "PBDCCCD",
"passengers": [
{
"passengerId": "37260779",
"firstName": "YZAMNY",
"lastName": "ZAMALLOA SANCHEZ",
"dateOfBirth": "1991-09-03",
"age": "29",
"dni": "70707070",
"dniType": "DNI",
"phone": "+5699999999",
"phoneCode": "56",
"country": "CL",
"email": "mail@mail.com",
"gender": "FEMALE"
}
]
}
MS Booking – CreateBooking
Método: POST
URL: https://ms-booking-stage.herokuapp.com/booking
Payload:
{
"promoCode": "",
"currency": "USD",
"segments": [
{
"segmentId": 1,
"LFID": "289081",
"origin": "SCL",
"destination": "ANF",
"flightNumber": "270",
"departureDate": "2021-01-15",
"farebasis": "AZERO",
"fareAmount": "35"
}
],
"passengers": [
{
"passengerId": "123",
"firstName": "Oscar",
"lastName": "Urdaniga",
"dateOfBirth": "1994-03-14",
"dni": "12345678",
"gender": "Male",
"country": "PE",
"citizenship": "we",
"phone": "34343",
"email": "oscar.urdaniga@gmail.com",
"ptc": "ADT",
"seats": [
{
"segmentId": 1,
"PFID": "286758",
"seat": "A",
"rowNumber": "9"
}
],
"services": [
{
"segmentId": 1,
"ssrCode": "1BAG",
"amount": "12"
}
]
},
{
"passengerId": "12345",
"firstName": "Oscar",
"lastName": "Urdaniga",
"dateOfBirth": "1994-03-14",
"dni": "12345678",
"gender": "Male",
"country": "PE",
"citizenship": "we",
"phone": "34343",
"email": "oscar.urdaniga@gmail.com",
"ptc": "ADT",
"seats": [
{
"segmentId": 1,
"PFID": "286758",
"seat": "A",
"rowNumber": "9"
}
],
"services": [
{
"segmentId": 1,
"ssrCode": "1BAG",
"amount": "12"
}
]
},
{
"passengerId": "1234",
"firstName": "Oscar",
"lastName": "Urdaniga",
"dateOfBirth": "2020-03-14",
"dni": "12345678",
"gender": "Male",
"country": "PE",
"citizenship": "we",
"phone": "34343",
"email": "oscar.urdaniga@gmail.com",
"ptc": "INF",
"seats": [
{
"segmentId": 1,
"PFID": "286758",
"seat": "A",
"rowNumber": "9"
}
],
"services": [
{
"segmentId": 1,
"ssrCode": "1BAG",
"amount": "12"
}
]
},
{
"passengerId": "1235",
"firstName": "Oscar",
"lastName": "Urdaniga",
"dateOfBirth": "2010-03-14",
"dni": "12345678",
"gender": "Male",
"country": "PE",
"citizenship": "we",
"phone": "34343",
"email": "oscar.urdaniga@gmail.com",
"ptc": "CHD",
"seats": [
{
"segmentId": 1,
"PFID": "286758",
"seat": "A",
"rowNumber": "9"
}
],
"services": [
{
"segmentId": 1,
"ssrCode": "1BAG",
"amount": "12"
}
]
}
]
}
MS Booking - Add Services
URL:
https://ms-booking-stage.herokuapp.com/booking/segments/passengers/services
Método: POST
Payload:
{
"pnr": "DACHQP",
"currency": "USD",
"segments": [
{
"LFID": "289081",
"departureDate": "2021-01-15",
"passengers": [
{
"passengerId": "40883868",
"services": [
{
"ssrCode": "1BAG",
"amount": 4
},
{
"ssrCode": "SEAT",
"amount": 7
},
{
"ssrCode": "CRRY",
"amount": 5
},
{
"ssrCode": "1SCH",
"amount": 5
}
]
},
{
"passengerId": "40883869",
"services": [
{
"ssrCode": "1BAG",
"amount": 4
},
{
"ssrCode": "SEAT",
"amount": 7
},
{
"ssrCode": "CRRY",
"amount": 5
},
{
"ssrCode": "1SCH",
"amount": 5
}
]
},
{
"passengerId": "40883870",
"services": [
{
"ssrCode": "1BAG",
"amount": 4
},
{
"ssrCode": "SEAT",
"amount": 7
},
{
"ssrCode": "CRRY",
"amount": 5
},
{
"ssrCode": "1SCH",
"amount": 5
}
]
},
{
"passengerId": "40883867",
"services": [
{
"ssrCode": "1BAG",
"amount": 4
},
{
"ssrCode": "SEAT",
"amount": 7
},
{
"ssrCode": "CRRY",
"amount": 5
},
{
"ssrCode": "1SCH",
"amount": 5
}
]
}
]
}
]
}
MS Booking – ModifySegment
{
"pnr": "OGHBQ",
"currency": "CLP",
"promoCode": "",
"bookingAgent": "EXT_WEB",
"modifyDetails": [
{
"oldSegment": {
"LFID": "290105",
"origin": "SCL X",
"destination": "LIM X",
"departureDate": "2021-02-01",
"flightNumber": "802"
},
"newSegment": {
"LFID": "319029",
"origin": "SCL",
"destination": "PMC",
"departureDate": "2021-03-01",
"flightNumber": "401",
"farebasis": "NZERO",
"fareAmount": "14990"
},
"passengers": [
{
"passengerId": "40883734",
"ptc": "ADT",
"services": [
{
"serviceCode": "1BAG",
"serviceAmount": 10.48
}
],
"penalties": []
},
{
"passengerId": "40883733",
"ptc": "ADT",
"services": [
{
"serviceCode": "1SCH",
"serviceAmount": 10.48
},
{
"serviceCode": "1BAG",
"serviceAmount": 10.48
}
],
"penalties": []
},
{
"passengerId": "40883732",
"ptc": "ADT",
"services": [
{
"serviceCode": "1BAG",
"serviceAmount": 10000
},
{
"serviceCode": "CRRY",
"serviceAmount": 8000
}
],
"penalties": []
},
{
"passengerId": "40883731",
"ptc": "ADT",
"services": [
{
"serviceCode": "1BAG",
"serviceAmount": 15000
}
],
"penalties": []
}
]
}
]
}
URL: https://ms-booking-stage.herokuapp.com/booking/segments/passengers/seats
payload:
{
"pnr": "WCYKVO",
"segments": [
{
"LFID": "272885",
"flightNumber": "163",
"departureDate": "2020-12-05",
"passengers": [
{
"ptc": "ADT",
"passengerId": "40853186",
"seats": [
{
"PFID": "265606",
"seat": "A",
"row": 1
}
]
}
]
}
]
}
MS Booking - By DNI
URL: https://ms-booking-stage.herokuapp.com/booking/contact
Metodo: PUT
Payload:
{
"pnr": "XRCWGR",
"passengers": [
{
"passengerId": 40796592,
"firstName": "JUAN",
"lastName": "PEREZ",
"dateOfBirth": "1991-09-03",
"age": "29",
"dni": "123456",
"dniType": "DNI",
"phone": "+5699999999",
"phoneCode": "56",
"country": "CL",
"email": "el.juan@juan.com",
"gender": "Male"
}
]
}
MS Booking update passengers
Permitir al momento de ingresar la servicio de updatepassengers pueda actualizar los
datos de los pasajeros.
URL https://ms-booking-stage.herokuapp.com/booking/segments/passengers
Payload:
{
"pnr": "USARHK",
"passengers": [
{
"passengerId": 40802909,
"firstName": "Claudio",
"lastName": "Test",
"dateOfBirth": "1991-09-03",
"age": "29",
"dni": "123456",
"dniType": "DNI",
"phone": "+5699999999",
"phoneCode": "56",
"country": "PE",
"email": "el.juan@juan.com",
"gender": "Male"
}
]
}
MS Booking - asignar checkin
Permitir al momento de ingresar al MS booking - checkin, debe poder realizar checkin a los
pasajeros de la reserva
Metodo: POST
URL: https://ms-booking-stage.herokuapp.com/booking/segments/passengers/checkin
Payload:
{
"pnr": "WCYKVO",
"segments": [
{
"LFID": "272885",
"origin": "SCL",
"destination": "CCP",
"departureDate": "2020-12-05",
"passengers": [
{
"passengerId": "40853186"
}
]
}
]
}
Payload:
{
"pnr": "WTNMDV"
}
Metodo: POST
URL: https://ms-booking-stage.herokuapp.com/booking/segments/passengers/checkout
Payload:
{
"pnr": "NUPHKQ",
"segments": [
{
"LFID": 272915,
"origin": "SCL",
"destination": "LIM",
"departureDate": "2020-12-05",
"passengers": [
{
"passengerId": "40853157"
},
{
"passengerId": "40853158"
}
]
}
]
}
MS Booking /booking/charges OverrideCharges
Payload:
PAYLOAD:
{
"pnr": "CAVJYT"
}
Microservicio Fulfillment MS
Fulfillment MS – RetrieveVoucher
Permitir al momento de ingresar Fulfillment MS - RetrieveVoucher debe devolver un
voucher
Método: POST
Payload:
{
"voucherNumbers": [
"SDXXWV",
"NLBZGN",
"SDXXWV"
]
}
URL: https://ms-fulfillment-stage.herokuapp.com/fulfillment/voucher/retrieve
Fulfillment MS – RegisterPSSPayment
Permitir al momento de ingresar Fulfillment MS - RegisterPSSPayment debe mostrar Salda
balance de reserva [Registra un pago]
Payload:
{
"seriesNumber": 299,
"pnr": "DACHQP",
"voucher": "",
"paymentDetails": [
{
"payment": {
"baseAmount": "162.84",
"baseCurrency": "USD",
"cardHolder": "Il rorro",
"cardNumber": "4051885600446623",
"currency": "CLP",
"cvc": "123",
"method": "VISA",
"datePaid": "2021-10-21",
"exchangeRate": "1",
"exchangeRateDate": "2021-10-21",
"amount": "162.84",
"transactionId": "123456",
"reference": "web-CL-VISA-MMB",
"iataNumber": "456456",
"authorizationCode": "XXX445645",
"userId": "33"
},
"payor": {
"firstName": "MARIA",
"lastName": "ROZAS",
"dateOfBirth": "1995-09-06",
"gender": "Female",
"companyName":"jotaadev"
}
}
]
}
URL:
https://ms-fulfillment-stage.herokuapp.com/fulfillment/pss/payment
Microservicio Pricing
Ambientes:
PROD https://pricing-ms.skyairline.com
STAGE https://pricing-ms-stage.skyairline.com
DEV https://pricing-ms-qa.skyairline.com
Repositorio:
GITLAB https://gitlab.com/sky_airline/integraciones/microservicio/pricing_ms
Servicios:
URL: https://ms-pricing-stage.herokuapp.com/pricing/currencies/conversion
Método: Post
Payload:
{
"amount": 1000,
"fromCurrency": "CLP",
"toCurrency": "USD"
}
Pricing MS - adjust fares shop
AL Ingresar Pricing MS ADdjust Fares shop, validar cuando no existan segmentos en la
búsqueda, muestre una validación.
https://pricing-ms-qa.skyairline.com/pricing/fares/adjust
Payload:
{
"currency": "CLP",
"adjustmentDetails": [
{
"LFID": 255080,
"origin": "SCL",
"destination": "CJf",
"departureDate": "2020-09-3s",
"ptc": "ADT",
"fareId": 1,
"farebasis": "AZERO",
"newAmount": 7003
}
]
}
Dynamic Fares
Al ingresar Princing MS - para los servicios para services/dynamic - fares/dynamic debe
estar timeout que va hacia seatMax
URL: https://ms-pricing-stage.herokuapp.com/pricing/fares/dynamic
Payload:
{
"stage": "INITIAL_SALE",
"flightNumber": "401",
"origin": "SCL",
"destination": "CSS",
"departureDate": "2021-01-02",
"aircraftType": "320 201",
"currency": "CLP",
"fareClass": "Q"
}
Payload:
{
"stage": "INITIAL_SALE",
"flightNumber": "304",
"origin": "SCL",
"destination": "ARI",
"departureDate": "2020-09-02",
"aircraftType": "320 201",
"currency": "CLP",
"fareClass": "S"
}
Rebooking Simulate
Permitir al momento de realizar una simulación de reeemision para los segmentos boteados en
Princing MS
Pre-condiciones:
POST: https://pricing-ms-qa.skyairline.com/pricing/rebooking/simulate
Payload:
"pnr": "FUGYDK",
"currency": "USD",
"promoCode": "",
"bookingAgent": "EXT_WEB",
"changeCost": 1,
"modifyDetails": [
{
"oldSegment": {
"LFID": 322480,
"origin": "SCL",
"destination": "PNT",
"departureDate": "2021-03-25",
"flightNumber": "421"
},
1
6 "newSegment": {
17 "LFID": 322486,
18 "origin": "SCL",
19 "destination": "PNT",
20 "departureDate": "2021-03-26",
21 "flightNumber": 421,
22 "farebasis": "MZERO",
23 "fareAmount": 61
24 },
25 "passengers": [
26 {
27 "passengerId": 40926354,
28 "ptc": "ADT",
29 "services": [
30 {
31 "segmentId": 1,
32 "serviceCode": "INSU",
33 "serviceAmount": 3
34 },
35 {
36 "segmentId": 1,
37 "serviceCode": "1BAG",
38 "serviceAmount": 4
39 }
40 ],
41 "penalties": [],
42 "taxes": []
43 }
44
45 ]
46 }
47 ]
48}
Inventory BL
Ambientes:
PROD https://inventory-bl.skyairline.com/
STAGE https://inventory-bl-stage.skyairline.com/
DEV https://inventory-bl-qa.skyairline.com/
Repositorio:
GITLAB https://gitlab.com/sky_airline/integraciones/microservicio/inventory_bl
Inventory BL – By agent
Obtener listado de rutas aéreas en operación.
GET /inventory/routes/by-agent
https://inventory-bl-qa.skyairline.com/inventory/routes/by-agent
Inventory BL- Seats availability PSS
Obtener la disponibilidad de asientos para un segmento en específico.
GET /inventory/seats
URL: https://bl-inventory-stage.herokuapp.com/inventory/seats?LFID=272885&departureDate=2026-12-
05&origin=SCL&destination=LIM&flightNumber=163¤cy=CLP
Params:
LFID:272885
departureDate:2026-12-05
origin:SCL
destination:LIM
flightNumber:163
currency:CLP
Headers:
x-api-key:5574CF407AA2433B9D5F77491D8B9340
Authorization:BB2E118B0B804C06B7DC5F4AA515E3E4
homeMarket:CL
BOOKING BL
Booking BL - by Lastname:
GET /booking/by-lastname
Microservicio que nos permite buscar un PNR con validación de pasajeros, en donde uno
de los parámetros debe ser el apellido de alguno de los pax dentro de la reserva; Además,
contiene lógicas de negocio para cálculo de flags para MMB y WCI.
URL: https://bl-booking-ms-qa.skyairline.com/booking/by-lastname?pnr=CAVJYT&lastName=Test&sync=true
Params:
pnr:CAVJYT
lastName:Test
sync:true
POST /booking/segments/checkin
Microservicio con lógica de negocio que nos permite realizar el checkin con asignación de
asiento aleatorio sino tiene un asiento asignado.
URL: https://booking-bl-qa.skyairline.com/booking/segments/checkin
Payload:
{
"pnr": "LZKOLB",
"segments": [
{
"LFID": "299821",
"origin": "SCL",
"destination": "LIM",
"departureDate": "2021-03-30",
"passengers": [
{
"passengerId": "40929203"
},
{
"passengerId": "40929201"
},
{
"passengerId": "40929202"
}
]
}
]
}
Booking BL – Rebooking Availability Check
POST /booking/segment/rebooking-availability-check
Microservicio que nos permite validar si una intención de cambio de segmento
tiene disponibilidad de inventario respecto de los servicios y tarifa asociados a una
reserva anterior.
Payload:
{
"pnr": "KAZFQL",
"oldSegment": {
"LFID": "291087",
"origin": "SCL",
"destination": "ANF",
"departureDate": "2021-02-18",
"flightNumber": "0280"
},
"newSegment": {
"LFID": "291133",
"origin": "SCL",
"destination": "LSC",
"departureDate": "2021-02-19",
"flightNumber": "0204"
}
}
Booking BL – Refund
POST /booking/refund
Microservicio que nos permite persistir los datos bancarios de los clientes que
solicitan devolución; Además, cancela la reserva.
URL: https://bl-booking-stage.herokuapp.com/booking/refund
Payload:
{
"pnr": "DYUPXZ",
"requestor": {
"payorName": "Luis Valenzuela",
"documentType": "DNI",
"documentNumber": "12345687890",
"accountType": "Cuenta Corriente",
"accountNumber": 10110111927,
"bankCode": "012",
"cciCode": 12345678987654654000,
"currency": "CLP",
"email": "luis.valenzuela@yourmail.com"
}
}
GET /booking/refund
Microservicio que nos permite extraer las devoluciones procesadas en cierto día
desde el servicio /booking/refund.
URL: https://bl-booking-stage.herokuapp.com/booking/refund?date=20201-04-21
Booking BL - Insurance
POST /booking/insurance Orquestación no completada debido a falta de
Insurance MS
URL: https://booking-bl-qa.skyairline.com/booking/insurance
Payload:
{
"pnr": "PBINSH"
}
Princing BL
Ambientes:
PROD https://pricing-bl.skyairline.com
STAGE https://pricing-bl-stage.skyairline.com
DEV https://pricing-bl-qa.skyairline.com
Repositorio:
GITLAB https://gitlab.com/sky_airline/integraciones/microservicio/pricing_bl
URL: https://bl-pricing-stage.herokuapp.com/pricing/fares
Payload:
{
"stage": "INITIAL_SALE",
"currency": "CLP",
"promoCode": "",
"segments": [
{
"LFID": 291087,
"origin": "SCL",
"destination": "ANF",
"departureDate": "2021-02-18",
"fareClass": "Q"
}
],
"passengerCount": [
{
"ptc": "ADT",
"quantity": "1"
}
]
}
URL: https://pricing-bl-qa.skyairline.com/pricing/services
Payload:
{
"stage": "INITIAL_SALE",
"channel": "EXT_WEB",
"currency": "CLP",
"segments": [
{
"segmentId": "1",
"LFID": 301645,
"origin": "SCL",
"destination": "LIM",
"departureDate": "2021-04-30",
"flightNumber": 800,
"fareBasis": "MZERO",
"fareAmount": 82
}
]
}
Pricing BL – Segment rebooking cost
Obtener costo simulado de reemisión de segmento.
POST /pricing/segment/rebooking
URL: https://pricing-bl-qa.skyairline.com/pricing/segment/rebooking
Payload:
{
"pnr": "KAZFQL",
"stage": "MMB",
"oldSegment": {
"LFID": 322480,
"origin": "SCL",
"destination": "PNT",
"departureDate": "2021-03-25",
"flightNumber": "421"
},
"newSegment": {
"LFID": 322486,
"origin": "SCL",
"destination": "PNT",
"departureDate": "2021-03-26",
"flightNumber": 421,
"farebasis": "SZERO",
"fareAmount": "144990"
}
}
Fulfillment Events Rabbit
Al ingresar en RabbitMQ Fulfillment BL- paymentApproved se puede realizar pagos
mixtos, voucher, cash, crédito.
Pre-condiciones:
Payload:
{
"messageId":"$ConfiguMQrequestTestWCI005",
"publisher":"WALLET",
"event":"paymentApproved",
"published":"2021-03-23T18:59:54.371Z",
"data":{
"headers":{
"homemarket":"CL",
"business":"Retail"
},
"body":{
"pnr":"WANIIC",
"voucher":"",
"seriesNumber":299,
"paymentDetails":[
{
"baseAmount":15980,
"baseCurrency":"CLP",
"currency":"CLP",
"method":"CASH",
"cvc":"",
"cardHolder":"",
"cardNumber":"",
"exchangeRate":"1",
"exchangeRateDate":"2021-03-23",
"amount":15980,
"transactionId":"ert345345ertretrtConf005",
"reference":"WEB-CL-CASH-WCI",
"iataNumber":"",
"authorizationCode":"44c6b6d445dbd6e2"
}
],
"payor":{
"id":"40924753",
"firstName":"ROSA",
"lastName":"Test001Confi0005",
"dateOfBirth":"1991-04-07",
"gender":"Male",
"country":"Alemania",
"codeType":"CUIT",
"code":"32233",
"branchOfficeId":"x",
"businessId":"x",
"payorId":"x"
}
}
}
}
Rabbit MQ:
Exchan fulfillment-fulfillmentCompleted
ge
Routin Retail
g Key
Redeli ○
vered
Proper delivery_mode:2headers:
ties
Payloa 1{"messageId":"$2b$10$jZ27yIfqrnNJ8PcJT5immO5IsZm
d1015 e1nRqUjqRBXk01kdxeVrH20FEa"
,"publisher":"MS-
bytesEncodi FULFILLMENT","event":"fulfillmentCompleted",
ng: string "published":"2021-03-31T16:43:17.470Z",
"data":{"code":0,"message":"Successful
operation"
,"seriesNumber":299,"pnr":"XVLPIW",
"balance":0.02,"currency":"USD","paymentDetails"
:[
{"paymentId":"24156205","amount":389010,
"method":"CASH","authorizationCode":"44c6b6d445d
bd6e2",
"baseAmount":465.88,"baseCurrency":"USD","curren
cy":
"ARS","cvc":"","cardHolder":"-","cardNumber":0,
"datePaid":"2021-03-
31T16:43:16","exchangeRate":835
,"exchangeRateDate":"2021-03-
31T00:00:00","transactionId":
"ert345345testing0017rosa017","reference":"WEB-
AR-CASH-IS",
"iataNumber":"","userId":"123123123"}],"payor":
{"id":"40924753"
,"firstName":"ROSA","lastName":"Test017rose10017
","dateOfBirth"
:"1991-04-
07","gender":"Male","country":"Alemania","codeTy
pe":"CUIT","code
":"32233","branchOfficeId":"x","businessId":"x",
"payorId":"x"}}
,"metadata":
{"originMessageId":"$testing00017rosangela0017",
"business":"Retail"}}
Mongo DB: