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
(PHP Extension) Shopify Create New ProductCreate a new product
<?php // The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number. // For example, if using Chilkat v9.5.0.48, then include as shown here: include("chilkat_9_5_0.php"); $rest = new CkRest(); $rest->SetAuthBasic('SHOPIFY_PRIVATE_API_KEY','SHOPIFY_PRIVATE_API_SECRET_KEY'); $success = $rest->Connect('chilkat.myshopify.com',443,true,true); if ($success != true) { print $rest->lastErrorText() . "\n"; exit; } // The following code creates the JSON request body. // The JSON created by this code is shown below. $jsonReq = new CkJsonObject(); $jsonReq->UpdateString('product.title','Burton Custom Freestyle 151'); $jsonReq->UpdateString('product.body_html','<strong>Good snowboard!</strong>'); $jsonReq->UpdateString('product.vendor','Burton'); $jsonReq->UpdateString('product.product_type','Snowboard'); $jsonReq->UpdateString('product.images[0].attachment','R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='); // The JSON request body created by the above code: // { // "product": { // "title": "Burton Custom Freestyle 151", // "body_html": "<strong>Good snowboard!<\/strong>", // "vendor": "Burton", // "product_type": "Snowboard", // "images": [ // { // "attachment": "R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" // } // ] // } // } $sbReq = new CkStringBuilder(); $jsonReq->EmitSb($sbReq); $rest->AddHeader('Content-Type','application/json'); $sbJson = new CkStringBuilder(); $success = $rest->FullRequestSb('POST','/admin/products.json',$sbReq,$sbJson); if ($success != true) { print $rest->lastErrorText() . "\n"; exit; } if ($rest->get_ResponseStatusCode() != 201) { print 'Received error response code: ' . $rest->get_ResponseStatusCode() . "\n"; print 'Response body:' . "\n"; print $sbJson->getAsString() . "\n"; exit; } $json = new CkJsonObject(); $json->LoadSb($sbJson); // The following code parses the JSON response. // A sample JSON response is shown below the sample code. $productId = $json->IntOf('product.id'); $productTitle = $json->stringOf('product.title'); $productBody_html = $json->stringOf('product.body_html'); $productVendor = $json->stringOf('product.vendor'); $productProduct_type = $json->stringOf('product.product_type'); $productCreated_at = $json->stringOf('product.created_at'); $productHandle = $json->stringOf('product.handle'); $productUpdated_at = $json->stringOf('product.updated_at'); $productPublished_at = $json->stringOf('product.published_at'); $productTemplate_suffix = $json->IsNullOf('product.template_suffix'); $productPublished_scope = $json->stringOf('product.published_scope'); $productTags = $json->stringOf('product.tags'); $productImageId = $json->IntOf('product.image.id'); $productImageProduct_id = $json->IntOf('product.image.product_id'); $productImagePosition = $json->IntOf('product.image.position'); $productImageCreated_at = $json->stringOf('product.image.created_at'); $productImageUpdated_at = $json->stringOf('product.image.updated_at'); $productImageWidth = $json->IntOf('product.image.width'); $productImageHeight = $json->IntOf('product.image.height'); $productImageSrc = $json->stringOf('product.image.src'); $i = 0; $count_i = $json->SizeOfArray('product.variants'); while ($i < $count_i) { $json->put_I($i); $id = $json->IntOf('product.variants[i].id'); $product_id = $json->IntOf('product.variants[i].product_id'); $title = $json->stringOf('product.variants[i].title'); $price = $json->stringOf('product.variants[i].price'); $sku = $json->stringOf('product.variants[i].sku'); $position = $json->IntOf('product.variants[i].position'); $grams = $json->IntOf('product.variants[i].grams'); $inventory_policy = $json->stringOf('product.variants[i].inventory_policy'); $compare_at_price = $json->IsNullOf('product.variants[i].compare_at_price'); $fulfillment_service = $json->stringOf('product.variants[i].fulfillment_service'); $inventory_management = $json->IsNullOf('product.variants[i].inventory_management'); $option1 = $json->stringOf('product.variants[i].option1'); $option2 = $json->IsNullOf('product.variants[i].option2'); $option3 = $json->IsNullOf('product.variants[i].option3'); $created_at = $json->stringOf('product.variants[i].created_at'); $updated_at = $json->stringOf('product.variants[i].updated_at'); $taxable = $json->BoolOf('product.variants[i].taxable'); $barcode = $json->IsNullOf('product.variants[i].barcode'); $image_id = $json->IsNullOf('product.variants[i].image_id'); $inventory_quantity = $json->IntOf('product.variants[i].inventory_quantity'); $weight = $json->IntOf('product.variants[i].weight'); $weight_unit = $json->stringOf('product.variants[i].weight_unit'); $old_inventory_quantity = $json->IntOf('product.variants[i].old_inventory_quantity'); $requires_shipping = $json->BoolOf('product.variants[i].requires_shipping'); $i = $i + 1; } $i = 0; $count_i = $json->SizeOfArray('product.options'); while ($i < $count_i) { $json->put_I($i); $id = $json->IntOf('product.options[i].id'); $product_id = $json->IntOf('product.options[i].product_id'); $name = $json->stringOf('product.options[i].name'); $position = $json->IntOf('product.options[i].position'); $j = 0; $count_j = $json->SizeOfArray('product.options[i].values'); while ($j < $count_j) { $json->put_J($j); $strVal = $json->stringOf('product.options[i].values[j]'); $j = $j + 1; } $i = $i + 1; } $i = 0; $count_i = $json->SizeOfArray('product.images'); while ($i < $count_i) { $json->put_I($i); $id = $json->IntOf('product.images[i].id'); $product_id = $json->IntOf('product.images[i].product_id'); $position = $json->IntOf('product.images[i].position'); $created_at = $json->stringOf('product.images[i].created_at'); $updated_at = $json->stringOf('product.images[i].updated_at'); $width = $json->IntOf('product.images[i].width'); $height = $json->IntOf('product.images[i].height'); $src = $json->stringOf('product.images[i].src'); $j = 0; $count_j = $json->SizeOfArray('product.images[i].variant_ids'); while ($j < $count_j) { $json->put_J($j); $j = $j + 1; } $i = $i + 1; } $i = 0; $count_i = $json->SizeOfArray('image.product.variant_ids'); while ($i < $count_i) { $json->put_I($i); $i = $i + 1; } // A sample JSON response body that is parsed by the above code: // { // "product": { // "id": 1071559747, // "title": "Burton Custom Freestyle 151", // "body_html": "<strong>Good snowboard!<\/strong>", // "vendor": "Burton", // "product_type": "Snowboard", // "created_at": "2017-09-22T14:48:43-04:00", // "handle": "burton-custom-freestyle-151", // "updated_at": "2017-09-22T14:48:44-04:00", // "published_at": "2017-09-22T14:48:43-04:00", // "template_suffix": null, // "published_scope": "global", // "tags": "", // "variants": [ // { // "id": 1070325218, // "product_id": 1071559747, // "title": "Default Title", // "price": "0.00", // "sku": "", // "position": 1, // "grams": 0, // "inventory_policy": "deny", // "compare_at_price": null, // "fulfillment_service": "manual", // "inventory_management": null, // "option1": "Default Title", // "option2": null, // "option3": null, // "created_at": "2017-09-22T14:48:44-04:00", // "updated_at": "2017-09-22T14:48:44-04:00", // "taxable": true, // "barcode": null, // "image_id": null, // "inventory_quantity": 1, // "weight": 0.0, // "weight_unit": "lb", // "old_inventory_quantity": 1, // "requires_shipping": true // } // ], // "options": [ // { // "id": 1022828903, // "product_id": 1071559747, // "name": "Title", // "position": 1, // "values": [ // "Default Title" // ] // } // ], // "images": [ // { // "id": 1001473945, // "product_id": 1071559747, // "position": 1, // "created_at": "2017-09-22T14:48:43-04:00", // "updated_at": "2017-09-22T14:48:43-04:00", // "width": 1, // "height": 1, // "src": "https:\/\/cdn.shopify.com\/s\/files\/1\/0006\/9093\/3842\/products\/df3e567d6f16d040326c7a0ea29a4f41.gif?v=1506106123", // "variant_ids": [ // ] // } // ], // "image": { // "id": 1001473945, // "product_id": 1071559747, // "position": 1, // "created_at": "2017-09-22T14:48:43-04:00", // "updated_at": "2017-09-22T14:48:43-04:00", // "width": 1, // "height": 1, // "src": "https:\/\/cdn.shopify.com\/s\/files\/1\/0006\/9093\/3842\/products\/df3e567d6f16d040326c7a0ea29a4f41.gif?v=1506106123", // "variant_ids": [ // ] // } // } // } print 'Example Completed.' . "\n"; ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.