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="http://schemas.xmlsoap.org/soap/envelope/" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
  <SOAP-ENV:Header>
    <eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="1.0">
      <eb:From>
        <eb:PartyId>
        </eb:PartyId>
      </eb:From>
      <eb:To>
        <eb:PartyId>
        </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="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="http://schemas.xmlsoap.org/soap/envelope/" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
  <SOAP-ENV:Header>
    <eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="1.0">
      <eb:From>
        <eb:PartyId>
        </eb:PartyId>
      </eb:From>
      <eb:To>
        <eb:PartyId>
        </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="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:Manifest SOAP-ENV:mustUnderstand="1" eb:version="1.0">
      <eb:Reference xmlns:xlink="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
  • Your IPCC/PCC
  • Used to determine the point of sale location
- 20
eb:Action
  • The service action code
  • Should match eb:Service
BargainFinderMaxRQ 48
eb:Service
  • The service action code
  • Should match eb:Action
BargainFinderMaxRQ 128
eb:ConversationId
  • Correlates multiple requests that are part of the same conversation
  • Follow our best practices to improve your troubleshooting experience with the Sabre help desk
See below: #related links 255
wsse:BinarySecurityToken
  • The session token
  • Located in wsse:Security node
200

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 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:From/eb:PartyId
  • The customer that originated the message
matt@texasfares.com 255
eb:To/eb:PartyId
  • The URL where the request was sent
http://{domain}.com 255
eb:RefToMessageId
  • If specified, then eb:MessageID is required
255
eb:Timestamp
  • 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 time-to-live you can create for the session token
  • Must be paired with eb:Timeout
YYYY-MM-DDT11:59:00Z 25
eb:Timeout
  • 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