Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) hotelbeds.com REST API AuthenticationDemonstrates how to calculate the X-Signature header and add to requests sent to api.test.hotelbeds.com. For more information, see https://developer.hotelbeds.com/documentation/getting-started/
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoDt Boolean iBLocalTime String sUnixTimeStr String sApiKey String sSecret Handle hoSb Handle hoCrypt String sSignature Handle hoHttp String sJsonResponse String sTemp1 Integer iTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // This example duplicates the following CURL statement provided in the hotelbeds.com "Getting Started" // developer documentation: // #!/bin/bash // apiKey="yourApiKey" // secret="yourSecret" // curl -i \ // -X GET \ // -H 'Accept:application/json' \ // -H 'Api-key:'$apiKey'' \ // -H 'X-Signature:'$(echo -n ${apiKey}${secret}$(date +%s)|sha256sum|awk '{ print $1}')'' \ // https://api.test.hotelbeds.com/hotel-api/1.0/status // The "date + %s" command emits a UNIX date/time number such as 1605548842 // We need to concatenate the apiKey, secret, and current date/time in UNIX (numeric) time format. Get Create (RefClass(cComCkDateTime)) To hoDt If (Not(IsComObjectCreated(hoDt))) Begin Send CreateComObject of hoDt End Get ComSetFromCurrentSystemTime Of hoDt To iSuccess // Get the UNIX time string in the GMT timezone. Move False To iBLocalTime Get ComGetAsUnixTimeStr Of hoDt iBLocalTime To sUnixTimeStr Showln sUnixTimeStr // Use your own API key and secret. (These are not valid values) Move "227b20a2cb705e45f3b0a0944672dc07" To sApiKey Move "54dc7ba9e2" To sSecret Get Create (RefClass(cComChilkatStringBuilder)) To hoSb If (Not(IsComObjectCreated(hoSb))) Begin Send CreateComObject of hoSb End Get ComAppend Of hoSb sApiKey To iSuccess Get ComAppend Of hoSb sSecret To iSuccess Get ComAppend Of hoSb sUnixTimeStr To iSuccess Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt If (Not(IsComObjectCreated(hoCrypt))) Begin Send CreateComObject of hoCrypt End Set ComHashAlgorithm Of hoCrypt To "sha256" Set ComEncodingMode Of hoCrypt To "hexlower" Get ComGetAsString Of hoSb To sTemp1 Get ComHashStringENC Of hoCrypt sTemp1 To sSignature Showln sSignature Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Send ComSetRequestHeader To hoHttp "Accept" "application/json" Send ComSetRequestHeader To hoHttp "Api-key" sApiKey Send ComSetRequestHeader To hoHttp "X-Signature" sSignature Get ComQuickGetStr Of hoHttp "https://api.test.hotelbeds.com/hotel-api/1.0/status" To sJsonResponse Showln sJsonResponse Get ComLastStatus Of hoHttp To iTemp1 Showln iTemp1 // Sample output: // 1605549542 // 2146aefb36e7331b3b29aafd7638398ca22e689573224f1a71274d60bd201ec2 // {"auditData":{"timestamp":"2020-11-16 18:59:02.430"},"status":"OK"} // 200 End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.