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) Lightspeed - Create a ProductCreate a new product based on the given parameters. For more information, see https://developers.lightspeedhq.com/ecom/endpoints/product/#post-create-a-product
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; productId: Integer; productCreatedAt: PWideChar; productUpdatedAt: PWideChar; productIsVisible: Boolean; productVisibility: PWideChar; productHasMatrix: Boolean; productData01: PWideChar; productData02: PWideChar; productData03: PWideChar; productUrl: PWideChar; productTitle: PWideChar; productFulltitle: PWideChar; productDescription: PWideChar; productContent: PWideChar; productSet: Boolean; productBrandResourceId: Integer; productBrandResourceUrl: PWideChar; productBrandResourceLink: PWideChar; productCategoriesResourceId: Boolean; productCategoriesResourceUrl: PWideChar; productCategoriesResourceLink: PWideChar; productDeliverydateResourceId: Integer; productDeliverydateResourceUrl: PWideChar; productDeliverydateResourceLink: PWideChar; productImage: Boolean; productImages: Boolean; productRelationsResourceId: Boolean; productRelationsResourceUrl: PWideChar; productRelationsResourceLink: PWideChar; productMetafieldsResourceId: Boolean; productMetafieldsResourceUrl: PWideChar; productMetafieldsResourceLink: PWideChar; productReviewsResourceId: Boolean; productReviewsResourceUrl: PWideChar; productReviewsResourceLink: PWideChar; productType: Boolean; productAttributesResourceId: Boolean; productAttributesResourceUrl: PWideChar; productAttributesResourceLink: PWideChar; productSupplierResourceId: Integer; productSupplierResourceUrl: PWideChar; productSupplierResourceLink: PWideChar; productTagsResourceId: Boolean; productTagsResourceUrl: PWideChar; productTagsResourceLink: PWideChar; productVariantsResourceId: Boolean; productVariantsResourceUrl: PWideChar; productVariantsResourceLink: PWideChar; productMovementsResourceId: Boolean; productMovementsResourceUrl: PWideChar; productMovementsResourceLink: PWideChar; 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 -u API_KEY:API_SECRET \ // -H "Content-Type: application/json" \ // -X POST \ // -d '{ // "product": { // "visibility": "visible", // "data01": "", // "data02": "", // "data03": "", // "title": "Lookin Sharp T-Shirt", // "fulltitle": "Lookin Sharp T-Shirt", // "description": "Description of the Lookin Sharp T-Shirt", // "content": "Long Description of the Lookin Sharp T-Shirt", // "deliverydate": 6488, // "supplier": 78794, // "brand": 1171202 // } // }' \ // "https://api.webshopapp.com/en/products.json" // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code CkHttp_putLogin(http,'API_KEY'); CkHttp_putPassword(http,'API_SECRET'); // Use this online tool to generate code from sample JSON: // Generate Code to Create JSON // The following JSON is sent in the request body. // { // "product": { // "visibility": "visible", // "data01": "", // "data02": "", // "data03": "", // "title": "Lookin Sharp T-Shirt", // "fulltitle": "Lookin Sharp T-Shirt", // "description": "Description of the Lookin Sharp T-Shirt", // "content": "Long Description of the Lookin Sharp T-Shirt", // "deliverydate": 6488, // "supplier": 78794, // "brand": 1171202 // } // } json := CkJsonObject_Create(); CkJsonObject_UpdateString(json,'product.visibility','visible'); CkJsonObject_UpdateString(json,'product.data01',''); CkJsonObject_UpdateString(json,'product.data02',''); CkJsonObject_UpdateString(json,'product.data03',''); CkJsonObject_UpdateString(json,'product.title','Lookin Sharp T-Shirt'); CkJsonObject_UpdateString(json,'product.fulltitle','Lookin Sharp T-Shirt'); CkJsonObject_UpdateString(json,'product.description','Description of the Lookin Sharp T-Shirt'); CkJsonObject_UpdateString(json,'product.content','Long Description of the Lookin Sharp T-Shirt'); CkJsonObject_UpdateInt(json,'product.deliverydate',6488); CkJsonObject_UpdateInt(json,'product.supplier',78794); CkJsonObject_UpdateInt(json,'product.brand',1171202); CkHttp_SetRequestHeader(http,'Content-Type','application/json'); // Use the correct cluster for your shop. Here are the choices: // eu1 https://api.webshopapp.com/en/ // us1 https://api.shoplightspeed.com/en/ resp := CkHttp_PostJson3(http,'https://api.webshopapp.com/en/products.json','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) // { // "product": { // "id": 20974460, // "createdAt": "2019-05-28T20:14:26+00:00", // "updatedAt": "2019-05-28T20:14:26+00:00", // "isVisible": true, // "visibility": "visible", // "hasMatrix": false, // "data01": "", // "data02": "", // "data03": "", // "url": "lookin-sharp-t-shirt", // "title": "Lookin' Sharp T-Shirt", // "fulltitle": "Lookin' Sharp T-Shirt", // "description": "Description of the Lookin' Sharp T-Shirt", // "content": "<p>Long Description of the Lookin' Sharp T-Shirt</p>", // "set": false, // "brand": { // "resource": { // "id": 1171202, // "url": "brands/1171202", // "link": "https://api.shoplightspeed.com/us/brands/1171202.json" // } // }, // "categories": { // "resource": { // "id": false, // "url": "categories/products?product=20974460", // "link": "https://api.shoplightspeed.com/us/categories/products.json?product=20974460" // } // }, // "deliverydate": { // "resource": { // "id": 6488, // "url": "deliverydates/6488", // "link": "https://api.shoplightspeed.com/us/deliverydates/6488.json" // } // }, // "image": false, // "images": false, // "relations": { // "resource": { // "id": false, // "url": "products/20974460/relations", // "link": "https://api.shoplightspeed.com/us/products/20974460/relations.json" // } // }, // "metafields": { // "resource": { // "id": false, // "url": "products/20974460/metafields", // "link": "https://api.shoplightspeed.com/us/products/20974460/metafields.json" // } // }, // "reviews": { // "resource": { // "id": false, // "url": "reviews?product=20974460", // "link": "https://api.shoplightspeed.com/us/reviews.json?product=20974460" // } // }, // "type": false, // "attributes": { // "resource": { // "id": false, // "url": "products/20974460/attributes", // "link": "https://api.shoplightspeed.com/us/products/20974460/attributes.json" // } // }, // "supplier": { // "resource": { // "id": 78794, // "url": "suppliers/78794", // "link": "https://api.shoplightspeed.com/us/suppliers/78794.json" // } // }, // "tags": { // "resource": { // "id": false, // "url": "tags/products?product=20974460", // "link": "https://api.shoplightspeed.com/us/tags/products.json?product=20974460" // } // }, // "variants": { // "resource": { // "id": false, // "url": "variants?product=20974460", // "link": "https://api.shoplightspeed.com/us/variants.json?product=20974460" // } // }, // "movements": { // "resource": { // "id": false, // "url": "variants/movements?product=20974460", // "link": "https://api.shoplightspeed.com/us/variants/movements.json?product=20974460" // } // } // } // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON productId := CkJsonObject_IntOf(jResp,'product.id'); productCreatedAt := CkJsonObject__stringOf(jResp,'product.createdAt'); productUpdatedAt := CkJsonObject__stringOf(jResp,'product.updatedAt'); productIsVisible := CkJsonObject_BoolOf(jResp,'product.isVisible'); productVisibility := CkJsonObject__stringOf(jResp,'product.visibility'); productHasMatrix := CkJsonObject_BoolOf(jResp,'product.hasMatrix'); productData01 := CkJsonObject__stringOf(jResp,'product.data01'); productData02 := CkJsonObject__stringOf(jResp,'product.data02'); productData03 := CkJsonObject__stringOf(jResp,'product.data03'); productUrl := CkJsonObject__stringOf(jResp,'product.url'); productTitle := CkJsonObject__stringOf(jResp,'product.title'); productFulltitle := CkJsonObject__stringOf(jResp,'product.fulltitle'); productDescription := CkJsonObject__stringOf(jResp,'product.description'); productContent := CkJsonObject__stringOf(jResp,'product.content'); productSet := CkJsonObject_BoolOf(jResp,'product.set'); productBrandResourceId := CkJsonObject_IntOf(jResp,'product.brand.resource.id'); productBrandResourceUrl := CkJsonObject__stringOf(jResp,'product.brand.resource.url'); productBrandResourceLink := CkJsonObject__stringOf(jResp,'product.brand.resource.link'); productCategoriesResourceId := CkJsonObject_BoolOf(jResp,'product.categories.resource.id'); productCategoriesResourceUrl := CkJsonObject__stringOf(jResp,'product.categories.resource.url'); productCategoriesResourceLink := CkJsonObject__stringOf(jResp,'product.categories.resource.link'); productDeliverydateResourceId := CkJsonObject_IntOf(jResp,'product.deliverydate.resource.id'); productDeliverydateResourceUrl := CkJsonObject__stringOf(jResp,'product.deliverydate.resource.url'); productDeliverydateResourceLink := CkJsonObject__stringOf(jResp,'product.deliverydate.resource.link'); productImage := CkJsonObject_BoolOf(jResp,'product.image'); productImages := CkJsonObject_BoolOf(jResp,'product.images'); productRelationsResourceId := CkJsonObject_BoolOf(jResp,'product.relations.resource.id'); productRelationsResourceUrl := CkJsonObject__stringOf(jResp,'product.relations.resource.url'); productRelationsResourceLink := CkJsonObject__stringOf(jResp,'product.relations.resource.link'); productMetafieldsResourceId := CkJsonObject_BoolOf(jResp,'product.metafields.resource.id'); productMetafieldsResourceUrl := CkJsonObject__stringOf(jResp,'product.metafields.resource.url'); productMetafieldsResourceLink := CkJsonObject__stringOf(jResp,'product.metafields.resource.link'); productReviewsResourceId := CkJsonObject_BoolOf(jResp,'product.reviews.resource.id'); productReviewsResourceUrl := CkJsonObject__stringOf(jResp,'product.reviews.resource.url'); productReviewsResourceLink := CkJsonObject__stringOf(jResp,'product.reviews.resource.link'); productType := CkJsonObject_BoolOf(jResp,'product.type'); productAttributesResourceId := CkJsonObject_BoolOf(jResp,'product.attributes.resource.id'); productAttributesResourceUrl := CkJsonObject__stringOf(jResp,'product.attributes.resource.url'); productAttributesResourceLink := CkJsonObject__stringOf(jResp,'product.attributes.resource.link'); productSupplierResourceId := CkJsonObject_IntOf(jResp,'product.supplier.resource.id'); productSupplierResourceUrl := CkJsonObject__stringOf(jResp,'product.supplier.resource.url'); productSupplierResourceLink := CkJsonObject__stringOf(jResp,'product.supplier.resource.link'); productTagsResourceId := CkJsonObject_BoolOf(jResp,'product.tags.resource.id'); productTagsResourceUrl := CkJsonObject__stringOf(jResp,'product.tags.resource.url'); productTagsResourceLink := CkJsonObject__stringOf(jResp,'product.tags.resource.link'); productVariantsResourceId := CkJsonObject_BoolOf(jResp,'product.variants.resource.id'); productVariantsResourceUrl := CkJsonObject__stringOf(jResp,'product.variants.resource.url'); productVariantsResourceLink := CkJsonObject__stringOf(jResp,'product.variants.resource.link'); productMovementsResourceId := CkJsonObject_BoolOf(jResp,'product.movements.resource.id'); productMovementsResourceUrl := CkJsonObject__stringOf(jResp,'product.movements.resource.url'); productMovementsResourceLink := CkJsonObject__stringOf(jResp,'product.movements.resource.link'); CkHttp_Dispose(http); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.