PHP code example of luketowers / php-shopify-api

1. Go to this page and download the library: Download luketowers/php-shopify-api 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/ */

    

luketowers / php-shopify-api example snippets


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;
}