Price Surfer - Export contable
Sumario
Introducción
El Web Services permite al cliente conectarse de manera transparente a la aplicación a través de un conjunto de funciones que pueden ser llamadas, desde las páginas web de sus sitios.
A través del servicio web un mayorista podrá buscar reservas de aéreos, solicitar información detallada de reservas, cambiar el estado del pago de reservas y consultar información de agencias. Todo a través de una interfaz única basada en el intercambio de documentos XML, que será descripta en esta guía de uso.
Además de este manual, están disponibles los esquemas XML (.XSD) para validar los mensajes antes de ser enviados al Web Service, así como también mensajes XML de ejemplo para cada función.
Interfaz Cliente Simplificada
El API va a usar protocolos HTTP estandard. Lo único que se requiere es un pedido de POST del HTTP.
Esto le otorgará las siguientes ventajas.
- Protocolos estandards de su empresa
- No se requiere de ningún componente adicional.
Requisitos de los clientes
- Los pedidos de los clientes deben ser hechos desde una dirección pública y estática que esté registrada con NEMO.
- Client requests must be made via an HTTP POST request. Los pedidos del cliente deben ser hechos a través de un pedido POST de HTTP.
- Toda la información enviada y recibida a traves de la interface va a ser guardada en UTF-8
Autenticación del Cliente
Los headers del POST deben contener autenticación HTTP de tipo basic estandar, con nombre y usuario habilitado de Navigator (las mismas credenciales que se usan para ingresar en el backend).
Acceso
1. URL del mensaje: URL de la API (según entorno) + nombre del mensaje
URL de la API (según entorno):
- desarrollo: http://navigator/backend_dev.php/api/
- QA: http://qanav.nemo.com.ar/backend_qa.php/api/
- producción: http://<dominio>/backend.php/api/
Los nombres de los mensajes disponibles son:
- BookingsQueryRQ: Búsqueda de reservas
- BookingsDetailsRQ: Pedido de detalle de reservas
- AgencyQueryRQ: Pedido de detalle de agencias
- BookingPaymentStatusRQ: Cambio de estado de reserva a pagado
Ejemplo de pedido de una agencia al servidor de QA:
http://qanav.nemo.com.ar/backend_qa.php/api/AgencyQueryRQ
2. La consulta: El POST debe llevar adjunto un archivo XML con igual nombre al mensaje (en el ejemplo “AgencyQueryRQ”) cuyo contenido será el de la consulta que se quiere hacer al WebService.
Códigos de respuesta de la petición HTTP
La respuesta del WebService puede tomar diferentes códigos, a continuación se detalla el significado de cada una.
Código | Respuesta |
---|---|
200 | OK |
400 | No valida el XML de la consulta |
401 | Fallo de autenticación |
404 | No se encontró el archivo XML de la consulta |
404 | No se encontraron agencias con los parámetros de búsqueda ingresados |
404 | No se encontraron reservas con los parámetros de búsqueda ingresados |
503 | No se pudo conectar con el core de navigator |
Por cualquier consulta recuerde dirigirse al mail de Soporte Técnico:
support@pricenavigator.net
Mensajes soportados
Buscar reservas (BookingQuery)
Búsqueda de reservas de aéreos en un rango de fechas determinado. Retorna un listado de reservas correspondientes a las fechas ingresadas.
Recibe BookingsQueryRQ, retorna BookingsQueryRS.
La búsqueda incluye aéreos y hoteles.
Se pueden ingresar como parámetros para la búsqueda:
- fecha de creación
- fecha de checkin
- identificador de la agencia
- nombre de pasajero
- nombre de cliente
Solicitar información detallada de reservas (BookingDetails)
Consulta de información detallada de una reserva determinada especificando un identificador de la reserva.
Recibe BookingsDetailsRQ, retorna BookingsDetailsRS.
Cambiar estado del pago de reservas (BookingPaymentStatus)
Cambio de estado de pago de una reserva. Retorna el resultado de la transacción. Podrá indicar si el cambio fue realizado con éxito o en caso contrario notificar qué evento se produjo por el cual no pudo realizarse el cambio.
Recibe BookingPaymentStatusRQ, retorna BookingPaymentStatusRS.
Consultar info de agencia (AgencyQuery)
Consulta de información detallada de una agencia determinada especificando el ID de agencia o el nombre de la misma.
Recibe AgencyQueryRQ, retorna AgencyQueryRS.
Documentos XML
Mensaje BookingsQuery: Buscar reservas
La búsqueda de reservas permite obtener un listado de reservas con toda la información referida a cada reserva en particular.
El método BookingsQuery recibe un documento BookingsQueryRQ y retorna un documento BookingsQueryRS.
BookingsQueryRQ
Ejemplo
<syntaxhighlight lang="xml">
<BookingsQueryRQ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='AEXCEV_Main.xsd'>
<GeneralParameters>
<PreferedLanguage LanguageCode="es-AR"/>
</GeneralParameters>
<Details>
<Criterion>
<AgencyId>11539</AgencyId>
<CreationDate>
<DateFrom>2011-06-23</DateFrom>
<DateTo>2011-06-24</DateTo>
</CreationDate>
<CheckinDate>
<DateFrom>2011-07-19</DateFrom>
<DateTo>2011-07-19</DateTo>
</CheckinDate>
<GuestName>John0</GuestName>
<ClientName>Cesar Palmieri</ClientName>
<BookingState>
NMO.HTL.BST.RQF
<StateMachineId>2</StateMachineId>
</BookingState>
</Criterion>
</Details>
</BookingsQueryRQ> </syntaxhighlight>
Parámetro | Obligatorio | Descripción |
---|---|---|
GeneralParameters | SI | Parámetros generales de configuración de la consulta. |
PreferedLanguage | SI | Establece el lenguaje requerido para la respuesta.
Atributos: LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Web Services. |
Details | SI | Detalle del mensaje de búsqueda. |
Criterion | SI | Indica los distintos parámetros de la búsqueda. |
AgencyId | NO | Indica el número de agencia para buscar. |
CreationDate | NO | Indica el rango de fechas de creación de la reserva. |
DateFrom | NO | Fecha de creación desde. |
DateTo | NO | Fecha de creación hasta. |
CheckinDate | NO | Indica el rango de las fechas de checkin de la reserva. |
DateFrom | NO | Fecha de checkin desde. |
DateTo | NO | Fecha de checkin hasta. |
GuestName | NO | Identifica el nombre del huésped para la habitación. |
ClientName | NO | Persona que realiza la reserva. |
BookingState | No | Estado de la reserve |
Code | No | Código de estado de la reserva |
StateMachineId | No | Id de la máquina de estado |
BookingsQueryRS
Ejemplo
<syntaxhighlight lang="xml"> <BookingsQueryRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="AEXCEV_Main.xsd">
<Echo>
<GeneralParameters>
<PreferedLanguage LanguageCode="es-AR" />
</GeneralParameters>
<Details>
<Criterion>
<AgencyId>11539</AgencyId>
<CreationDate>
<DateFrom>2011-06-23</DateFrom>
<DateTo>2011-06-24</DateTo>
</CreationDate>
<CheckinDate>
<DateFrom>2011-07-19</DateFrom>
<DateTo>2011-07-19</DateTo>
</CheckinDate>
<GuestName>John0</GuestName>
<ClientName>Cesar Palmieri</ClientName>
</Criterion>
</Details>
</Echo>
<Details>
<Bookings ItemsCount="1">
<Booking Sequence="1" ContractId="11640" AgencyId="11539">
<BookingReference ReferenceType="NMO.GBL.BRT.NAV">DN_0000Y</BookingReference>
<BookingState ItemsCount="1">
<BookingState>
NMO.HTL.BST.RQF
<Description>Request failed</Description>
<StateMachineId>2</StateMachineId>
<StateDateTime>2011-11-16T09:57:44</StateDateTime>
</BookingState>
</BookingState>
<BookingCreationDate>2011-06-23</BookingCreationDate>
<ClientName>cesar palmieri</ClientName>
<Price PriceType="PVP">
<Amount CurrencyCode="USD">0</Amount>
</Price>
<BookingItems>
<Hotels ItemsCount="1">
<Hotel Sequence="1">
<BookingReference ReferenceType="NMO.HTL.RPT.MPH">DN_0000Y-1</BookingReference>
</Hotel>
</Hotels>
</BookingItems>
</Booking>
</Bookings>
</Details>
</BookingsQueryRS> </syntaxhighlight>
Parámetro | Obligatorio | Descripción |
---|---|---|
GeneralParameters | SI | Parámetros generales de configuración de la consulta. |
PreferedLanguage | SI | Establece el lenguaje requerido para la respuesta.
Atributos: LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Web Services. |
Details | SI | Detalle de la respuesta del mensaje de búsqueda. |
Criterion | SI | Indica los distintos parámetros de la búsqueda. |
AgencyId | NO | Indica el número de agencia para buscar. |
CreationDate | NO | Indica el rango de las fechas de creación de la reserva. |
DateFrom | NO | Fecha de creación desde. |
DateTo | NO | Fecha de creación hasta. |
CheckinDate | NO | Indica el rango de las fechas de checkin de la reserva. |
DateFrom | NO | Fecha de checkin desde. |
DateTo | NO | Fecha de checkin hasta. |
GuestName | NO | Identifica el nombre del huésped para la habitación. |
ClientName | NO | Persona que realiza la reserva. |
Bookings | SI | Detalle de las reservas encontradas. |
BookingReference | SI | Lista de referencias asociadas a la reserva. |
BookingState | SI | Estado de la reserva. |
Code | SI | Código de estado de la reserva. |
Description | SI | Descripción del estado de la reserva. |
StateMachineId | SI | Id de la máquina de estados. |
StateDateTime | SI | Fecha del cambio de estado. |
BookingCreationDate | SI | Fecha de creación de la reserva. |
ClientName | SI | Nombre del cliente que realizó la reserva. |
Price | SI | Precio y tipo de precio de la reserva. |
Amount | SI | Monto del precio de la reserva. |
BookingItems | SI | Detalle de los items de la reserva. |
Hotels | SI | Items de hoteles. |
BookingReference | SI | Lista de referencias asociadas a la reserva. |
Mensaje BookingsDetails: Solicitar información detallada de reservas
La solicitud de información detallada de reservas permite obtener detalles de los datos por cada reserva.
El método BookingsDetails recibe un documento BookingsDetailsRQ y retorna un documento BookingsDetailsRS.
BookingsDetailsRQ
Ejemplo
<syntaxhighlight lang="xml"> <BookingsDetailsRQ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='AEXCEV_Main.xsd'>
<GeneralParameters> <PreferedLanguage LanguageCode="es-AR"/> </GeneralParameters> <Details> <Bookings ItemsCount="1"> <Booking Sequence="1"> <BookingReference ReferenceType="NMO.GBL.BRT.NAV">DN_0000Y</BookingReference> </Booking> </Bookings> </Details>
</BookingsDetailsRQ> </syntaxhighlight>
Parámetro | Obligatorio | Descripción |
---|---|---|
GeneralParameters | SI | Parámetros generales de configuración de la consulta. |
PreferedLanguage | SI | Establece el lenguaje requerido para la respuesta.
Atributos: LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Web Services. |
Details | SI | Detalle del mensaje de pedido de reservas. |
Bookings | SI | Reservas pedidas. |
BookingReference | SI | Lista de referencias asociadas a la reserva. |
BookingsDetailsRS
Ejemplo
<syntaxhighlight lang="xml">
<BookingsDetailsRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="AEXCEV_Main.xsd">
<Echo> <GeneralParameters> <PreferedLanguage LanguageCode="es-AR" /> </GeneralParameters> <Details> <Bookings ItemsCount="1"> <Booking Sequence="1"> <BookingReference ReferenceType="NMO.GBL.BRT.NAV">DN_0000Y</BookingReference> </Booking> </Bookings> </Details> </Echo> <Details> <Bookings ItemsCount="1"> <Booking Sequence="1" ContractId="11640"> <BookingReference ReferenceType="NMO.GBL.BRT.NAV">DN_0000Y</BookingReference> <BookingCreationDate>2011-06-23T11:11:20</BookingCreationDate> <ClientName>cesar palmieri</ClientName> <Agency AgencyId="11539"> <Name>Operador Mariana Dos</Name> <CreationUser>ADMINISTRADOR NEMO PRODUCCION</CreationUser> </Agency> <BookingState ItemsCount="1"> <BookingState>NMO.HTL.BST.RQF
<Description>Request failed</Description> <StateMachineId>2</StateMachineId> <StateDateTime>2011-11-16T09:57:44</StateDateTime> </BookingState> </BookingState> <Payments ItemsCount="1"> <Payment Sequence="1" Type="NMO.CTR.WKF.CAC"> <Amount CurrencyCode="USD">0</Amount> </Payment> </Payments> <BookingItems> <Hotels ItemsCount="1"> <Hotel Sequence="1" HotelId="12804" Name="AURORA GARDEN"> <BookingReferences ItemsCount="1"> <BookingReference Sequence="1" ReferenceType="NMO.HTL.RPT.MPH">DN_0000Y-1</BookingReference> </BookingReferences> <DestinationDetails ItemsCount="2"> <Destination Sequence="1" DestinationType="NMO.HTL.DST.CTR" DestinationCode="150">Italia</Destination> <Destination Sequence="2" DestinationType="NMO.HTL.DST.CTY" DestinationCode="4753">Roma</Destination> </DestinationDetails> <CheckIn>2011-07-19</CheckIn> <CheckOut>2011-07-21</CheckOut> <Boards ItemsCount="1"> <Board Sequence="1" BoardCode="4">Desayuno buffet</Board> </Boards> <Passengers ItemsCount="1"> <Passenger Sequence="1" AgeType="NMO.GBL.AGT.AGT">John0 Q0</Passenger> </Passengers> <Rooms ItemsCount="1"> <Room Sequence="1" RoomType="NMO.HTL.RMT.DBL.TWN">Doble (con dos camas)</Room> </Rooms> <Description>AURORA GARDEN checkin 2011-07-19 checkout 2011-07-21, 1 Doble (con dos camas)</Description> <BookingStates ItemsCount="2"> <BookingState>NMO.HTL.BST.RQF
<Description>Fallo la solicitud</Description> <StateMachineId>2</StateMachineId> <StateDateTime>2011-06-23T11:11:21</StateDateTime> </BookingState> <BookingState>NMO.HTL.BST.PRE
<Description>Pago realizado</Description> <StateMachineId>3</StateMachineId> <StateDateTime>2011-11-16T09:57:44</StateDateTime> </BookingState> </BookingStates> <Prices ItemsCount="3"> <Price PriceType="NMO.GBL.RPT.GRS" Sequence="1"> <Amount CurrencyCode="USD">0</Amount> </Price> <Price PriceType="NMO.HTL.RPT.NBC" Sequence="2"> <Amount CurrencyCode="EUR">0</Amount> </Price> <Price PriceType="NMO.HTL.RPT.NET" Sequence="3"> <Amount CurrencyCode="USD">0</Amount> </Price> </Prices> </Hotel> </Hotels> </BookingItems> </Booking> </Bookings> </Details>
</BookingsDetailsRS> </syntaxhighlight>
Parámetro | Obligatorio | Descripción |
---|---|---|
GeneralParameters | SI | Parámetros generales de configuración de la consulta. |
PreferedLanguage | SI | Establece el lenguaje requerido para la respuesta.
Atributos: LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Web Services. |
Details | SI | Detalle de la consulta de reservas. |
Bookings | SI | Reservas de la consulta. |
BookingReference | SI | Lista de referencias asociadas a la reserva que se consulta. |
Details | SI | Detalle de la respuesta al mensaje de pedido de reservas. |
Bookings | SI | Detalle de las reservas encontradas. |
BookingReference | SI | Lista de referencias asociadas a la reserva. |
BookingCreationDate | SI | Fecha de creación de la reserva. |
ClientName | SI | Nombre del cliente de la reserva. |
Agency | SI | Agencia que realizó la reserva. |
Name | SI | Nombre de la agencia que realizó la reserva. |
CreationUser | SI | Usuario de la agencia que realizó la reserva. |
BookingState | SI | Estado de la reserva. |
Code | SI | Código de estado de la reserva. |
Description | SI | Descripción del estado de la reserva. |
StateMachineId | SI | Código de la máquina de estados de la reserva. |
StateDateTime | SI | Fecha y hora del cambio de estado de la reserva. |
Payments | NO | Pagos efectuados de la reserva. |
Amount | NO | Monto del pago efectuado por la reserva. |
BookingItems | SI | Detalle de los items de la reserva. |
Hotels | SI | Detalle de los items de hoteles de la reserva. |
BookingReferences | SI | Lista de referencias asociadas al item de la reserva. |
DestinationDetails | SI | Destino del item de la reserva. |
Destination | SI | Detalle del destino del item de la reserva. |
CheckIn | SI | Fecha de checkin del item de la reserva. |
CheckOut | SI | Fecha de checkout del item de la reserva. |
Boards | SI | Regimenes del item de la reserva. |
Passengers | SI | Pasajeros del item de la reserva. |
Rooms | SI | Habitaciones del item de la reserva. |
Description | SI | Descripción del item de la reserva. |
BookingStates | SI | Estados del item de la reserva. |
Code | SI | Código de estado del item de la reserva. |
Description | SI | Descripción del estado del item de la reserva. |
StateMachineId | SI | Código de la máquina de estados del item de la reserva. |
StateDateTime | SI | Fecha y hora del cambio de estado del item de la reserva. |
Prices | SI | Precios del item de la reserva. |
Amount | SI | Monto del precio del item de la reserva. |
Mensaje BookingPaymentStatus: Cambiar estado del pago de reservas
El cambio de estado del pago de reservas permite obtener el resultado de la transacción. Si éste se realizó con éxito o, caso contrario, notificar porqué no pudo realizarse.
El método BookingPaymentStatus recibe un documento BookingPaymentStatusRQ y retorna un documento BookingPaymentStatusRS.
BookingPaymentStatusRQ
Ejemplo
<syntaxhighlight lang="xml"> <BookingPaymentStatusRQ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='AEXCEV_Main.xsd'>
<Details> <Bookings ItemsCount="1"> <Booking Sequence="1"> <BookingReference ReferenceType="NMO.GBL.BRT.NAV">DN_0000Y</BookingReference> <BookingItems> <Hotels ItemsCount="1"> <Hotel Sequence="1"> <BookingReference ReferenceType="NMO.FLT.BRT.NAV">DN_0000Y-1</BookingReference> </Hotel> </Hotels> </BookingItems> </Booking> </Bookings> </Details>
</BookingPaymentStatusRQ> </syntaxhighlight>
Parámetro | Obligatorio | Descripción |
---|---|---|
Details | SI | Detalle del cambio de estado en las reservas. |
Bookings | SI | Reservas con pedido de cambio de estado. |
BookingReference | SI | Lista de referencias asociadas a la reserva. |
Hotels | NO | Detalle de los items de hoteles de la reserva. |
BookingReference | SI | Lista de referencias asociadas al item de hotel de la reserva. |
Flights | NO | Detalle de los items de aéreos de la reserva. |
BookingReference | SI | Lista de referencias asociadas al item de aéreos de la reserva. |