Rev 100 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
// be sure include path contains current directory
ini_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?limit=1&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 1
if ($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\".");
}
?>