SOAP APIs: request format

Learn more about how to format a request and information about which fields are required.

Topics

SOAP APIs: how to format a request

Option 1: SOAP without attachments

This option allows you to send a request inside the body with the code inline (for the payload).

Payload See also
          <?xml version='1.0' encoding='UTF-8'?>
           <SOAP-ENV:Envelope xmlns:SOAP-ENV="<a href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank">http://schemas.xmlsoap.org/soap/envelope/" xmlns:eb="<a href="http://www.ebxml.org/namespaces/messageHeader" target="_blank">http://www.ebxml.org/namespaces/messageHeader" xmlns:xlink="<a href="http://www.w3.org/1999/xlink" target="_blank">http://www.w3.org/1999/xlink</a>" xmlns:xsd="<a href="http://www.w3.org/1999/XMLSchema" target="_blank">http://www.w3.org/1999/XMLSchema</a>">
                  <SOAP-ENV:Header>
                    <eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="1.0">
                      <eb:From>
                       <eb:PartyId type="urn:x12.org:IO5:01"></eb:PartyId>
                  </eb:From>
                  <eb:To>
                      <eb:PartyId type="urn:x12.org:IO5:01"></eb:PartyId>
                  </eb:To>
                  <eb:CPAId>YourIPCC</eb:CPAId>
                    <eb:ConversationId>YourConversationID</eb:ConversationId>
                    <eb:Service>TheServiceActionCodeRQ</eb:Service>
                    <eb:Action>TheServiceActionCodeRQ</eb:Action>
                      <eb:MessageData>
                             <eb:MessageId>mid:20001209-133003-2333@clientofsabre.com</eb:MessageId>
                             <eb:Timestamp>2001-02-15T11:15:12Z</eb:Timestamp>
                             <eb:TimeToLive>2001-02-15T11:15:12Z</eb:TimeToLive>
                    </eb:MessageData>
                </eb:MessageHeader>
                <wsse:Security xmlns:wsse="<a href="http://schemas.xmlsoap.org/ws/2002/12/secext" target="_blank">http://schemas.xmlsoap.org/ws/2002/12/secext">
                         <wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">TheBinarySecurityTokenFromTokenCreateRQorSessionCreateRQ</wsse:BinarySecurityToken>
                      </wsse:Security>
                  </SOAP-ENV:Header>
                  <SOAP-ENV:Body>
                      <eb:SoapAPIServiceActionCode...
                              ...
                                 [NOTE: see documentation for the given API's request payload.
                        ...
                      </eb:SoapAPIServiceActionCode>
                  </SOAP-ENV:Body>
              </SOAP-ENV:Envelope>
          
See also: #related links

Option 2: SOAP with attachments

This option allows you to send the envelope with the header (separate from the payload).

Payload See also
            <?xml version='1.0' encoding='UTF-8'?>
             <SOAP-ENV:Envelope xmlns:SOAP-ENV="<a href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a>" xmlns:eb="<a href="http://www.ebxml.org/namespaces/messageHeader" target="_blank">http://www.ebxml.org/namespaces/messageHeader</a>" xmlns:xlink="<a href="http://www.w3.org/1999/xlink" target="_blank">http://www.w3.org/1999/xlink</a>" xmlns:xsd="<a href="http://www.w3.org/1999/XMLSchema" target="_blank">http://www.w3.org/1999/XMLSchema</a>">
                    <SOAP-ENV:Header>
                      <eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="1.0">
                        <eb:From>
                       <eb:PartyId type="urn:x12.org:IO5:01"></eb:PartyId>
                    </eb:From>
                    <eb:To>
                      <eb:PartyId type="urn:x12.org:IO5:01"></eb:PartyId>
                    </eb:To>
                    <eb:CPAId>YourIPCC</eb:CPAId>
                      <eb:ConversationId>YourConversationID</eb:ConversationId>
                      <eb:Service>TheServiceActionCodeRQ</eb:Service>
                      <eb:Action>TheServiceActionCodeRQ</eb:Action>
                      <eb:MessageData>
                      <eb:MessageId>mid:20001209-133003-2333@clientofsabre.com</eb:MessageId>
                      <eb:Timestamp>2001-02-15T11:15:12Z</eb:Timestamp>
                      <eb:TimeToLive>2001-02-15T11:15:12Z</eb:TimeToLive>
                    </eb:MessageData>
                  </eb:MessageHeader>
                  <wsse:Security xmlns:wsse="<a href="http://schemas.xmlsoap.org/ws/2002/12/secext" target="_blank">http://schemas.xmlsoap.org/ws/2002/12/secext</a>">
                           <wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">TheBinarySecurityTokenFromTokenCreateRQorSessionCreateRQ</wsse:BinarySecurityToken>
                        </wsse:Security>
                    </SOAP-ENV:Header>
                   <SOAP-ENV:Body>
                    <eb:Manifest SOAP-ENV:mustUnderstand="1" eb:version="1.0">
                    <eb:Reference xmlns:xlink="<a href="http://www.w3.org/1999/xlink" target="_blank">http://www.w3.org/1999/xlink" xlink:href="cid:rootelement" xlink:type="simple"/>
                    </eb:Manifest>
                    </SOAP-ENV:Body>
                </SOAP-ENV:Envelope>
            
See also: #related links

SOAP APIs: which request fields are required

Required

The following fields are required in all SOAP API requests.

Field Name Description Sample Format Maximum Field Size
eb:CPAId
  • Must specify a value
  • Your IPCC/PCC
  • Used to determine the point of sale location
- 20
eb:Action
  • Must specify a value
  • The service action code
  • Should match eb:Service
BargainFinderMaxRQ 48
eb:Service
  • Must specify a value
  • The service action code
  • Should match eb:Action
BargainFinderMaxRQ 128
eb:ConversationId
  • Must specify a value
  • A unique transaction identifier you can create for the set of related messages that make up a session
  • Identifies which logs went with a transaction
See below: #related links 255
wsse:BinarySecurityToken
  • Must specify a value
  • The session token
  • Located in wsse:Security node
200
eb:From/eb:PartyId
  • A placeholder field that can specify a value or be empty
  • The customer that originated the message you can create
matt@texasfares.com 255
eb:To/eb:PartyId
  • A placeholder field that can specify a value or be empty
  • The URL where the request was sent
http://{domain}.com 255

Optional

The following fields must be in the request, but which a value is optional.

Field Name Description Sample Format Maximum Field Size
eb:MessageId
  • A placeholder field that can specify a value or be empty
  • A unique transaction identifier you can create for the set of related messages that make up a session
mid:20001209-133003-2333@texasfares.com 255
eb:RefToMessageId
  • A placeholder field that can specify a value or be empty
  • If specified, then eb:MessageID is required
255
eb:Timestamp
  • A placeholder field that can specify a value or be empty
  • A time identifier you can create that indicates when the message header was created
  • Conforms to date-time
YYYY-MM-DDT11:59:00Z 30
eb:TimeToLive
  • A placeholder field that can specify a value or be empty
  • A time-to-live you can create for the session token
  • Must be paired with eb:Timeout
YYYY-MM-DDT11:59:00Z 25
eb:Timeout
  • A placeholder field that can specify a value or be empty
  • The time-out value you can create for the session token (expressed in seconds)
  • Must be paired with eb:TimeToLive
  • Must be less than 60 seconds
- 6


Frequently asked questions (FAQs)

Why don't I have access to an API that is part of my contract?
Verify you are using the correct PCC and EPR in your token credentials. If you are not using the correct PCC in your token credentials to a given API, you won't have access to your agency's specific subset of Sabre APIs. If you are using the correct credentials, contact your Sabre account manager.

Why can't I access the Bargain Finder Max API?
The Bargain Finder Max API requires customers to sign a special amendment. Contact your Sabre account manager for details. Or take the REST API for a test spin in API Explorer.


Stack Overflow

Ask a question with the Stack Overflow community.
Ask Questions