1. Go to this page and download the library: Download specbee/shopify library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
specbee / shopify example snippets
$client = new Shopify\PublicApp(/* $args */);
// Get the first 25 products.
$result = $client->get('products', ['query' => ['limit' => 25]]);
// If you're paginating in the same request directly after the first API call
// you can simply use the getNextPage() method.
if ($client->hasNextPage()){
// Get the next 25 products.
$result = $client->getNextPage();
}
// If you're doing multiple page requests or client requests you
// will need to keep track of the page_info params yourself.
$page_info = $client->getNextPageParams();
// To get the next page you can now just pass $page_info into the query.
// This will get the next 25 products ("limit" is automatically set).
$result = $client->get('products', ['query' => $page_info]);
$client = new Shopify\PrivateApp($SHOPIFY_SHOP_DOMAIN, $SHOPIFY_API_KEY, $SHOPIFY_PASSWORD, $SHOPIFY_SHARED_SECRET);
$result = $client->get('shop');
session_start();
$client = new Shopify\PublicApp($_GET['shop'], $APP_API_KEY, $APP_SECRET);
// You set a random state that you will confirm later.
$random_state = 'client-id:' . $_SESSION['client_id'];
$client->authorizeUser('[MY_DOMAIN]/redirect.php', [
'read_products',
'write_products',
], $random_state);
session_start();
$client = new Shopify\PublicApp($_GET['shop'], $APP_API_KEY, $APP_SECRET);
// Used to check request data is valid.
$client->setState('client-id:' . $_SESSION['client_id']);
if ($token = $client->getAccessToken()) {
$_SESSION['shopify_access_token'] = $token;
$_SESSION['shopify_shop_domain'] = $_GET['shop'];
header("Location: dashboard.php");
}
else {
die('invalid token');
}
// Get shop info.
$shop_info = $client->getShopInfo();
// Get a specific product.
$product = $client->getProduct($product_id);
// Delete a specific product.
$client->deleteProduct($product_id);
// Create a product.
$product = $client->createProduct(['title' => 'my new product']);
// Count products easily.
$count = $client->getProductsCount(['updated_at_min' => time() - 3600]);
// Easily get all products without having to worry about page limits.
$products = $client->getProducts();
// This will fetch all products and will make multiple requests if necessary.
// You can easily supply filter arguments.
$products = $client->getProducts(['query' => ['vendor' => 'MY_VENDOR']]);
// For ease-of-use, you should use the getResources() method to automatically handle Shopify's pagination.
// This will ensure that if there are over 250 orders, you get them all returned to you.
$orders = $client->getResources('orders', ['query' => ['fields' => 'id,billing_address,customer']]);
// If efficiency and memory limits are a concern, you can loop over results manually.
foreach ($this->client->getResourcePager('products', 25) as $product) {
// Fetches 25 products at a time.
// If you have 500 products, this will create 20 separate requests for you.
// PHP memory will only be storing 25 products at a time, which keeps thing memory-efficient.
}
// Process webhook manually.
$webhook = new Shopify\IncomingWebhook($SHOPIFY_SHARED_SECRET);
try {
$webhook->validate();
$data = $webhook->getData();
} catch (Shopify\WebhookException $e) {
// Errors means you should not process the webhook data.
error_log($e->getMessage());
}
// Process webhook using the $client.
try {
$data = $client->getIncomingWebhook($validate = TRUE);
} catch (Shopify\ClientException $e) {
error_log($e->getMessage());
}
if (!empty($data)) {
// Do something with the webhook data.
}
try {
$response = $client->put('products/BAD_ID');
} catch (Shopify\ClientException $e) {
// Get request errors.
error_log($e->getErrors());
// Get last response object.
$last_response = $e->getLastResponse();
$code = $e->getCode();
$code = $last_response->getStatusCode();
}
$client->rate_limit = FALSE;
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.