Rev 75 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// be sure include path contains current directoryini_set('include_path', ini_get('include_path') . ':.');require_once 'shopifyConfig.php';getShopifyConfig();//function shopifyProductAdjust($Title, $SKU, $Quantity) {// Count Products for this title and sku$url = getShopifyAdminUrl() . "products/count.json?title=" . urlencode($Title) . "&SKU=" . urlencode($SKU);$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json'));curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_VERBOSE, 0);curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);$data = curl_exec ($curl);curl_close ($curl);$json = json_decode($data);$count = (isset($json->count) ? $json->count : 0);if ($count < 1) {return array(false, "Shopify: Can't handle \"$Title\", found $count products.");return false;}// Get Product id and quantity$url = getShopifyAdminUrl() . "products.json?title=" . urlencode($Title) . "&SKU=" . urlencode($SKU) . "&fields=id,variants";$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json'));curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_VERBOSE, 0);curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);$data = curl_exec ($curl);curl_close ($curl);$json = json_decode($data);$id = $json->products[0]->id;$varid = $json->products[0]->variants[0]->id;$quantity = $json->products[0]->variants[0]->inventory_quantity;$newquantity = $quantity - $Quantity;// Delete Product with quantity of less than 1if ($newquantity < 1) {$url = getShopifyAdminUrl() . "products/" . $id . ".json";$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json'));curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_VERBOSE, 0);curl_setopt($curl, CURLOPT_HEADER, 1);curl_setopt($curl, CURLOPT_NOBODY, 1);curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);$data = curl_exec ($curl);$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);curl_close ($curl);if ($httpcode == 200) {return array(true, "Shopify: Deleted \"$Title\".");} else {return array(false, "Shopify: Could not delete \"$Title\".");}} else { // Adjust Product's quantity$url = getShopifyAdminUrl() . "products/" . $id . ".json";$request = "{ \"product\": { \"id\": $id, \"variants\": [ { \"id\": $varid, \"inventory_quantity\": $newquantity } ] } }";$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json'));curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_VERBOSE, 0);curl_setopt($curl, CURLOPT_HEADER, 1);curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");curl_setopt($curl, CURLOPT_POSTFIELDS, $request);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);$data = curl_exec ($curl);$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);curl_close ($curl);if ($httpcode == 200) {return array(true, "Shopify: Updated \"$Title\", Quantity now $newquantity.");} else {return array(false, "Shopify: Could not update quantity for \"$Title\".");}}return array(false, "Shopify couldn't process \"$Title\".");}?>