Skip to main content

How to use NDC Exchange API

NDC Exchange offers a simple synchronous SOAP interface to access available NDC services via a single endpoint/URL.
NDC request and response payloads are wrapped in a standard SOAP envelope. The SOAP body contains the NDC request or response only.

NDC Pre Order Work Flow

  Top

NDC Post Order Work Flow

Click here to download : NDC Work Flow

  Top

Sandbox Service Endpoints - Version 1

Function SANDBOX - Endpoint / URL
BaggageList https://ndchub.mconnect.aero/messaging/v1/ndc-exchange/BaggageList
BaggageCharges https://ndchub.mconnect.aero/messaging/v1/ndc-exchange/BaggageCharges
BaggageAllowance https://ndchub.mconnect.aero/messaging/v1/ndc-exchange/BaggageAllowance
ServiceList https://ndchub.mconnect.aero/messaging/v1/ndc-exchange/ServiceList
AirShopping https://ndchub.mconnect.aero/messaging/v1/ndc-exchange/AirShopping
OfferPrice https://ndchub.mconnect.aero/messaging/v1/ndc-exchange/OfferPrice
FlightPrice https://ndchub.mconnect.aero/messaging/v1/ndc-exchange/FlightPrice
OrderList https://ndchub.mconnect.aero/messaging/v1/ndc-exchange/OrderList
AirDocDisplay https://ndchub.mconnect.aero/messaging/v1/ndc-exchange/AirDocDisplay
SeatAvailability https://pci.ndchub.mconnect.aero/messaging/v1/ndc-exchange/SeatAvailability
ItinReshop https://pci.ndchub.mconnect.aero/messaging/v1/ndc-exchange/ItinReshop
OrderReshop https://pci.ndchub.mconnect.aero/messaging/v1/ndc-exchange/OrderReshop
OrderCreate https://pci.ndchub.mconnect.aero/messaging/v1/ndc-exchange/OrderCreate
OrderRetrieve https://pci.ndchub.mconnect.aero/messaging/v1/ndc-exchange/OrderRetrieve
OrderChange https://pci.ndchub.mconnect.aero/messaging/v1/ndc-exchange/OrderChange
OrderCancel https://pci.ndchub.mconnect.aero/messaging/v1/ndc-exchange/OrderCancel
AirDocIssue https://pci.ndchub.mconnect.aero/messaging/v1/ndc-exchange/AirDocIssue

  Top

Sandbox Service Endpoints - Version 2

Function SANDBOX - Endpoint / URL
BaggageList https://ndchub.mconnect.aero/messaging/v2/ndc-exchange/BaggageList
BaggageCharges https://ndchub.mconnect.aero/messaging/v2/ndc-exchange/BaggageCharges
BaggageAllowance https://ndchub.mconnect.aero/messaging/v2/ndc-exchange/BaggageAllowance
ServiceList https://ndchub.mconnect.aero/messaging/v2/ndc-exchange/ServiceList
AirShopping https://ndchub.mconnect.aero/messaging/v2/ndc-exchange/AirShopping
OfferPrice https://ndchub.mconnect.aero/messaging/v2/ndc-exchange/OfferPrice
FlightPrice https://ndchub.mconnect.aero/messaging/v2/ndc-exchange/FlightPrice
OrderList https://ndchub.mconnect.aero/messaging/v2/ndc-exchange/OrderList
AirDocDisplay https://ndchub.mconnect.aero/messaging/v2/ndc-exchange/AirDocDisplay
SeatAvailability https://pci.ndchub.mconnect.aero/messaging/v2/ndc-exchange/SeatAvailability
ItinReshop https://pci.ndchub.mconnect.aero/messaging/v2/ndc-exchange/ItinReshop
OrderReshop https://pci.ndchub.mconnect.aero/messaging/v2/ndc-exchange/OrderReshop
OrderCreate https://pci.ndchub.mconnect.aero/messaging/v2/ndc-exchange/OrderCreate
OrderRetrieve https://pci.ndchub.mconnect.aero/messaging/v2/ndc-exchange/OrderRetrieve
OrderChange https://pci.ndchub.mconnect.aero/messaging/v2/ndc-exchange/OrderChange
OrderCancel https://pci.ndchub.mconnect.aero/messaging/v2/ndc-exchange/OrderCancel
AirDocIssue https://pci.ndchub.mconnect.aero/messaging/v2/ndc-exchange/AirDocIssue

  Top

Production Service Endpoints - Version 1

