-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.php
120 lines (95 loc) · 3.4 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
require 'vendor/autoload.php';
use arslanramay\ShopifyPHP\Shopify;
// Load the.env file
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
// =====================================
// API Credentials
// =====================================
// Define shop domain, API key, and secret
$shop_domain = $_ENV['SHOP_DOMAIN'];
$shop_access_token = $_ENV['SHOP_ACCESS_TOKEN'];
$shop_api_version = $_ENV['SHOP_API_VERSION'];
// var_dump($_ENV);
// var_dump($shop_access_token);
echo "<pre>";
echo "Shop Domain: " . $shop_domain . "\n";
echo "Shop Access Token: " . $shop_access_token;
echo "</pre>";
// Initialize the Shopify client
$shopify = new Shopify($shop_domain, $shop_access_token);
// =====================================
// CODE EXAMPLES
// =====================================
// Example 1: Fetch all Products
$result = $shopify->call('GET', 'admin/products.json');
// echo "<pre>";
// echo var_dump($result->products);
// echo print_r($result->products);
// echo "</pre>";
// Example 2: Fetch products with ids of '9326553104669' and '9339160002845' with only the 'id', 'images', and 'title' fields
$products = $shopify->call('GET', 'admin/products.json', [
'ids' => '9326553104669,9339160002845',
'fields' => 'id,images,title,created_at,status',
]);
echo "<pre>";
// echo var_dump($result->products);
echo print_r($products);
// echo "Products: " . json_encode($products, JSON_PRETTY_PRINT) . "\n";
echo "</pre>";
// Create a new "Burton Custom Freestyle 151" product
// $result123 = $shopify->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, Johns Fav, "Big Air"',
// ],
// ]);
// print_r($result123);
// Example 3: Create a new Product
// Product data
$productData = [
'product' => [
'title' => 'Kerastase Shampoo 150ml',
'body_html' => '<strong>Kerastase Shampoo</strong> for healthy hair.',
'vendor' => 'Kerastase',
'product_type' => 'Shampoo',
'tags' => 'Shampoo, Kerastas, Hair Care',
'variants' => [
[
'option1' => 'Default Title',
'price' => '29.99',
'sku' => 'KERASTASE-150ML',
]
]
]
];
// Create product
try {
$product = $shopify->call('POST', 'admin/api/2024-01/products.json', $product);
print_r($product);
} catch (Exception $e) {
echo 'Error creating product: ' . $e->getMessage();
}
// Create a new product with title "Kerastase Shampoo 150ml"
// $result = $shopify->call('POST', 'admin/products.json', [
// 'product' => [
// "title" => "Kerastase Shampoo 150ml",
// "body_html" => "<strong>Good shampoo for hair!</strong>",
// "vendor" => "Kerastase",
// "product_type" => "Snowboard",
// "tags" => 'Shampoo, Kerastas, "Hair Care"',
// ],
// ]);
// Fetch orders
// try {
// $orders = $shopify->call('GET', 'admin/api/2024-04/orders.json');
// echo "<pre>";
// echo "Orders: " . json_encode($orders, JSON_PRETTY_PRINT) . "\n";
// echo "</pre>";
// } catch (Exception $e) {
// echo "Error fetching orders: " . $e->getMessage() . "\n";
// }