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) effectconnect Create or Replace Product CatalogUse this call to create or replace a product catalog in EffectConnect. This is always a purge and replace action for the entire catalog.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess String sUri String sApiVersion Handle hoHttp Variant vReq Handle hoReq Handle hoDt String sTimestamp Handle hoSbXml Handle hoSbStringToSign Handle hoCrypt Variant vResp Handle hoResp Handle hoXmlResp String sTagPath String sRequestType String sRequestAction String sRequestVersion String sProcessedAt String sResult String sProcessID String sTemp1 Integer iTemp1 Boolean bTemp1 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Move "/products" To sUri Move "2.0" To sApiVersion Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Get Create (RefClass(cComChilkatHttpRequest)) To hoReq If (Not(IsComObjectCreated(hoReq))) Begin Send CreateComObject of hoReq End // Use your effectconnect public key here... Send ComAddHeader To hoReq "KEY" "PUBLIC_KEY" Send ComAddHeader To hoReq "VERSION" sApiVersion Send ComAddHeader To hoReq "URI" sUri Send ComAddHeader To hoReq "RESPONSETYPE" "XML" Send ComAddHeader To hoReq "RESPONSELANGUAGE" "en" // Get the current date/time in timestamp format. Get Create (RefClass(cComCkDateTime)) To hoDt If (Not(IsComObjectCreated(hoDt))) Begin Send CreateComObject of hoDt End Get ComSetFromCurrentSystemTime Of hoDt To iSuccess Get ComGetAsTimestamp Of hoDt True To sTimestamp Send ComAddHeader To hoReq "TIME" sTimestamp Showln "timestamp = " sTimestamp Get Create (RefClass(cComChilkatStringBuilder)) To hoSbXml If (Not(IsComObjectCreated(hoSbXml))) Begin Send CreateComObject of hoSbXml End Get ComLoadFile Of hoSbXml "qa_data/xml/effectconnect/effconCreate.xml" "utf-8" To iSuccess Get ComLength Of hoSbXml To iTemp1 Showln "length = " iTemp1 Set ComHttpVerb Of hoReq To "POST" Set ComPath Of hoReq To sUri Set ComContentType Of hoReq To "multipart/form-data" Get ComGetAsString Of hoSbXml To sTemp1 Get ComAddStringForUpload Of hoReq "payload" "effcon.xml" sTemp1 "utf-8" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoReq To sTemp1 Showln sTemp1 Procedure_Return End // Build a string-to-sign and sign it using our effectconnect private key Get Create (RefClass(cComChilkatStringBuilder)) To hoSbStringToSign If (Not(IsComObjectCreated(hoSbStringToSign))) Begin Send CreateComObject of hoSbStringToSign End Get ComLength Of hoSbXml To iTemp1 Get ComAppendInt Of hoSbStringToSign iTemp1 To iSuccess Get ComAppend Of hoSbStringToSign "POST" To iSuccess Get ComAppend Of hoSbStringToSign sUri To iSuccess Get ComAppend Of hoSbStringToSign sApiVersion To iSuccess Get ComAppend Of hoSbStringToSign sTimestamp To iSuccess Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt If (Not(IsComObjectCreated(hoCrypt))) Begin Send CreateComObject of hoCrypt End Set ComMacAlgorithm Of hoCrypt To "hmac" Set ComHashAlgorithm Of hoCrypt To "sha512" Set ComEncodingMode Of hoCrypt To "base64" // Use your effectconnect private key here: Get ComSetMacKeyString Of hoCrypt "PRIVATE_KEY" To iSuccess Get ComMacStringENC Of hoCrypt (ComGetAsString(hoSbStringToSign)) To sTemp1 Send ComAddHeader To hoReq "SIGNATURE" sTemp1 Get pvComObject of hoReq to vReq Get ComSynchronousRequest Of hoHttp "submit.effectconnect.com" 443 True vReq To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get ComStatusCode Of hoResp To iTemp1 Showln "response status code = " iTemp1 // Examine the response. The response status code can be 200 for both errors and success. // The success or error is based on the XML returned in the response body. Get Create (RefClass(cComChilkatXml)) To hoXmlResp If (Not(IsComObjectCreated(hoXmlResp))) Begin Send CreateComObject of hoXmlResp End Get ComBodyStr Of hoResp To sTemp1 Get ComLoadXml Of hoXmlResp sTemp1 To iSuccess Send Destroy of hoResp Showln "response body:" Get ComGetXml Of hoXmlResp To sTemp1 Showln sTemp1 // A sample response: // <?xml version="1.0" encoding="utf-8"?> // <ApiResponseContainer> // <Request> // <RequestType>Products</RequestType> // <RequestAction>Create</RequestAction> // <RequestVersion>2.0</RequestVersion> // <RequestIdentifier/> // <ProcessedAt>2019-04-18T15:28:55+02:00</ProcessedAt> // </Request> // <Response> // <Result>Success</Result> // <ProductsCreateResponseContainer> // <ProcessID><![CDATA[J048hgS4OkNn0JnH]]></ProcessID> // </ProductsCreateResponseContainer> // </Response> // </ApiResponseContainer> // Parsing the response... Get ComGetChildContent Of hoXmlResp "Request|RequestType" To sRequestType Get ComGetChildContent Of hoXmlResp "Request|RequestAction" To sRequestAction Get ComGetChildContent Of hoXmlResp "Request|RequestVersion" To sRequestVersion Get ComGetChildContent Of hoXmlResp "Request|ProcessedAt" To sProcessedAt Get ComGetChildContent Of hoXmlResp "Response|Result" To sResult Get ComGetChildContent Of hoXmlResp "Response|ProductsCreateResponseContainer|ProcessID" To sProcessID End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.