Function PROD - Endpoint / URL
BaggageList https://ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/BaggageList
BaggageCharges https://ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/BaggageCharges
BaggageAllowance https://ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/BaggageAllowance
ServiceList https://ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/ServiceList
AirShopping https://ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/AirShopping
OfferPrice https://ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/OfferPrice
FlightPrice https://ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/FlightPrice
OrderList https://ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/OrderList
AirDocDisplay https://ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/AirDocDisplay
SeatAvailability https://pci.ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/SeatAvailability
ItinReshop https://pci.ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/ItinReshop
OrderReshop https://pci.ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/OrderReshop
OrderCreate https://pci.ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/OrderCreate
OrderRetrieve https://pci.ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/OrderRetrieve
OrderChange https://pci.ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/OrderChange
OrderCancel https://pci.ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/OrderCancel
AirDocIssue https://pci.ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/AirDocIssue

  Top

Production Service Endpoints - Version 2

Function PROD - Endpoint / URL
BaggageList https://ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/BaggageList
BaggageCharges https://ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/BaggageCharges
BaggageAllowance https://ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/BaggageAllowance
ServiceList https://ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/ServiceList
AirShopping https://ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/AirShopping
OfferPrice https://ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/OfferPrice
FlightPrice https://ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/FlightPrice
OrderList https://ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/OrderList
AirDocDisplay https://ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/AirDocDisplay
SeatAvailability https://pci.ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/SeatAvailability
ItinReshop https://pci.ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/ItinReshop
OrderReshop https://pci.ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/OrderReshop
OrderCreate https://pci.ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/OrderCreate
OrderRetrieve https://pci.ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/OrderRetrieve
OrderChange https://pci.ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/OrderChange
OrderCancel https://pci.ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/OrderCancel
AirDocIssue https://pci.ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/AirDocIssue

  Top

Service Interface - Version 1

The following sections describe the format and content of Service Requests and Responses

WSDL Version1

A simple HTTP GET request or browser request to the endpoint?WSDL will return the WSDL that describes the interface to the NDC Exchange, as follows:

TEST WSDL Request:

GET https://ndchub.mconnect.aero/messaging/v1/ndc-exchange/AirShopping?WSDL

PROD WSDL Request:

GET https://ndcexchange.mconnect.aero/messaging/v1/ndc-exchange/AirShopping?WSDL

The request should look something like:

Exchange Header for v1

NDC request and response payloads are wrapped in a standard SOAP envelope.  The SOAP header is not currently used but may be used for some functions in future.  The SOAP body contains a small header (NDCMSG_Header) and the NDC request or response (NDCMSG_Body & NDCMSG_Payload).

Schema for v1 interface

  Top

Recipient | Address

The recipient address element is mandatory and comprises two parts, the target company name and the system identifier.   e.g. “ATPCO, TEST” or “AC, PROD” etc.

A recipient address is required to determine which service is being requested.  This information is used in combination with the schema type, schema version and function to identify a service that is provided on the NDC Exchange.

Sender | Address

The sender address element is optional and comprises two parts, the target company name and the system identifier.   e.g. “MYTRAVEL, PROD”.

Although it is optional, it is useful to identify a sender’s transactions.

Credentials

Credentials are required for most supported services and can be in three different formats:

  • User/Password
  • API Key
  • Token

The type of credentials provided in a request to the NDC Exchange will depend on the target service being consumed.  This section of the header will be expanded as different types of credentials are supported.

Schema Type

This element is optional and specifies the type of XML payload being used to communicate with the NDC Exchange.  If not specified, it will be defaulted and assumed to be an “NDC” payload type.

Schema Version

This specifies the schema version of the enclosed request payload. It must match the schema version of a service provided on the NDC Exchange.

Function

If not provided the exchange will use the function passed in the root node of the NDCMSG_Payload. The function is used to specify the type of payload or request.  e.g. “AirShoppingRQ” or “BaggageAllowanceRQ” etc.  The NDC Exchange uses the Function, Recipient Address, Schema Type and Schema Version to identify the service being requested.  If not recognised by the NDC Exchange, the request will fail.

Message Identifier

This is an optional element to support future functionality but enables the consumer to associate an identifier with a request.  The NDC Exchange will return the same identifier in the response.  If not provided the exchange will generate an identifier and return it in the response to the consumer.

  Top

Service Interface - Version 2

The following sections describe the format and content of Service Requests and Responses

WSDL Version2

A simple HTTP GET request or browser request to the endpoint?WSDL will return the WSDL that describes the interface to the NDC Exchange, as follows:

TEST WSDL Request:

GET https://ndchub.mconnect.aero/messaging/v2/ndc-exchange/AirShopping?WSDL

PROD WSDL Request:

GET https://ndcexchange.mconnect.aero/messaging/v2/ndc-exchange/AirShopping?WSDL

The request should look something like:

Exchange Header for v2

