dev-master
9999999-dev https://github.com/luketowers/php-shopify-apiPHP wrapper for Shopify API
MIT
The Requires
- php >=7.0
- guzzlehttp/guzzle ~6.0
by Luke Towers
api php shopify
PHP wrapper for Shopify API
A simple PHP wrapper around the Shopify API., (*1)
Install via Composer by running composer require luketowers/php-shopify-api
in your project directory., (*2)
In order to use this wrapper library you will need to provide credentials to access Shopify's API., (*3)
You will either need an access token for the shop you are trying to access (if using a public application) or an API Key and Secret for a private application., (*4)
use LukeTowers\ShopifyPHP\Shopify; // Initialize the client $api = new Shopify('exampleshop.myshopify.com', 'mysupersecrettoken'); // Get all products $result = $api->call('GET', 'admin/products.json'); // Get the products with ids of '632910392' and '921728736' with only the 'id', 'images', and 'title' fields $result = $api->call('GET', 'admin/products.json', [ 'ids' => '632910392,921728736', 'fields' => 'id,images,title', ]); // Create a new "Burton Custom Freestyle 151" product $result = $api->call('POST', 'admin/products.json', [ 'product' => [ "title" => "Burton Custom Freestyle 151", "body_html" => "<strong>Good snowboard!</strong>", "vendor" => "Burton", "product_type" => "Snowboard", "tags" => 'Barnes & Noble, John's Fav, "Big Air"', ], ]);
use LukeTowers\ShopifyPHP\Shopify; $api = new Shopify($data['shop'], [ 'api_key' => '...', 'secret' => '...', ]);
use LukeTowers\ShopifyPHP\Shopify; $storedToken = ''; // Retrieve the stored token for the shop in question $api = new Shopify('exampleshop.myshopify.com', $storedToken);
use LukeTowers\ShopifyPHP\Shopify; function make_authorization_attempt($shop, $scopes) { $api = new Shopify($shop, [ 'api_key' => '...', 'secret' => '...', ]); $nonce = bin2hex(random_bytes(10)); // Store a record of the shop attempting to authenticate and the nonce provided $storedAttempts = file_get_contents('authattempts.json'); $storedAttempts = $storedAttempts ? json_decode($storedAttempts) : []; $storedAttempts[] = ['shop' => $shop, 'nonce' => $nonce, 'scopes' => $scopes]; file_put_contents('authattempts.json', json_encode($storedAttempts)); return $api->getAuthorizeUrl($scopes, 'https://example.com/handle/shopify/callback', $nonce); } header('Location: ' . make_authorization_attempt('exampleshop.myshopify.com', ['read_product'])); die();
use LukeTowers\ShopifyPHP\Shopify; function check_authorization_attempt() { $data = $_GET; $api = new Shopify($data['shop'], [ 'api_key' => '...', 'secret' => '...', ]); $storedAttempt = null; $attempts = json_decode(file_get_contents('authattempts.json')); foreach ($attempts as $attempt) { if ($attempt->shop === $data['shop']) { $storedAttempt = $attempt; break; } } return $api->authorizeApplication($storedAttempt->nonce, $data); } $response = check_authorization_attempt(); if ($response) { // Store the access token for later use $response->access_token; }
PHP wrapper for Shopify API
MIT
api php shopify