Back to Collection Items
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
-- Important: Do not use nvarchar(max). See the warning about using nvarchar(max).
DECLARE @sTmp0 nvarchar(4000)
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
DECLARE @http int
-- Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0
EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
DECLARE @success int
-- Use this online tool to generate code from sample JSON: Generate Code to Create JSON
-- The following JSON is sent in the request body.
-- {
-- "agency": {
-- "address": {
-- "name": "John Smith",
-- "street": "1230 Ellen Ave, apt 10",
-- "city": "Dallas",
-- "stateProvince": "TX",
-- "postalCode": "75063",
-- "countryCode": "US",
-- "freeText": "John Smith\n1230 Ellen Ave, apt 10\nDallas, TX 75063\nUS"
-- },
-- "agencyCustomerNumber": "1234567",
-- "ticketingPolicy": "TODAY"
-- },
-- "hotel": {
-- "useCSL": true,
-- "bookingKey": "{{bookingKey}}",
-- "corporateDiscountCode": 6878700,
-- "rooms": [
-- {
-- "isSmoking": false,
-- "bedTypeCode": 3,
-- "physicalDisabilityCode": 3,
-- "roomExtras": [
-- {
-- "roomExtraType": 26,
-- "quantity": 1,
-- "amount": "100.00"
-- }
-- ],
-- "travelerIndices": [
-- 1
-- ]
-- }
-- ],
-- "specialInstruction": "Need a wi-fi in the room.",
-- "paymentPolicy": "DEPOSIT",
-- "formOfPayment": 3
-- },
-- "travelers": [
-- {
-- "givenName": "John",
-- "surname": "Kowalski",
-- "birthDate": "1970-01-23",
-- "passengerCode": "ADT"
-- },
-- {
-- "givenName": "All",
-- "surname": "Mrozicki",
-- "birthDate": "2000-01-23",
-- "passengerCode": "ADT"
-- }
-- ],
-- "contactInfo": {
-- "emails": [
-- "travel@sabre.com",
-- "travel2@sabre.com"
-- ],
-- "phones": [
-- "+123456"
-- ]
-- },
-- "flightDetails": {
-- "flights": [
-- {
-- "flightNumber": 463,
-- "airlineCode": "EY",
-- "fromAirportCode": "MEL",
-- "toAirportCode": "AUH",
-- "departureDate": "2021-10-20",
-- "departureTime": "16:15",
-- "bookingClass": "Y",
-- "marriageGroup": false,
-- "flightStatusCode": "NN"
-- },
-- {
-- "flightNumber": 460,
-- "airlineCode": "EY",
-- "fromAirportCode": "AUH",
-- "toAirportCode": "MEL",
-- "departureDate": "2021-10-27",
-- "departureTime": "21:45",
-- "bookingClass": "Y",
-- "marriageGroup": false,
-- "flightStatusCode": "NN"
-- }
-- ],
-- "flightPricing": [
-- {
-- "qualifiers": {
-- "payment": {
-- "primaryFormOfPayment": 1,
-- "secondaryFormOfPayment": 3,
-- "amountOnSecondFormOfPayment": "100.00"
-- }
-- }
-- }
-- ]
-- },
-- "payment": {
-- "billingAddress": {
-- "name": "John Smith",
-- "street": "1230 Ellen Ave, apt 10",
-- "city": "Dallas",
-- "stateProvince": "TX",
-- "postalCode": "75063",
-- "countryCode": "US"
-- },
-- "formsOfPayment": [
-- {
-- "type": "CASH"
-- },
-- {
-- "type": "CHECK"
-- },
-- {
-- "type": "PAYMENTCARD",
-- "cardTypeCode": "VI",
-- "cardNumber": "4487971000000006",
-- "cardSecurityCode": "123",
-- "expiryDate": "2022-10",
-- "manualApproval": {
-- "code": "X05285",
-- "airlineCode": "AA",
-- "requestDateTime": "2017-08-14T01:11:11",
-- "expiryDateTime": "2022-08-14T01:11:11",
-- "amount": "684.00",
-- "currencyCode": "USD"
-- },
-- "cardHolder": {
-- "givenName": "John",
-- "surname": "Smith",
-- "email": "john@smith.family.priv",
-- "phone": "+1-555-123-4567",
-- "address": {
-- "street": "1230 Ellen Ave, apt 10",
-- "city": "Dallas",
-- "stateProvince": "TX",
-- "postalCode": "75063",
-- "countryCode": "US"
-- }
-- }
-- },
-- {
-- "type": "MISCELLANEOUS",
-- "miscellaneousCreditCode": "PL189947",
-- "extendedPayment": 12,
-- "boardingTaxAmount": "100.00"
-- },
-- {
-- "type": "INSTALLMENTS",
-- "numberOfInstallments": 90,
-- "airlinePlanCode": "RG065",
-- "installmentAmount": "100",
-- "netBalance": "300.20"
-- },
-- {
-- "type": "VIRTUAL_CARD",
-- "virtualCard": {
-- "customerAccountCode": "John",
-- "agencyEmail": "john@smith.family.priv",
-- "hotelFax": "john@smith.family.priv",
-- "hotelName": "Ilia Hotel and Luxury Suites",
-- "roomType": "2 double beds",
-- "roomDescription": "Deluxe Room, 2 Double Beds",
-- "rateAmount": {
-- "amount": "100.00",
-- "currencyCode": "USD"
-- },
-- "virtualCardCharges": [
-- "Breakfast"
-- ]
-- }
-- },
-- {
-- "type": "AGENCY_NAME",
-- "agencyAddress": {
-- "name": "John Smith",
-- "street": "1230 Ellen Ave, apt 10",
-- "city": "Dallas",
-- "stateProvince": "TX",
-- "postalCode": "75063",
-- "countryCode": "US"
-- }
-- },
-- {
-- "type": "AGENCY_IATA",
-- "agencyIataNumber": "129345738"
-- },
-- {
-- "type": "CORPORATE",
-- "corporateId": "CC006"
-- },
-- {
-- "type": "COMPANY_NAME",
-- "companyAddress": {
-- "name": "John Smith",
-- "street": "1230 Ellen Ave, apt 10",
-- "city": "Dallas",
-- "stateProvince": "TX",
-- "postalCode": "75063",
-- "countryCode": "US"
-- }
-- }
-- ]
-- }
-- }
DECLARE @json int
-- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0
EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'agency.address.name', 'John Smith'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'agency.address.street', '1230 Ellen Ave, apt 10'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'agency.address.city', 'Dallas'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'agency.address.stateProvince', 'TX'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'agency.address.postalCode', '75063'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'agency.address.countryCode', 'US'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'agency.address.freeText', 'John Smith' + CHAR(10) + '1230 Ellen Ave, apt 10' + CHAR(10) + 'Dallas, TX 75063' + CHAR(10) + 'US'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'agency.agencyCustomerNumber', '1234567'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'agency.ticketingPolicy', 'TODAY'
EXEC sp_OAMethod @json, 'UpdateBool', @success OUT, 'hotel.useCSL', 1
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'hotel.bookingKey', '{{bookingKey}}'
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'hotel.corporateDiscountCode', 6878700
EXEC sp_OAMethod @json, 'UpdateBool', @success OUT, 'hotel.rooms[0].isSmoking', 0
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'hotel.rooms[0].bedTypeCode', 3
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'hotel.rooms[0].physicalDisabilityCode', 3
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'hotel.rooms[0].roomExtras[0].roomExtraType', 26
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'hotel.rooms[0].roomExtras[0].quantity', 1
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'hotel.rooms[0].roomExtras[0].amount', '100.00'
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'hotel.rooms[0].travelerIndices[0]', 1
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'hotel.specialInstruction', 'Need a wi-fi in the room.'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'hotel.paymentPolicy', 'DEPOSIT'
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'hotel.formOfPayment', 3
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'travelers[0].givenName', 'John'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'travelers[0].surname', 'Kowalski'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'travelers[0].birthDate', '1970-01-23'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'travelers[0].passengerCode', 'ADT'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'travelers[1].givenName', 'All'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'travelers[1].surname', 'Mrozicki'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'travelers[1].birthDate', '2000-01-23'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'travelers[1].passengerCode', 'ADT'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'contactInfo.emails[0]', 'travel@sabre.com'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'contactInfo.emails[1]', 'travel2@sabre.com'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'contactInfo.phones[0]', '+123456'
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'flightDetails.flights[0].flightNumber', 463
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[0].airlineCode', 'EY'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[0].fromAirportCode', 'MEL'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[0].toAirportCode', 'AUH'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[0].departureDate', '2021-10-20'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[0].departureTime', '16:15'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[0].bookingClass', 'Y'
EXEC sp_OAMethod @json, 'UpdateBool', @success OUT, 'flightDetails.flights[0].marriageGroup', 0
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[0].flightStatusCode', 'NN'
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'flightDetails.flights[1].flightNumber', 460
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[1].airlineCode', 'EY'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[1].fromAirportCode', 'AUH'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[1].toAirportCode', 'MEL'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[1].departureDate', '2021-10-27'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[1].departureTime', '21:45'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[1].bookingClass', 'Y'
EXEC sp_OAMethod @json, 'UpdateBool', @success OUT, 'flightDetails.flights[1].marriageGroup', 0
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flights[1].flightStatusCode', 'NN'
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'flightDetails.flightPricing[0].qualifiers.payment.primaryFormOfPayment', 1
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'flightDetails.flightPricing[0].qualifiers.payment.secondaryFormOfPayment', 3
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'flightDetails.flightPricing[0].qualifiers.payment.amountOnSecondFormOfPayment', '100.00'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.billingAddress.name', 'John Smith'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.billingAddress.street', '1230 Ellen Ave, apt 10'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.billingAddress.city', 'Dallas'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.billingAddress.stateProvince', 'TX'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.billingAddress.postalCode', '75063'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.billingAddress.countryCode', 'US'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[0].type', 'CASH'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[1].type', 'CHECK'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].type', 'PAYMENTCARD'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardTypeCode', 'VI'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardNumber', '4487971000000006'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardSecurityCode', '123'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].expiryDate', '2022-10'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].manualApproval.code', 'X05285'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].manualApproval.airlineCode', 'AA'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].manualApproval.requestDateTime', '2017-08-14T01:11:11'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].manualApproval.expiryDateTime', '2022-08-14T01:11:11'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].manualApproval.amount', '684.00'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].manualApproval.currencyCode', 'USD'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardHolder.givenName', 'John'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardHolder.surname', 'Smith'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardHolder.email', 'john@smith.family.priv'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardHolder.phone', '+1-555-123-4567'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardHolder.address.street', '1230 Ellen Ave, apt 10'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardHolder.address.city', 'Dallas'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardHolder.address.stateProvince', 'TX'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardHolder.address.postalCode', '75063'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[2].cardHolder.address.countryCode', 'US'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[3].type', 'MISCELLANEOUS'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[3].miscellaneousCreditCode', 'PL189947'
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'payment.formsOfPayment[3].extendedPayment', 12
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[3].boardingTaxAmount', '100.00'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[4].type', 'INSTALLMENTS'
EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'payment.formsOfPayment[4].numberOfInstallments', 90
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[4].airlinePlanCode', 'RG065'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[4].installmentAmount', '100'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[4].netBalance', '300.20'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[5].type', 'VIRTUAL_CARD'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[5].virtualCard.customerAccountCode', 'John'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[5].virtualCard.agencyEmail', 'john@smith.family.priv'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[5].virtualCard.hotelFax', 'john@smith.family.priv'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[5].virtualCard.hotelName', 'Ilia Hotel and Luxury Suites'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[5].virtualCard.roomType', '2 double beds'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[5].virtualCard.roomDescription', 'Deluxe Room, 2 Double Beds'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[5].virtualCard.rateAmount.amount', '100.00'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[5].virtualCard.rateAmount.currencyCode', 'USD'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[5].virtualCard.virtualCardCharges[0]', 'Breakfast'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[6].type', 'AGENCY_NAME'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[6].agencyAddress.name', 'John Smith'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[6].agencyAddress.street', '1230 Ellen Ave, apt 10'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[6].agencyAddress.city', 'Dallas'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[6].agencyAddress.stateProvince', 'TX'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[6].agencyAddress.postalCode', '75063'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[6].agencyAddress.countryCode', 'US'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[7].type', 'AGENCY_IATA'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[7].agencyIataNumber', '129345738'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[8].type', 'CORPORATE'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[8].corporateId', 'CC006'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[9].type', 'COMPANY_NAME'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[9].companyAddress.name', 'John Smith'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[9].companyAddress.street', '1230 Ellen Ave, apt 10'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[9].companyAddress.city', 'Dallas'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[9].companyAddress.stateProvince', 'TX'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[9].companyAddress.postalCode', '75063'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'payment.formsOfPayment[9].companyAddress.countryCode', 'US'
EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'accept', 'application/json'
EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'Content-Type', 'application/json'
EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'X-Sabre-Group', 'G7RE'
-- Adds the "Authorization: Bearer <access_token>" header.
EXEC sp_OASetProperty @http, 'AuthToken', '<access_token>'
EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'X-Sabre-Current-City', 'G7RE'
DECLARE @resp int
EXEC sp_OAMethod @http, 'PostJson3', @resp OUT, 'https://domain.com/', 'application/json', @json
EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT
IF @iTmp0 = 0
BEGIN
EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @http
EXEC @hr = sp_OADestroy @json
RETURN
END
EXEC sp_OAGetProperty @resp, 'StatusCode', @iTmp0 OUT
PRINT @iTmp0
EXEC sp_OAGetProperty @resp, 'BodyStr', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @resp
EXEC @hr = sp_OADestroy @http
EXEC @hr = sp_OADestroy @json
END
GO
Curl Command
curl -X POST
-H "Authorization: Bearer <access_token>"
-H "accept: application/json"
-H "Content-Type: application/json"
-H "X-Sabre-Group: G7RE"
-H "X-Sabre-Current-City: G7RE"
-d '{
"agency": {
"address": {
"name": "John Smith",
"street": "1230 Ellen Ave, apt 10",
"city": "Dallas",
"stateProvince": "TX",
"postalCode": "75063",
"countryCode": "US",
"freeText": "John Smith\n1230 Ellen Ave, apt 10\nDallas, TX 75063\nUS"
},
"agencyCustomerNumber": "1234567",
"ticketingPolicy": "TODAY"
},
"hotel": {
"useCSL": true,
"bookingKey": "{{bookingKey}}",
"corporateDiscountCode": 6878700,
"rooms": [
{
"isSmoking": false,
"bedTypeCode": 3,
"physicalDisabilityCode": 3,
"roomExtras": [
{
"roomExtraType": 26,
"quantity": 1,
"amount": "100.00"
}
],
"travelerIndices": [
1
]
}
],
"specialInstruction": "Need a wi-fi in the room.",
"paymentPolicy": "DEPOSIT",
"formOfPayment": 3
},
"travelers": [
{
"givenName": "John",
"surname": "Kowalski",
"birthDate": "1970-01-23",
"passengerCode": "ADT"
},
{
"givenName": "All",
"surname": "Mrozicki",
"birthDate": "2000-01-23",
"passengerCode": "ADT"
}
],
"contactInfo": {
"emails": [
"travel@sabre.com",
"travel2@sabre.com"
],
"phones": [
"+123456"
]
},
"flightDetails": {
"flights": [
{
"flightNumber": 463,
"airlineCode": "EY",
"fromAirportCode": "MEL",
"toAirportCode": "AUH",
"departureDate": "2021-10-20",
"departureTime": "16:15",
"bookingClass": "Y",
"marriageGroup": false,
"flightStatusCode": "NN"
},
{
"flightNumber": 460,
"airlineCode": "EY",
"fromAirportCode": "AUH",
"toAirportCode": "MEL",
"departureDate": "2021-10-27",
"departureTime": "21:45",
"bookingClass": "Y",
"marriageGroup": false,
"flightStatusCode": "NN"
}
],
"flightPricing": [
{
"qualifiers": {
"payment": {
"primaryFormOfPayment": 1,
"secondaryFormOfPayment": 3,
"amountOnSecondFormOfPayment": "100.00"
}
}
}
]
},
"payment": {
"billingAddress": {
"name": "John Smith",
"street": "1230 Ellen Ave, apt 10",
"city": "Dallas",
"stateProvince": "TX",
"postalCode": "75063",
"countryCode": "US"
},
"formsOfPayment": [
{
"type": "CASH"
},
{
"type": "CHECK"
},
{
"type": "PAYMENTCARD",
"cardTypeCode": "VI",
"cardNumber": "4487971000000006",
"cardSecurityCode": "123",
"expiryDate": "2022-10",
"manualApproval": {
"code": "X05285",
"airlineCode": "AA",
"requestDateTime": "2017-08-14T01:11:11",
"expiryDateTime": "2022-08-14T01:11:11",
"amount": "684.00",
"currencyCode": "USD"
},
"cardHolder": {
"givenName": "John",
"surname": "Smith",
"email": "john@smith.family.priv",
"phone": "+1-555-123-4567",
"address": {
"street": "1230 Ellen Ave, apt 10",
"city": "Dallas",
"stateProvince": "TX",
"postalCode": "75063",
"countryCode": "US"
}
}
},
{
"type": "MISCELLANEOUS",
"miscellaneousCreditCode": "PL189947",
"extendedPayment": 12,
"boardingTaxAmount": "100.00"
},
{
"type": "INSTALLMENTS",
"numberOfInstallments": 90,
"airlinePlanCode": "RG065",
"installmentAmount": "100",
"netBalance": "300.20"
},
{
"type": "VIRTUAL_CARD",
"virtualCard": {
"customerAccountCode": "John",
"agencyEmail": "john@smith.family.priv",
"hotelFax": "john@smith.family.priv",
"hotelName": "Ilia Hotel and Luxury Suites",
"roomType": "2 double beds",
"roomDescription": "Deluxe Room, 2 Double Beds",
"rateAmount": {
"amount": "100.00",
"currencyCode": "USD"
},
"virtualCardCharges": [
"Breakfast"
]
}
},
{
"type": "AGENCY_NAME",
"agencyAddress": {
"name": "John Smith",
"street": "1230 Ellen Ave, apt 10",
"city": "Dallas",
"stateProvince": "TX",
"postalCode": "75063",
"countryCode": "US"
}
},
{
"type": "AGENCY_IATA",
"agencyIataNumber": "129345738"
},
{
"type": "CORPORATE",
"corporateId": "CC006"
},
{
"type": "COMPANY_NAME",
"companyAddress": {
"name": "John Smith",
"street": "1230 Ellen Ave, apt 10",
"city": "Dallas",
"stateProvince": "TX",
"postalCode": "75063",
"countryCode": "US"
}
}
]
}
}'
https://domain.com/
Postman Collection Item JSON
{
"name": "createBooking - Air with CSL hotel",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"response is ok\", function () {\r",
" pm.response.to.be.ok;\r",
" pm.response.to.have.status(200);\r",
"});\r",
"\r",
"pm.test(\"response must be valid and have a body\", function () {\r",
" // this assertion also checks if a body exists\r",
" pm.response.to.be.json; \r",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [
{
"key": "accept",
"type": "text",
"value": "application/json"
},
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
},
{
"key": "X-Sabre-Group",
"value": "G7RE",
"type": "text"
},
{
"key": "X-Sabre-Current-City",
"value": "G7RE",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"agency\": {\n \"address\": {\n \"name\": \"John Smith\",\n \"street\": \"1230 Ellen Ave, apt 10\",\n \"city\": \"Dallas\",\n \"stateProvince\": \"TX\",\n \"postalCode\": \"75063\",\n \"countryCode\": \"US\",\n \"freeText\": \"John Smith\\n1230 Ellen Ave, apt 10\\nDallas, TX 75063\\nUS\"\n },\n \"agencyCustomerNumber\": \"1234567\",\n \"ticketingPolicy\": \"TODAY\"\n },\n \"hotel\": {\n \"useCSL\": true,\n \"bookingKey\": \"{{bookingKey}}\",\n \"corporateDiscountCode\": 6878700,\n \"rooms\": [\n {\n \"isSmoking\": false,\n \"bedTypeCode\": 3,\n \"physicalDisabilityCode\": 3,\n \"roomExtras\": [\n {\n \"roomExtraType\": 26,\n \"quantity\": 1,\n \"amount\": \"100.00\"\n }\n ],\n \"travelerIndices\": [\n 1\n ]\n }\n ],\n \"specialInstruction\": \"Need a wi-fi in the room.\",\n \"paymentPolicy\": \"DEPOSIT\",\n \"formOfPayment\": 3\n },\n \"travelers\": [\n {\n \"givenName\": \"John\",\n \"surname\": \"Kowalski\",\n \"birthDate\": \"1970-01-23\",\n \"passengerCode\": \"ADT\"\n },\n {\n \"givenName\": \"All\",\n \"surname\": \"Mrozicki\",\n \"birthDate\": \"2000-01-23\",\n \"passengerCode\": \"ADT\"\n }\n ],\n \"contactInfo\": {\n \"emails\": [\n \"travel@sabre.com\",\n \"travel2@sabre.com\"\n ],\n \"phones\": [\n \"+123456\"\n ]\n },\n \"flightDetails\": {\n \"flights\": [\n {\n \"flightNumber\": 463,\n \"airlineCode\": \"EY\",\n \"fromAirportCode\": \"MEL\",\n \"toAirportCode\": \"AUH\",\n \"departureDate\": \"2021-10-20\",\n \"departureTime\": \"16:15\",\n \"bookingClass\": \"Y\",\n \"marriageGroup\": false,\n \"flightStatusCode\": \"NN\"\n },\n {\n \"flightNumber\": 460,\n \"airlineCode\": \"EY\",\n \"fromAirportCode\": \"AUH\",\n \"toAirportCode\": \"MEL\",\n \"departureDate\": \"2021-10-27\",\n \"departureTime\": \"21:45\",\n \"bookingClass\": \"Y\",\n \"marriageGroup\": false,\n \"flightStatusCode\": \"NN\"\n }\n ],\n \"flightPricing\": [\n {\n \"qualifiers\": {\n \"payment\": {\n \"primaryFormOfPayment\": 1,\n \"secondaryFormOfPayment\": 3,\n \"amountOnSecondFormOfPayment\": \"100.00\"\n }\n }\n }\n ]\n },\n \"payment\": {\n \"billingAddress\": {\n \"name\": \"John Smith\",\n \"street\": \"1230 Ellen Ave, apt 10\",\n \"city\": \"Dallas\",\n \"stateProvince\": \"TX\",\n \"postalCode\": \"75063\",\n \"countryCode\": \"US\"\n },\n \"formsOfPayment\": [\n {\n \"type\": \"CASH\"\n },\n {\n \"type\": \"CHECK\"\n },\n {\n \"type\": \"PAYMENTCARD\",\n \"cardTypeCode\": \"VI\",\n \"cardNumber\": \"4487971000000006\",\n \"cardSecurityCode\": \"123\",\n \"expiryDate\": \"2022-10\",\n \"manualApproval\": {\n \"code\": \"X05285\",\n \"airlineCode\": \"AA\",\n \"requestDateTime\": \"2017-08-14T01:11:11\",\n \"expiryDateTime\": \"2022-08-14T01:11:11\",\n \"amount\": \"684.00\",\n \"currencyCode\": \"USD\"\n },\n \"cardHolder\": {\n \"givenName\": \"John\",\n \"surname\": \"Smith\",\n \"email\": \"john@smith.family.priv\",\n \"phone\": \"+1-555-123-4567\",\n \"address\": {\n \"street\": \"1230 Ellen Ave, apt 10\",\n \"city\": \"Dallas\",\n \"stateProvince\": \"TX\",\n \"postalCode\": \"75063\",\n \"countryCode\": \"US\"\n }\n }\n },\n {\n \"type\": \"MISCELLANEOUS\",\n \"miscellaneousCreditCode\": \"PL189947\",\n \"extendedPayment\": 12,\n \"boardingTaxAmount\": \"100.00\"\n },\n {\n \"type\": \"INSTALLMENTS\",\n \"numberOfInstallments\": 90,\n \"airlinePlanCode\": \"RG065\",\n \"installmentAmount\": \"100\",\n \"netBalance\": \"300.20\"\n },\n {\n \"type\": \"VIRTUAL_CARD\",\n \"virtualCard\": {\n \"customerAccountCode\": \"John\",\n \"agencyEmail\": \"john@smith.family.priv\",\n \"hotelFax\": \"john@smith.family.priv\",\n \"hotelName\": \"Ilia Hotel and Luxury Suites\",\n \"roomType\": \"2 double beds\",\n \"roomDescription\": \"Deluxe Room, 2 Double Beds\",\n \"rateAmount\": {\n \"amount\": \"100.00\",\n \"currencyCode\": \"USD\"\n },\n \"virtualCardCharges\": [\n \"Breakfast\"\n ]\n }\n },\n {\n \"type\": \"AGENCY_NAME\",\n \"agencyAddress\": {\n \"name\": \"John Smith\",\n \"street\": \"1230 Ellen Ave, apt 10\",\n \"city\": \"Dallas\",\n \"stateProvince\": \"TX\",\n \"postalCode\": \"75063\",\n \"countryCode\": \"US\"\n }\n },\n {\n \"type\": \"AGENCY_IATA\",\n \"agencyIataNumber\": \"129345738\"\n },\n {\n \"type\": \"CORPORATE\",\n \"corporateId\": \"CC006\"\n },\n {\n \"type\": \"COMPANY_NAME\",\n \"companyAddress\": {\n \"name\": \"John Smith\",\n \"street\": \"1230 Ellen Ave, apt 10\",\n \"city\": \"Dallas\",\n \"stateProvince\": \"TX\",\n \"postalCode\": \"75063\",\n \"countryCode\": \"US\"\n }\n }\n ]\n }\n}"
},
"url": {
"raw": "{{createBooking_endpoint}}",
"host": [
"{{createBooking_endpoint}}"
]
},
"description": "### <br>"
},
"response": [
]
}