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
(Delphi DLL) WiX - Get all Products in a StoreGets the first page of products in a store. For more information, see https://dev.wix.com/api/rest/wix-stores/catalog/filter-and-sort
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, StringBuilder, HttpResponse, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; success: Boolean; json: HCkJsonObject; resp: HCkHttpResponse; sbResponseBody: HCkStringBuilder; jResp: HCkJsonObject; respStatusCode: Integer; id: PWideChar; name: PWideChar; slug: PWideChar; visible: Boolean; productType: PWideChar; description: PWideChar; stockTrackInventory: Boolean; stockQuantity: Integer; stockInStock: Boolean; priceCurrency: PWideChar; pricePrice: Integer; priceDiscountedPrice: Integer; priceFormattedPrice: PWideChar; priceFormattedDiscountedPrice: PWideChar; priceDataCurrency: PWideChar; priceDataPrice: Integer; priceDataDiscountedPrice: Integer; priceDataFormattedPrice: PWideChar; priceDataFormattedDiscountedPrice: PWideChar; manageVariants: Boolean; productPageUrlBase: PWideChar; productPageUrlPath: PWideChar; numericId: PWideChar; inventoryItemId: PWideChar; discountType: PWideChar; discountValue: Integer; sku: PWideChar; weight: Integer; j: Integer; count_j: Integer; text: PWideChar; strVal: PWideChar; metadataItems: Integer; metadataOffset: Integer; totalResults: Integer; i: Integer; count_i: Integer; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); // Implements the following CURL command: // curl -X POST -H "Content-Type: application/json" \ // -d '{ // "includeVariants": true // }' https://www.wixapis.com/stores/v1/products/query json := CkJsonObject_Create(); CkJsonObject_UpdateBool(json,'includeVariants',True); CkHttp_putAuthToken(http,'ACCESS_TOKEN'); CkHttp_SetRequestHeader(http,'Content-Type','application/json'); resp := CkHttp_PostJson3(http,'https://www.wixapis.com/stores/v1/products/query','application/json',json); if (CkHttp_getLastMethodSuccess(http) = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; sbResponseBody := CkStringBuilder_Create(); CkHttpResponse_GetBodySb(resp,sbResponseBody); jResp := CkJsonObject_Create(); CkJsonObject_LoadSb(jResp,sbResponseBody); CkJsonObject_putEmitCompact(jResp,False); Memo1.Lines.Add('Response Body:'); Memo1.Lines.Add(CkJsonObject__emit(jResp)); respStatusCode := CkHttpResponse_getStatusCode(resp); Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode)); if (respStatusCode >= 400) then begin Memo1.Lines.Add('Response Header:'); Memo1.Lines.Add(CkHttpResponse__header(resp)); Memo1.Lines.Add('Failed.'); CkHttpResponse_Dispose(resp); Exit; end; CkHttpResponse_Dispose(resp); // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "products": [ // { // "id": "58fcbb51-ff87-08ff-d97b-646726676e4a", // "name": "webhook test", // "slug": "webhook-test", // "visible": true, // "productType": "physical", // "description": "<p>fasdf<\/p>", // "stock": { // "trackInventory": true, // "quantity": 0, // "inStock": false // }, // "price": { // "currency": "ILS", // "price": 234, // "discountedPrice": 234, // "formatted": { // "price": "234.00 ", // "discountedPrice": "234.00 " // } // }, // "priceData": { // "currency": "ILS", // "price": 234, // "discountedPrice": 234, // "formatted": { // "price": "234.00 ", // "discountedPrice": "234.00 " // } // }, // "additionalInfoSections": [ // ], // "ribbons": [ // { // "text": "ribby" // } // ], // "media": { // "items": [ // ] // }, // "customTextFields": [ // ], // "manageVariants": true, // "productOptions": [ // ], // "productPageUrl": { // "base": "https://www.my-website.com/", // "path": "/product-page/webhook-test" // }, // "numericId": "1567078000586000", // "inventoryItemId": "a70344ae-0078-f700-2684-9b98d99891b5", // "discount": { // "type": "NONE", // "value": 0 // }, // "collectionIds": [ // ], // "variants": [ // ] // }, // { // "id": "6507fd67-94e5-10af-73e4-d2167852d5bc", // "name": "digital product", // "slug": "digital-product", // "visible": true, // "productType": "digital", // "description": "", // "sku": "", // "weight": 0, // "stock": { // "trackInventory": false, // "inStock": true // }, // "price": { // "currency": "ILS", // "price": 123, // "discountedPrice": 123, // "formatted": { // "price": "123.00 ", // "discountedPrice": "123.00 " // } // }, // "priceData": { // "currency": "ILS", // "price": 123, // "discountedPrice": 123, // "formatted": { // "price": "123.00 ", // "discountedPrice": "123.00 " // } // }, // "additionalInfoSections": [ // ], // "ribbons": [ // ], // "media": { // "items": [ // ] // }, // "customTextFields": [ // ], // "manageVariants": false, // "productOptions": [ // ], // "productPageUrl": { // "base": "https://www.my-website.com/", // "path": "/product-page/digital-product" // }, // "numericId": "1544009414325000", // "inventoryItemId": "9af80298-6b1a-ef50-8c1b-2de987ad2a43", // "discount": { // "type": "NONE", // "value": 0 // }, // "collectionIds": [ // "ae886d55-2572-eee8-b2c4-13219844b5e4" // ], // "variants": [ // ] // } // ], // "metadata": { // "items": 100, // "offset": 0 // }, // "totalResults": 2 // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON metadataItems := CkJsonObject_IntOf(jResp,'metadata.items'); metadataOffset := CkJsonObject_IntOf(jResp,'metadata.offset'); totalResults := CkJsonObject_IntOf(jResp,'totalResults'); i := 0; count_i := CkJsonObject_SizeOfArray(jResp,'products'); while i < count_i do begin CkJsonObject_putI(jResp,i); id := CkJsonObject__stringOf(jResp,'products[i].id'); name := CkJsonObject__stringOf(jResp,'products[i].name'); slug := CkJsonObject__stringOf(jResp,'products[i].slug'); visible := CkJsonObject_BoolOf(jResp,'products[i].visible'); productType := CkJsonObject__stringOf(jResp,'products[i].productType'); description := CkJsonObject__stringOf(jResp,'products[i].description'); stockTrackInventory := CkJsonObject_BoolOf(jResp,'products[i].stock.trackInventory'); stockQuantity := CkJsonObject_IntOf(jResp,'products[i].stock.quantity'); stockInStock := CkJsonObject_BoolOf(jResp,'products[i].stock.inStock'); priceCurrency := CkJsonObject__stringOf(jResp,'products[i].price.currency'); pricePrice := CkJsonObject_IntOf(jResp,'products[i].price.price'); priceDiscountedPrice := CkJsonObject_IntOf(jResp,'products[i].price.discountedPrice'); priceFormattedPrice := CkJsonObject__stringOf(jResp,'products[i].price.formatted.price'); priceFormattedDiscountedPrice := CkJsonObject__stringOf(jResp,'products[i].price.formatted.discountedPrice'); priceDataCurrency := CkJsonObject__stringOf(jResp,'products[i].priceData.currency'); priceDataPrice := CkJsonObject_IntOf(jResp,'products[i].priceData.price'); priceDataDiscountedPrice := CkJsonObject_IntOf(jResp,'products[i].priceData.discountedPrice'); priceDataFormattedPrice := CkJsonObject__stringOf(jResp,'products[i].priceData.formatted.price'); priceDataFormattedDiscountedPrice := CkJsonObject__stringOf(jResp,'products[i].priceData.formatted.discountedPrice'); manageVariants := CkJsonObject_BoolOf(jResp,'products[i].manageVariants'); productPageUrlBase := CkJsonObject__stringOf(jResp,'products[i].productPageUrl.base'); productPageUrlPath := CkJsonObject__stringOf(jResp,'products[i].productPageUrl.path'); numericId := CkJsonObject__stringOf(jResp,'products[i].numericId'); inventoryItemId := CkJsonObject__stringOf(jResp,'products[i].inventoryItemId'); discountType := CkJsonObject__stringOf(jResp,'products[i].discount.type'); discountValue := CkJsonObject_IntOf(jResp,'products[i].discount.value'); sku := CkJsonObject__stringOf(jResp,'products[i].sku'); weight := CkJsonObject_IntOf(jResp,'products[i].weight'); j := 0; count_j := CkJsonObject_SizeOfArray(jResp,'products[i].additionalInfoSections'); while j < count_j do begin CkJsonObject_putJ(jResp,j); j := j + 1; end; j := 0; count_j := CkJsonObject_SizeOfArray(jResp,'products[i].ribbons'); while j < count_j do begin CkJsonObject_putJ(jResp,j); text := CkJsonObject__stringOf(jResp,'products[i].ribbons[j].text'); j := j + 1; end; j := 0; count_j := CkJsonObject_SizeOfArray(jResp,'products[i].media.items'); while j < count_j do begin CkJsonObject_putJ(jResp,j); j := j + 1; end; j := 0; count_j := CkJsonObject_SizeOfArray(jResp,'products[i].customTextFields'); while j < count_j do begin CkJsonObject_putJ(jResp,j); j := j + 1; end; j := 0; count_j := CkJsonObject_SizeOfArray(jResp,'products[i].productOptions'); while j < count_j do begin CkJsonObject_putJ(jResp,j); j := j + 1; end; j := 0; count_j := CkJsonObject_SizeOfArray(jResp,'products[i].collectionIds'); while j < count_j do begin CkJsonObject_putJ(jResp,j); strVal := CkJsonObject__stringOf(jResp,'products[i].collectionIds[j]'); j := j + 1; end; j := 0; count_j := CkJsonObject_SizeOfArray(jResp,'products[i].variants'); while j < count_j do begin CkJsonObject_putJ(jResp,j); j := j + 1; end; i := i + 1; end; CkHttp_Dispose(http); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.