NDC request and response payloads are wrapped in a standard SOAP envelope.The SOAP body contains a small header (NDCMSG_Header) and the NDC request or response (NDCMSG_Body & NDCMSG_Payload).

Schema For v2 interface

Function

It is a mandatory element and is used to specify the type of payload or request.  e.g. “AirShoppingRQ” or “BaggageAllowanceRQ” etc.  The NDC Exchange uses the Function, Recipient Address, Schema Type and Schema Version to identify the service being requested.  If not recognised by the NDC Exchange, the request will fail.

Schema Type

This element is mandatory and specifies the type of XML payload being used to communicate with the NDC Exchange.

Schema Version

This element is mandatory and specifies the schema version of the enclosed request payload. It must match the schema version of a service provided on the NDC Exchange.

Rich Media

This is an optional element and will provide Rich Media content on enabling it.

Message Identifier

This is an optional element to be used only is responses and if provided in the request the identifier will be ignored.  The exchange will generate an identifier and return it in the response to the consumer.

Recipient | Address

The recipient address element is mandatory and comprises two parts, the target company name and the system identifier.   e.g. “ATPCO, TEST” or “AC, PROD” etc.

A recipient address is required to determine which service is being requested.  This information is used in combination with the schema type, schema version and function to identify a service that is provided on the NDC Exchange.

Credentials

Credentials are required for most supported services. It is an optional element. Credentials can contain any type and any number of elements as the schema allows and depends on the Authentication identifiers required for successful Authentication.

The type of credentials provided in a request to the NDC Exchange will depend on the target service being consumed.  This section of the header will be expanded as different types of credentials are supported.

Sender | Address

The sender address element is optional and comprises of two parts, the target company name and the system identifier.   e.g. “MYTRAVEL, PROD”.

Although it is optional, it is useful to identify a sender’s transactions.

  Top

HTTP Request Headers

The only mandatory HTTP header that needs to be provided with each request is a user defined HTTP header called ‘X-apiKey’ and the associated value should contain the API Key that was assigned to you by developer.aero for using the NDC Exchange. 

e.g. Header: X-apiKey: <your API key>

Note: You will be allocated separate API Keys for using the TEST exchange and the PROD exchange so please make sure that you are using the correct API Key for the intended usage.

An optional HTTP header called ‘X-NDCMessageTraceLevel’ can also be provided to have the NDC Exchange keep a transaction trace of your request.  A value of ‘HIGH’ will trace your request into the exchange, to the target service, back from the target service and back to your client.  A value of ‘LOW’ will just trace the initial request from your client and final response to your client. 

e.g. Header: X-NDCMessageTraceLevel HIGH.

Note: The message tracing function is made available in all non-production instances of the NDC Exchange.

HTTP Response Headers

Depending on the request, the exchange will include one or more of the following HTTP headers, in the response, to help you to understand the amount of time taken to satisfy your request:

Header Name

Description

X-ProvWaitTime

The number of milliseconds waiting for the target service to respond

X-ReqMapTime

The number of milliseconds the exchange takes to transform your request into the format expected by the target service

X-ResMapTime

The number of milliseconds the exchange takes to transform the response from the target service back into the same format as your request

X-NDCExecutionTime

The total number of milliseconds from the exchange first receiving your request to the point it dispatches the final response to you

X-TraceID

The ID of the trace associated with your request (SANDBOX only)

  Top

Retrieving Trace Files (SANDBOX)

The trace function is only supported in the SANDBOX NDC Exchange and is for testing and development purposes.  A consumer who has previously requested trace for a transaction and received a TraceID in the HTTP header of the response can then retrieve that trace file by sending an HTTPS GET request to:

v1 Endpoint (Deprecated)

https://ndchub.mconnect.aero/messaging/v1/ndc-exchange/rest/trace/your-trace-id 

v2 Endpoint

https://ndchub.mconnect.aero/messaging/v2/ndc-exchange/rest/trace/your-trace-id 

where ‘your-trace-id’ is substituted with the value of the ‘X-TraceID’ returned in response to the initial request. The response will return the requested transaction trace in the response body.

This function has proven very useful for consumers integrating with the NDC Exchange for the first time.

  Top

HTTP Response code

The following HTTP response codes can be returned by the NDC Exchange:

X-ResMapTime The number of milliseconds the exchange takes to transform the response from the target service back into the same format as your request
X-NDCExecutionTime The total number of milliseconds from the exchange first receiving your request to the point it dispatches the final response to you
X-TraceID The ID of the trace associated with your requestThe ID of the trace associated with your request (SANDBOX only)

  Top

About us

We are the world's leading specialist in air transport communications and IT solutions. 

 

bottom navigation SITA logo

Contact