Skip to content

Instantly share code, notes, and snippets.

@alaminfirdows
Created June 10, 2024 07:38
Show Gist options
  • Save alaminfirdows/19be5dd5b0af625ca51dacc15a37c1fd to your computer and use it in GitHub Desktop.
Save alaminfirdows/19be5dd5b0af625ca51dacc15a37c1fd to your computer and use it in GitHub Desktop.
Mastering Collections
Subject: [PATCH] Mastering Collections
---
Index: .tinkerwell/snippets/csv_surgery.php
===================================================================
diff --git a/.tinkerwell/snippets/csv_surgery.php b/.tinkerwell/snippets/csv_surgery.php
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/.tinkerwell/snippets/csv_surgery.php (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,13 @@
+<?php
+// # Class - Collections
+// ## 6 - Processing CSV data
+$filepath = database_path("/data/sample_customers.csv");
+$data = file($filepath);
+$header = str_getcsv(array_shift($data));
+
+collect($data)
+ ->map(fn($line) => str_getcsv($line))
+ ->filter(fn($row) => $row[2] > 18)
+ ->all();
+
+
Index: .tinkerwell/snippets/generators.php
===================================================================
diff --git a/.tinkerwell/snippets/generators.php b/.tinkerwell/snippets/generators.php
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/.tinkerwell/snippets/generators.php (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,41 @@
+<?php
+// # Class - Collections
+// ## 7 - Understanding Generators
+use Illuminate\Support\Collection;
+use Illuminate\Support\LazyCollection;
+
+# Generators
+// Collection::times(1000 * 1000 * 1000);
+// LazyCollection::times(1000 * 1000 * 1000);
+
+function multiple_values()
+{
+ yield 'X'; // <- Execution stops here on current()
+ echo "Middle of function";
+ yield 'Y'; // <- Execution stops here after next()
+}
+
+$gen = multiple_values();
+
+echo $gen->current();
+$gen->next();
+echo $gen->current();
+
+
+function getNumbers(): Generator
+{
+ $n = 1;
+
+ while ($n < 10) {
+ yield $n;
+
+ echo "returned $n \n";
+ $n++;
+ }
+}
+
+$gen = getNumbers();
+foreach(getNumbers() as $v) {
+ echo $v . PHP_EOL;
+}
+
Index: .tinkerwell/snippets/higher_order_func.php
===================================================================
diff --git a/.tinkerwell/snippets/higher_order_func.php b/.tinkerwell/snippets/higher_order_func.php
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/.tinkerwell/snippets/higher_order_func.php (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,59 @@
+<?php
+// # Class - Collections
+// ## 2 - Higher Order Functions
+
+// Initial implementation
+// ---------------------------------------------
+function getCustomerEmails(array $customers)
+{
+ $customerEmails = [];
+
+ foreach ($customers as $customer) {
+ $customerEmails[] = $customer->email;
+ }
+
+ return $customerEmails;
+}
+
+function getStockTotoals(array $inventoryItems)
+{
+ $stockTotals = [];
+
+ foreach ($inventoryItems as $item) {
+ $stockTotals[] = [
+ 'product' => $item->productName,
+ 'total_value' => $item->quantity * $item->price,
+ ];
+ }
+
+ return $stockTotals;
+}
+
+
+// Refactored by extracting a higher order function
+// ---------------------------------------------
+
+function map(array $items, $func)
+{
+ $result = [];
+ foreach ($items as $item) {
+ $result[] = $func($item);
+ }
+
+ return $result;
+}
+
+function _getCustomerEmails(array $items)
+{
+ return map($items, fn($item) => $item->email);
+}
+
+function _getStockTotoals(array $items)
+{
+ return map($items, function($item) {
+ return [
+ 'product' => $item->productName,
+ 'total_value' => $item->quantity * $item->price,
+ ];
+ });
+}
Index: .tinkerwell/snippets/imperative_declearative.php
===================================================================
diff --git a/.tinkerwell/snippets/imperative_declearative.php b/.tinkerwell/snippets/imperative_declearative.php
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/.tinkerwell/snippets/imperative_declearative.php (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,23 @@
+<?php
+// # Class - Collections
+// ## 1 - Imperative vs Declearative Style
+// Get list of Users who has email
+
+// Imperatove Style:
+function getUserEmails($users)
+{
+ $emails = [];
+
+ for ($i = 0; $i < count($users); $i++) {
+ $user = $users[$i];
+
+ if ($user->email !== null) {
+ $emails[] = $user->email;
+ }
+ }
+
+ return $emails;
+}
+
+// Declearative Style:
+// SELECT email FROM users WHERE email IS NOT NULL;
Index: .tinkerwell/snippets/json_surgery.php
===================================================================
diff --git a/.tinkerwell/snippets/json_surgery.php b/.tinkerwell/snippets/json_surgery.php
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/.tinkerwell/snippets/json_surgery.php (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,34 @@
+<?php
+// # Class - Collections
+// ## 3 - Practicing Laravel Collection
+
+// Goal: Get total of all variant prices where product type is either "Jacket" or "Coat"
+
+use Illuminate\Support\Facades\File;
+
+$filepath = database_path("/data/shopify_products.json");
+
+// dd(json_decode(file_get_contents($filepath))->products);
+
+$products = File::json($filepath)['products'];
+
+// Traditional implementation with nested loops -- START
+$totalPriceA = 0;
+
+foreach($products as $product) {
+ if (in_array($product['product_type'], ['Jacket', 'Coat'])) {
+ foreach($product['variants'] as $variant) {
+ $totalPriceA += floatval($variant['price']);
+ }
+ }
+}
+// Traditional implementation with nested loops -- END
+
+// Refactored using Collection -- START
+$totalPriceB = collect($products)
+ ->whereIn('product_type', ['Jacket', 'Coat'])
+ ->flatMap(fn($item) => $item['variants'])
+ ->sum('price');
+// Refactored using Collection -- END
+
+dd($totalPriceA, $totalPriceB);
Index: .tinkerwell/snippets/lazy_csv.php
===================================================================
diff --git a/.tinkerwell/snippets/lazy_csv.php b/.tinkerwell/snippets/lazy_csv.php
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/.tinkerwell/snippets/lazy_csv.php (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,21 @@
+<?php
+// # Class - Collections
+// ## 8 - Processing Huge CSV fiels using LazyCollection
+use Illuminate\Support\Collection;
+use Illuminate\Support\LazyCollection;
+
+$filepath = database_path("/data/sample_customers.csv");
+// $customers = LazyCollection::make(function () use($filepath) {
+// $handle = fopen($filepath, 'r');
+
+// while (($line = fgetcsv($handle)) !== false) {
+// yield $line;
+// }
+// });
+
+$customers = File::lines($filepath)
+ ->map(fn($line) => str_getcsv($line))
+ ->filter(fn($row) => $row[2] > 18)
+ ->all();
+
+// ## Converting Collections to Lazy Collection
\ No newline at end of file
Index: .tinkerwell/snippets/reduce_nested.php
===================================================================
diff --git a/.tinkerwell/snippets/reduce_nested.php b/.tinkerwell/snippets/reduce_nested.php
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/.tinkerwell/snippets/reduce_nested.php (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,34 @@
+<?php
+// # Class - Collections
+// ## 5 (Ex) - Calculating multiple, nested values using reduce()
+
+// We have many array of player statistics.
+// Same player can appera in multiple array.
+$arr1 = [
+ ['name' => 'Joe Brown', 'goals' => 0, 'assists' => 0, 'points' => 0],
+ ['name' => 'Jim Bob', 'goals' => 2, 'assists' => 1, 'points' => 3],
+ ['name' => 'Harry Styles', 'goals' => 1, 'assists' => 1, 'points' => 2],
+ ['name' => 'Craig Mack', 'goals' => 5, 'assists' => 7, 'points' => 12],
+];
+
+$arr2 = [
+ ['name' => 'Craig Mack', 'goals' => 3, 'assists' => 3, 'points' => 6, 'ppg' => 0, 'ppa' => 0, 'pims' => 0],
+ ['name' => 'Jim Bob', 'goals' => 1, 'assists' => 4, 'points' => 5, 'ppg' => 0, 'ppa' => 1, 'pims' => 0],
+ ['name' => 'Joe Brown', 'goals' => 0, 'assists' => 0, 'points' => 0, 'ppg' => 0, 'ppa' => 0, 'pims' => 0],
+ ['name' => 'Harry Styles', 'goals' => 0, 'assists' => 0, 'points' => 0, 'ppg' => 0, 'ppa' => 0, 'pims' => 0],
+];
+
+// We need to sum goals and assists of each player (by name) across all provided arrays
+
+// Receive any number of state arrays
+function summarisePlayerStats(array ...$stats) {
+ return collect([...$stats])->flatten(1)
+ ->reduce(function($score, $item) {
+ $score[$item['name']] = $score[$item['name']] ?? ['goals' => 0,'assists' => 0];
+ $score[$item['name']]['goals'] += $item['goals'];
+ $score[$item['name']]['assists'] += $item['assists'];
+
+ return $score;
+ }, []);
+}
+dd(summarisePlayerStats($arr1, $arr2));
Index: .tinkerwell/snippets/table_lookup.php
===================================================================
diff --git a/.tinkerwell/snippets/table_lookup.php b/.tinkerwell/snippets/table_lookup.php
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/.tinkerwell/snippets/table_lookup.php (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,35 @@
+<?php
+// # Class - Collections
+// ## 4 - Table Lookup with Collection
+
+// We have:
+$employees = [
+ [
+ 'name' => 'John',
+ 'department' => 'Sales',
+ 'email' => 'john@example.com',
+ ],
+ [
+ 'name' => 'Jane',
+ 'department' => 'Marketing',
+ 'email' => 'jane@example.com',
+ ],
+ [
+ 'name' => 'Dave',
+ 'department' => 'Marketing',
+ 'email' => 'dave@example.com'
+ ]
+];
+
+// We need:
+// [
+// "john@example.com" => "John",
+// "jane@example.com" => "Jane",
+// "dave@example.com" => "Dave",
+// ]
+
+// Using Collection::mapWithKeys()
+collect($employees)->mapWithKeys(fn ($item, $key) => [$item['email'] => $item['name']]);
+
+// Using Collection::pluck()
+collect($employees)->pluck('name', 'email');
Index: class_collections.md
===================================================================
diff --git a/class_collections.md b/class_collections.md
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/class_collections.md (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,27 @@
+## Collections
+
+### Case of JSON Surgery
+
+- Using Traditional Loops
+- Explaining Imperative and Declarative style
+ - Imperative programming is detailed and focuses on the steps to achieve a result.
+ It often involves explicit loops, conditionals, and variable manipulations.
+ - Declarative programming abstracts the control flow details, allowing you to express the desired outcome more directly.
+ It often involves higher-level functions and operations.
+- Understanding higher-order functions
+- Making a collection class
+- Rewrite with Laravel collection
+
+### Fetching github repo
+
+### Table Lookup
+
+### Reduce with Nested keys
+
+## LazyCollection
+
+- Regular CSV with collection
+- 6GB file issue
+- Explaining PHP Generators
+- Solving with Lazy Collection
+- Converting Collections to LazyCollection and benefits
Index: database/data/l11_install_output.txt
===================================================================
diff --git a/database/data/l11_install_output.txt b/database/data/l11_install_output.txt
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/database/data/l11_install_output.txt (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,679 @@
+
+
+ _ _
+ | | | |
+ | | __ _ _ __ __ ___ _____| |
+ | | / _` | '__/ _` \ \ / / _ \ |
+ | |___| (_| | | | (_| |\ V / __/ |
+ |______\__,_|_| \__,_| \_/ \___|_|
+
+
+ ┌ Would you like to install a starter kit? ────────────────────┐
+ │ Laravel Jetstream │
+ └──────────────────────────────────────────────────────────────┘
+
+ ┌ Which Jetstream stack would you like to install? ────────────┐
+ │ Livewire │
+ └──────────────────────────────────────────────────────────────┘
+
+ ┌ Would you like any optional features? ───────────────────────┐
+ │ API support │
+ │ Email verification │
+ │ Team support │
+ └──────────────────────────────────────────────────────────────┘
+
+Creating a "laravel/laravel" project at "./scratchpad"
+Installing laravel/laravel (v11.0.9)
+ - Downloading laravel/laravel (v11.0.9)
+ - Installing laravel/laravel (v11.0.9): Extracting archive
+Created project in /Volumes/Development/PHP/ProfessionalLaravel/scratchpad
+> @php -r "file_exists('.env') || copy('.env.example', '.env');"
+Loading composer repositories with package information
+Updating dependencies
+Lock file operations: 111 installs, 0 updates, 0 removals
+ - Locking brick/math (0.12.1)
+ - Locking carbonphp/carbon-doctrine-types (3.2.0)
+ - Locking dflydev/dot-access-data (v3.0.2)
+ - Locking doctrine/inflector (2.0.10)
+ - Locking doctrine/lexer (3.0.1)
+ - Locking dragonmantank/cron-expression (v3.3.3)
+ - Locking egulias/email-validator (4.0.2)
+ - Locking fakerphp/faker (v1.23.1)
+ - Locking filp/whoops (2.15.4)
+ - Locking fruitcake/php-cors (v1.3.0)
+ - Locking graham-campbell/result-type (v1.1.2)
+ - Locking guzzlehttp/guzzle (7.8.1)
+ - Locking guzzlehttp/promises (2.0.2)
+ - Locking guzzlehttp/psr7 (2.6.2)
+ - Locking guzzlehttp/uri-template (v1.0.3)
+ - Locking hamcrest/hamcrest-php (v2.0.1)
+ - Locking laravel/framework (v11.8.0)
+ - Locking laravel/pint (v1.16.0)
+ - Locking laravel/prompts (v0.1.22)
+ - Locking laravel/sail (v1.29.2)
+ - Locking laravel/serializable-closure (v1.3.3)
+ - Locking laravel/tinker (v2.9.0)
+ - Locking league/commonmark (2.4.2)
+ - Locking league/config (v1.2.0)
+ - Locking league/flysystem (3.28.0)
+ - Locking league/flysystem-local (3.28.0)
+ - Locking league/mime-type-detection (1.15.0)
+ - Locking mockery/mockery (1.6.12)
+ - Locking monolog/monolog (3.6.0)
+ - Locking myclabs/deep-copy (1.11.1)
+ - Locking nesbot/carbon (3.3.1)
+ - Locking nette/schema (v1.3.0)
+ - Locking nette/utils (v4.0.4)
+ - Locking nikic/php-parser (v5.0.2)
+ - Locking nunomaduro/collision (v8.1.1)
+ - Locking nunomaduro/termwind (v2.0.1)
+ - Locking phar-io/manifest (2.0.4)
+ - Locking phar-io/version (3.2.1)
+ - Locking phpoption/phpoption (1.9.2)
+ - Locking phpunit/php-code-coverage (11.0.3)
+ - Locking phpunit/php-file-iterator (5.0.0)
+ - Locking phpunit/php-invoker (5.0.0)
+ - Locking phpunit/php-text-template (4.0.0)
+ - Locking phpunit/php-timer (7.0.0)
+ - Locking phpunit/phpunit (11.1.3)
+ - Locking psr/clock (1.0.0)
+ - Locking psr/container (2.0.2)
+ - Locking psr/event-dispatcher (1.0.0)
+ - Locking psr/http-client (1.0.3)
+ - Locking psr/http-factory (1.1.0)
+ - Locking psr/http-message (2.0)
+ - Locking psr/log (3.0.0)
+ - Locking psr/simple-cache (3.0.0)
+ - Locking psy/psysh (v0.12.3)
+ - Locking ralouphie/getallheaders (3.0.3)
+ - Locking ramsey/collection (2.0.0)
+ - Locking ramsey/uuid (4.7.6)
+ - Locking sebastian/cli-parser (3.0.1)
+ - Locking sebastian/code-unit (3.0.0)
+ - Locking sebastian/code-unit-reverse-lookup (4.0.0)
+ - Locking sebastian/comparator (6.0.0)
+ - Locking sebastian/complexity (4.0.0)
+ - Locking sebastian/diff (6.0.1)
+ - Locking sebastian/environment (7.1.0)
+ - Locking sebastian/exporter (6.0.1)
+ - Locking sebastian/global-state (7.0.1)
+ - Locking sebastian/lines-of-code (3.0.0)
+ - Locking sebastian/object-enumerator (6.0.0)
+ - Locking sebastian/object-reflector (4.0.0)
+ - Locking sebastian/recursion-context (6.0.0)
+ - Locking sebastian/type (5.0.0)
+ - Locking sebastian/version (5.0.0)
+ - Locking spatie/backtrace (1.6.1)
+ - Locking spatie/flare-client-php (1.6.0)
+ - Locking spatie/ignition (1.14.1)
+ - Locking spatie/laravel-ignition (2.7.0)
+ - Locking symfony/clock (v7.0.7)
+ - Locking symfony/console (v7.0.7)
+ - Locking symfony/css-selector (v7.0.7)
+ - Locking symfony/deprecation-contracts (v3.5.0)
+ - Locking symfony/error-handler (v7.0.7)
+ - Locking symfony/event-dispatcher (v7.0.7)
+ - Locking symfony/event-dispatcher-contracts (v3.5.0)
+ - Locking symfony/finder (v7.0.7)
+ - Locking symfony/http-foundation (v7.0.7)
+ - Locking symfony/http-kernel (v7.0.7)
+ - Locking symfony/mailer (v7.0.7)
+ - Locking symfony/mime (v7.0.7)
+ - Locking symfony/polyfill-ctype (v1.29.0)
+ - Locking symfony/polyfill-intl-grapheme (v1.29.0)
+ - Locking symfony/polyfill-intl-idn (v1.29.0)
+ - Locking symfony/polyfill-intl-normalizer (v1.29.0)
+ - Locking symfony/polyfill-mbstring (v1.29.0)
+ - Locking symfony/polyfill-php72 (v1.29.0)
+ - Locking symfony/polyfill-php80 (v1.29.0)
+ - Locking symfony/polyfill-php83 (v1.29.0)
+ - Locking symfony/polyfill-uuid (v1.29.0)
+ - Locking symfony/process (v7.0.7)
+ - Locking symfony/routing (v7.0.7)
+ - Locking symfony/service-contracts (v3.5.0)
+ - Locking symfony/string (v7.0.7)
+ - Locking symfony/translation (v7.0.7)
+ - Locking symfony/translation-contracts (v3.5.0)
+ - Locking symfony/uid (v7.0.7)
+ - Locking symfony/var-dumper (v7.0.7)
+ - Locking symfony/yaml (v7.0.7)
+ - Locking theseer/tokenizer (1.2.3)
+ - Locking tijsverkoyen/css-to-inline-styles (v2.2.7)
+ - Locking vlucas/phpdotenv (v5.6.0)
+ - Locking voku/portable-ascii (2.0.1)
+ - Locking webmozart/assert (1.11.0)
+Writing lock file
+Installing dependencies from lock file (including require-dev)
+Package operations: 111 installs, 0 updates, 0 removals
+ - Downloading laravel/pint (v1.16.0)
+ - Downloading league/flysystem (3.28.0)
+ - Downloading league/flysystem-local (3.28.0)
+ - Downloading laravel/prompts (v0.1.22)
+ - Downloading laravel/framework (v11.8.0)
+ - Downloading laravel/sail (v1.29.2)
+ - Downloading mockery/mockery (1.6.12)
+ - Downloading spatie/flare-client-php (1.6.0)
+ - Installing doctrine/inflector (2.0.10): Extracting archive
+ - Installing doctrine/lexer (3.0.1): Extracting archive
+ - Installing symfony/polyfill-ctype (v1.29.0): Extracting archive
+ - Installing webmozart/assert (1.11.0): Extracting archive
+ - Installing dragonmantank/cron-expression (v3.3.3): Extracting archive
+ - Installing symfony/deprecation-contracts (v3.5.0): Extracting archive
+ - Installing psr/container (2.0.2): Extracting archive
+ - Installing fakerphp/faker (v1.23.1): Extracting archive
+ - Installing symfony/polyfill-php80 (v1.29.0): Extracting archive
+ - Installing symfony/polyfill-php83 (v1.29.0): Extracting archive
+ - Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive
+ - Installing symfony/http-foundation (v7.0.7): Extracting archive
+ - Installing fruitcake/php-cors (v1.3.0): Extracting archive
+ - Installing psr/http-message (2.0): Extracting archive
+ - Installing psr/http-client (1.0.3): Extracting archive
+ - Installing ralouphie/getallheaders (3.0.3): Extracting archive
+ - Installing psr/http-factory (1.1.0): Extracting archive
+ - Installing guzzlehttp/psr7 (2.6.2): Extracting archive
+ - Installing guzzlehttp/promises (2.0.2): Extracting archive
+ - Installing guzzlehttp/guzzle (7.8.1): Extracting archive
+ - Installing guzzlehttp/uri-template (v1.0.3): Extracting archive
+ - Installing laravel/pint (v1.16.0): Extracting archive
+ - Installing symfony/polyfill-intl-normalizer (v1.29.0): Extracting archive
+ - Installing symfony/polyfill-intl-grapheme (v1.29.0): Extracting archive
+ - Installing symfony/string (v7.0.7): Extracting archive
+ - Installing symfony/service-contracts (v3.5.0): Extracting archive
+ - Installing symfony/console (v7.0.7): Extracting archive
+ - Installing voku/portable-ascii (2.0.1): Extracting archive
+ - Installing phpoption/phpoption (1.9.2): Extracting archive
+ - Installing graham-campbell/result-type (v1.1.2): Extracting archive
+ - Installing vlucas/phpdotenv (v5.6.0): Extracting archive
+ - Installing symfony/css-selector (v7.0.7): Extracting archive
+ - Installing tijsverkoyen/css-to-inline-styles (v2.2.7): Extracting archive
+ - Installing symfony/var-dumper (v7.0.7): Extracting archive
+ - Installing symfony/polyfill-uuid (v1.29.0): Extracting archive
+ - Installing symfony/uid (v7.0.7): Extracting archive
+ - Installing symfony/routing (v7.0.7): Extracting archive
+ - Installing symfony/process (v7.0.7): Extracting archive
+ - Installing symfony/polyfill-php72 (v1.29.0): Extracting archive
+ - Installing symfony/polyfill-intl-idn (v1.29.0): Extracting archive
+ - Installing symfony/mime (v7.0.7): Extracting archive
+ - Installing psr/event-dispatcher (1.0.0): Extracting archive
+ - Installing symfony/event-dispatcher-contracts (v3.5.0): Extracting archive
+ - Installing symfony/event-dispatcher (v7.0.7): Extracting archive
+ - Installing psr/log (3.0.0): Extracting archive
+ - Installing egulias/email-validator (4.0.2): Extracting archive
+ - Installing symfony/mailer (v7.0.7): Extracting archive
+ - Installing symfony/error-handler (v7.0.7): Extracting archive
+ - Installing symfony/http-kernel (v7.0.7): Extracting archive
+ - Installing symfony/finder (v7.0.7): Extracting archive
+ - Installing ramsey/collection (2.0.0): Extracting archive
+ - Installing brick/math (0.12.1): Extracting archive
+ - Installing ramsey/uuid (4.7.6): Extracting archive
+ - Installing psr/simple-cache (3.0.0): Extracting archive
+ - Installing nunomaduro/termwind (v2.0.1): Extracting archive
+ - Installing symfony/translation-contracts (v3.5.0): Extracting archive
+ - Installing symfony/translation (v7.0.7): Extracting archive
+ - Installing psr/clock (1.0.0): Extracting archive
+ - Installing symfony/clock (v7.0.7): Extracting archive
+ - Installing carbonphp/carbon-doctrine-types (3.2.0): Extracting archive
+ - Installing nesbot/carbon (3.3.1): Extracting archive
+ - Installing monolog/monolog (3.6.0): Extracting archive
+ - Installing league/mime-type-detection (1.15.0): Extracting archive
+ - Installing league/flysystem (3.28.0): Extracting archive
+ - Installing league/flysystem-local (3.28.0): Extracting archive
+ - Installing nette/utils (v4.0.4): Extracting archive
+ - Installing nette/schema (v1.3.0): Extracting archive
+ - Installing dflydev/dot-access-data (v3.0.2): Extracting archive
+ - Installing league/config (v1.2.0): Extracting archive
+ - Installing league/commonmark (2.4.2): Extracting archive
+ - Installing laravel/serializable-closure (v1.3.3): Extracting archive
+ - Installing laravel/prompts (v0.1.22): Extracting archive
+ - Installing laravel/framework (v11.8.0): Extracting archive
+ - Installing symfony/yaml (v7.0.7): Extracting archive
+ - Installing laravel/sail (v1.29.2): Extracting archive
+ - Installing nikic/php-parser (v5.0.2): Extracting archive
+ - Installing psy/psysh (v0.12.3): Extracting archive
+ - Installing laravel/tinker (v2.9.0): Extracting archive
+ - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
+ - Installing mockery/mockery (1.6.12): Extracting archive
+ - Installing filp/whoops (2.15.4): Extracting archive
+ - Installing nunomaduro/collision (v8.1.1): Extracting archive
+ - Installing sebastian/version (5.0.0): Extracting archive
+ - Installing sebastian/type (5.0.0): Extracting archive
+ - Installing sebastian/recursion-context (6.0.0): Extracting archive
+ - Installing sebastian/object-reflector (4.0.0): Extracting archive
+ - Installing sebastian/object-enumerator (6.0.0): Extracting archive
+ - Installing sebastian/global-state (7.0.1): Extracting archive
+ - Installing sebastian/exporter (6.0.1): Extracting archive
+ - Installing sebastian/environment (7.1.0): Extracting archive
+ - Installing sebastian/diff (6.0.1): Extracting archive
+ - Installing sebastian/comparator (6.0.0): Extracting archive
+ - Installing sebastian/code-unit (3.0.0): Extracting archive
+ - Installing sebastian/cli-parser (3.0.1): Extracting archive
+ - Installing phpunit/php-timer (7.0.0): Extracting archive
+ - Installing phpunit/php-text-template (4.0.0): Extracting archive
+ - Installing phpunit/php-invoker (5.0.0): Extracting archive
+ - Installing phpunit/php-file-iterator (5.0.0): Extracting archive
+ - Installing theseer/tokenizer (1.2.3): Extracting archive
+ - Installing sebastian/lines-of-code (3.0.0): Extracting archive
+ - Installing sebastian/complexity (4.0.0): Extracting archive
+ - Installing sebastian/code-unit-reverse-lookup (4.0.0): Extracting archive
+ - Installing phpunit/php-code-coverage (11.0.3): Extracting archive
+ - Installing phar-io/version (3.2.1): Extracting archive
+ - Installing phar-io/manifest (2.0.4): Extracting archive
+ - Installing myclabs/deep-copy (1.11.1): Extracting archive
+ - Installing phpunit/phpunit (11.1.3): Extracting archive
+ - Installing spatie/backtrace (1.6.1): Extracting archive
+ - Installing spatie/flare-client-php (1.6.0): Extracting archive
+ - Installing spatie/ignition (1.14.1): Extracting archive
+ - Installing spatie/laravel-ignition (2.7.0): Extracting archive
+42 package suggestions were added by new dependencies, use `composer suggest` to see details.
+Generating optimized autoload files
+> Illuminate\Foundation\ComposerScripts::postAutoloadDump
+> @php artisan package:discover --ansi
+
+ INFO Discovering packages.
+
+ laravel/sail ................................................................................................................................ DONE
+ laravel/tinker .............................................................................................................................. DONE
+ nesbot/carbon ............................................................................................................................... DONE
+ nunomaduro/collision ........................................................................................................................ DONE
+ nunomaduro/termwind ......................................................................................................................... DONE
+ spatie/laravel-ignition ..................................................................................................................... DONE
+
+83 packages you are using are looking for funding.
+Use the `composer fund` command to find out more!
+> @php artisan vendor:publish --tag=laravel-assets --ansi --force
+
+ INFO No publishable resources for tag [laravel-assets].
+
+No security vulnerability advisories found.
+> @php artisan key:generate --ansi
+
+ INFO Application key set successfully.
+
+> @php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');"
+> @php artisan migrate --graceful --ansi
+
+ INFO Preparing database.
+
+ Creating migration table ............................................................................................................. 2.02ms DONE
+
+ INFO Running migrations.
+
+ 0001_01_01_000000_create_users_table ................................................................................................. 2.78ms DONE
+ 0001_01_01_000001_create_cache_table ................................................................................................. 1.02ms DONE
+ 0001_01_01_000002_create_jobs_table .................................................................................................. 2.06ms DONE
+
+ ┌ Which database will your application use? ───────────────────┐
+ │ SQLite │
+ └──────────────────────────────────────────────────────────────┘
+
+./composer.json has been updated
+Running composer update laravel/jetstream
+Loading composer repositories with package information
+Updating dependencies
+Lock file operations: 7 installs, 0 updates, 0 removals
+ - Locking bacon/bacon-qr-code (v3.0.0)
+ - Locking dasprid/enum (1.0.5)
+ - Locking laravel/fortify (v1.21.3)
+ - Locking laravel/jetstream (v5.1.1)
+ - Locking mobiledetect/mobiledetectlib (4.8.06)
+ - Locking paragonie/constant_time_encoding (v2.7.0)
+ - Locking pragmarx/google2fa (v8.0.1)
+Writing lock file
+Installing dependencies from lock file (including require-dev)
+Package operations: 7 installs, 0 updates, 0 removals
+ - Downloading laravel/jetstream (v5.1.1)
+ - Installing dasprid/enum (1.0.5): Extracting archive
+ - Installing bacon/bacon-qr-code (v3.0.0): Extracting archive
+ - Installing mobiledetect/mobiledetectlib (4.8.06): Extracting archive
+ - Installing paragonie/constant_time_encoding (v2.7.0): Extracting archive
+ - Installing pragmarx/google2fa (v8.0.1): Extracting archive
+ - Installing laravel/fortify (v1.21.3): Extracting archive
+ - Installing laravel/jetstream (v5.1.1): Extracting archive
+Generating optimized autoload files
+> Illuminate\Foundation\ComposerScripts::postAutoloadDump
+> @php artisan package:discover --ansi
+
+ INFO Discovering packages.
+
+ laravel/fortify ............................................................................................................................. DONE
+ laravel/jetstream ........................................................................................................................... DONE
+ laravel/sail ................................................................................................................................ DONE
+ laravel/tinker .............................................................................................................................. DONE
+ nesbot/carbon ............................................................................................................................... DONE
+ nunomaduro/collision ........................................................................................................................ DONE
+ nunomaduro/termwind ......................................................................................................................... DONE
+ spatie/laravel-ignition ..................................................................................................................... DONE
+
+84 packages you are using are looking for funding.
+Use the `composer fund` command to find out more!
+> @php artisan vendor:publish --tag=laravel-assets --ansi --force
+
+ INFO No publishable resources for tag [laravel-assets].
+
+No security vulnerability advisories found.
+Using version ^5.1 for laravel/jetstream
+./composer.json has been updated
+Running composer update livewire/livewire
+Loading composer repositories with package information
+Updating dependencies
+Lock file operations: 1 install, 0 updates, 0 removals
+ - Locking livewire/livewire (v3.5.0)
+Writing lock file
+Installing dependencies from lock file (including require-dev)
+Package operations: 1 install, 0 updates, 0 removals
+ - Downloading livewire/livewire (v3.5.0)
+ - Installing livewire/livewire (v3.5.0): Extracting archive
+Generating optimized autoload files
+> Illuminate\Foundation\ComposerScripts::postAutoloadDump
+> @php artisan package:discover --ansi
+
+ INFO Discovering packages.
+
+ laravel/fortify ....................................................... DONE
+ laravel/jetstream ..................................................... DONE
+ laravel/sail .......................................................... DONE
+ laravel/tinker ........................................................ DONE
+ livewire/livewire ..................................................... DONE
+ nesbot/carbon ......................................................... DONE
+ nunomaduro/collision .................................................. DONE
+ nunomaduro/termwind ................................................... DONE
+ spatie/laravel-ignition ............................................... DONE
+
+85 packages you are using are looking for funding.
+Use the `composer fund` command to find out more!
+> @php artisan vendor:publish --tag=laravel-assets --ansi --force
+
+ INFO No publishable resources for tag [laravel-assets].
+
+No security vulnerability advisories found.
+./composer.json has been updated
+Running composer update laravel/sanctum
+Loading composer repositories with package information
+Updating dependencies
+Lock file operations: 1 install, 0 updates, 0 removals
+ - Locking laravel/sanctum (v4.0.2)
+Writing lock file
+Installing dependencies from lock file (including require-dev)
+Package operations: 1 install, 0 updates, 0 removals
+ - Installing laravel/sanctum (v4.0.2): Extracting archive
+Generating optimized autoload files
+> Illuminate\Foundation\ComposerScripts::postAutoloadDump
+> @php artisan package:discover --ansi
+
+ INFO Discovering packages.
+
+ laravel/fortify ....................................................... DONE
+ laravel/jetstream ..................................................... DONE
+ laravel/sail .......................................................... DONE
+ laravel/sanctum ....................................................... DONE
+ laravel/tinker ........................................................ DONE
+ livewire/livewire ..................................................... DONE
+ nesbot/carbon ......................................................... DONE
+ nunomaduro/collision .................................................. DONE
+ nunomaduro/termwind ................................................... DONE
+ spatie/laravel-ignition ............................................... DONE
+
+85 packages you are using are looking for funding.
+Use the `composer fund` command to find out more!
+> @php artisan vendor:publish --tag=laravel-assets --ansi --force
+
+ INFO No publishable resources for tag [laravel-assets].
+
+No security vulnerability advisories found.
+
+ INFO Published API routes file.
+
+ INFO API scaffolding installed. Please add the [Laravel\Sanctum\HasApiTokens] trait to your User model.
+
+
+added 146 packages, and audited 147 packages in 58s
+
+36 packages are looking for funding
+ run `npm fund` for details
+
+found 0 vulnerabilities
+
+> build
+> vite build
+
+vite v5.2.11 building for production...
+✓ 53 modules transformed.
+public/build/manifest.json 0.27 kB │ gzip: 0.15 kB
+public/build/assets/app-j8pi8qhU.css 55.90 kB │ gzip: 9.32 kB
+public/build/assets/app-C1-XIpUa.js 34.12 kB │ gzip: 13.62 kB
+✓ built in 541ms
+
+
+ ┌ New database migrations were added. Would you like to re-run your migrations? ┐
+ │ Yes │
+ └───────────────────────────────────────────────────────────────────────────────┘
+
+
+ Dropping all tables .................................................................................................................. 7.98ms DONE
+
+ INFO Preparing database.
+
+ Creating migration table ............................................................................................................. 4.00ms DONE
+
+ INFO Running migrations.
+
+ 0001_01_01_000000_create_users_table ................................................................................................. 3.41ms DONE
+ 0001_01_01_000001_create_cache_table ................................................................................................. 0.81ms DONE
+ 0001_01_01_000002_create_jobs_table .................................................................................................. 3.27ms DONE
+ 2024_05_22_151837_add_two_factor_columns_to_users_table .............................................................................. 1.01ms DONE
+ 2024_05_22_151857_create_personal_access_tokens_table ................................................................................ 0.92ms DONE
+ 2024_05_22_151857_create_teams_table ................................................................................................. 0.68ms DONE
+ 2024_05_22_151858_create_team_user_table ............................................................................................. 0.70ms DONE
+ 2024_05_22_151859_create_team_invitations_table ...................................................................................... 6.14ms DONE
+
+
+ INFO Livewire scaffolding installed successfully.
+
+./composer.json has been updated
+Running composer update phpunit/phpunit
+Loading composer repositories with package information
+Updating dependencies
+Lock file operations: 0 installs, 0 updates, 25 removals
+ - Removing myclabs/deep-copy (1.11.1)
+ - Removing phar-io/manifest (2.0.4)
+ - Removing phar-io/version (3.2.1)
+ - Removing phpunit/php-code-coverage (11.0.3)
+ - Removing phpunit/php-file-iterator (5.0.0)
+ - Removing phpunit/php-invoker (5.0.0)
+ - Removing phpunit/php-text-template (4.0.0)
+ - Removing phpunit/php-timer (7.0.0)
+ - Removing phpunit/phpunit (11.1.3)
+ - Removing sebastian/cli-parser (3.0.1)
+ - Removing sebastian/code-unit (3.0.0)
+ - Removing sebastian/code-unit-reverse-lookup (4.0.0)
+ - Removing sebastian/comparator (6.0.0)
+ - Removing sebastian/complexity (4.0.0)
+ - Removing sebastian/diff (6.0.1)
+ - Removing sebastian/environment (7.1.0)
+ - Removing sebastian/exporter (6.0.1)
+ - Removing sebastian/global-state (7.0.1)
+ - Removing sebastian/lines-of-code (3.0.0)
+ - Removing sebastian/object-enumerator (6.0.0)
+ - Removing sebastian/object-reflector (4.0.0)
+ - Removing sebastian/recursion-context (6.0.0)
+ - Removing sebastian/type (5.0.0)
+ - Removing sebastian/version (5.0.0)
+ - Removing theseer/tokenizer (1.2.3)
+Writing lock file
+Installing dependencies from lock file (including require-dev)
+Package operations: 0 installs, 0 updates, 25 removals
+ - Removing theseer/tokenizer (1.2.3)
+ - Removing sebastian/version (5.0.0)
+ - Removing sebastian/type (5.0.0)
+ - Removing sebastian/recursion-context (6.0.0)
+ - Removing sebastian/object-reflector (4.0.0)
+ - Removing sebastian/object-enumerator (6.0.0)
+ - Removing sebastian/lines-of-code (3.0.0)
+ - Removing sebastian/global-state (7.0.1)
+ - Removing sebastian/exporter (6.0.1)
+ - Removing sebastian/environment (7.1.0)
+ - Removing sebastian/diff (6.0.1)
+ - Removing sebastian/complexity (4.0.0)
+ - Removing sebastian/comparator (6.0.0)
+ - Removing sebastian/code-unit-reverse-lookup (4.0.0)
+ - Removing sebastian/code-unit (3.0.0)
+ - Removing sebastian/cli-parser (3.0.1)
+ - Removing phpunit/phpunit (11.1.3)
+ - Removing phpunit/php-timer (7.0.0)
+ - Removing phpunit/php-text-template (4.0.0)
+ - Removing phpunit/php-invoker (5.0.0)
+ - Removing phpunit/php-file-iterator (5.0.0)
+ - Removing phpunit/php-code-coverage (11.0.3)
+ - Removing phar-io/version (3.2.1)
+ - Removing phar-io/manifest (2.0.4)
+ - Removing myclabs/deep-copy (1.11.1)
+ 0/15 [>---------------------------] 0%
+ 9/15 [================>-----------] 60%
+ 15/15 [============================] 100%
+Generating optimized autoload files
+> Illuminate\Foundation\ComposerScripts::postAutoloadDump
+> @php artisan package:discover --ansi
+
+ INFO Discovering packages.
+
+ laravel/fortify ....................................................... DONE
+ laravel/jetstream ..................................................... DONE
+ laravel/sail .......................................................... DONE
+ laravel/sanctum ....................................................... DONE
+ laravel/tinker ........................................................ DONE
+ livewire/livewire ..................................................... DONE
+ nesbot/carbon ......................................................... DONE
+ nunomaduro/collision .................................................. DONE
+ nunomaduro/termwind ................................................... DONE
+ spatie/laravel-ignition ............................................... DONE
+
+61 packages you are using are looking for funding.
+Use the `composer fund` command to find out more!
+> @php artisan vendor:publish --tag=laravel-assets --ansi --force
+
+ INFO No publishable resources for tag [laravel-assets].
+
+No security vulnerability advisories found.
+./composer.json has been updated
+Running composer update pestphp/pest pestphp/pest-plugin-laravel
+Loading composer repositories with package information
+Updating dependencies
+Lock file operations: 38 installs, 0 updates, 0 removals
+ - Locking brianium/paratest (v7.4.3)
+ - Locking doctrine/deprecations (1.1.3)
+ - Locking fidry/cpu-core-counter (1.1.0)
+ - Locking jean85/pretty-package-versions (2.0.6)
+ - Locking myclabs/deep-copy (1.11.1)
+ - Locking pestphp/pest (v2.34.7)
+ - Locking pestphp/pest-plugin (v2.1.1)
+ - Locking pestphp/pest-plugin-arch (v2.7.0)
+ - Locking pestphp/pest-plugin-laravel (v2.4.0)
+ - Locking phar-io/manifest (2.0.4)
+ - Locking phar-io/version (3.2.1)
+ - Locking phpdocumentor/reflection-common (2.2.0)
+ - Locking phpdocumentor/reflection-docblock (5.4.1)
+ - Locking phpdocumentor/type-resolver (1.8.2)
+ - Locking phpstan/phpdoc-parser (1.29.0)
+ - Locking phpunit/php-code-coverage (10.1.14)
+ - Locking phpunit/php-file-iterator (4.1.0)
+ - Locking phpunit/php-invoker (4.0.0)
+ - Locking phpunit/php-text-template (3.0.1)
+ - Locking phpunit/php-timer (6.0.0)
+ - Locking phpunit/phpunit (10.5.17)
+ - Locking sebastian/cli-parser (2.0.1)
+ - Locking sebastian/code-unit (2.0.0)
+ - Locking sebastian/code-unit-reverse-lookup (3.0.0)
+ - Locking sebastian/comparator (5.0.1)
+ - Locking sebastian/complexity (3.2.0)
+ - Locking sebastian/diff (5.1.1)
+ - Locking sebastian/environment (6.1.0)
+ - Locking sebastian/exporter (5.1.2)
+ - Locking sebastian/global-state (6.0.2)
+ - Locking sebastian/lines-of-code (2.0.2)
+ - Locking sebastian/object-enumerator (5.0.0)
+ - Locking sebastian/object-reflector (3.0.0)
+ - Locking sebastian/recursion-context (5.0.0)
+ - Locking sebastian/type (4.0.0)
+ - Locking sebastian/version (4.0.1)
+ - Locking ta-tikoma/phpunit-architecture-test (0.8.4)
+ - Locking theseer/tokenizer (1.2.3)
+Writing lock file
+Installing dependencies from lock file (including require-dev)
+Package operations: 38 installs, 0 updates, 0 removals
+ - Downloading phpdocumentor/reflection-docblock (5.4.1)
+ 0/1 [>---------------------------] 0%
+ 1/1 [============================] 100%
+ - Installing pestphp/pest-plugin (v2.1.1): Extracting archive
+ - Installing sebastian/environment (6.1.0): Extracting archive
+ - Installing sebastian/version (4.0.1): Extracting archive
+ - Installing sebastian/type (4.0.0): Extracting archive
+ - Installing sebastian/recursion-context (5.0.0): Extracting archive
+ - Installing sebastian/object-reflector (3.0.0): Extracting archive
+ - Installing sebastian/object-enumerator (5.0.0): Extracting archive
+ - Installing sebastian/global-state (6.0.2): Extracting archive
+ - Installing sebastian/exporter (5.1.2): Extracting archive
+ - Installing sebastian/diff (5.1.1): Extracting archive
+ - Installing sebastian/comparator (5.0.1): Extracting archive
+ - Installing sebastian/code-unit (2.0.0): Extracting archive
+ - Installing sebastian/cli-parser (2.0.1): Extracting archive
+ - Installing phpunit/php-timer (6.0.0): Extracting archive
+ - Installing phpunit/php-text-template (3.0.1): Extracting archive
+ - Installing phpunit/php-invoker (4.0.0): Extracting archive
+ - Installing phpunit/php-file-iterator (4.1.0): Extracting archive
+ - Installing theseer/tokenizer (1.2.3): Extracting archive
+ - Installing sebastian/lines-of-code (2.0.2): Extracting archive
+ - Installing sebastian/complexity (3.2.0): Extracting archive
+ - Installing sebastian/code-unit-reverse-lookup (3.0.0): Extracting archive
+ - Installing phpunit/php-code-coverage (10.1.14): Extracting archive
+ - Installing phar-io/version (3.2.1): Extracting archive
+ - Installing phar-io/manifest (2.0.4): Extracting archive
+ - Installing myclabs/deep-copy (1.11.1): Extracting archive
+ - Installing phpunit/phpunit (10.5.17): Extracting archive
+ - Installing jean85/pretty-package-versions (2.0.6): Extracting archive
+ - Installing fidry/cpu-core-counter (1.1.0): Extracting archive
+ - Installing brianium/paratest (v7.4.3): Extracting archive
+ - Installing phpstan/phpdoc-parser (1.29.0): Extracting archive
+ - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
+ - Installing doctrine/deprecations (1.1.3): Extracting archive
+ - Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
+ - Installing phpdocumentor/reflection-docblock (5.4.1): Extracting archive
+ - Installing ta-tikoma/phpunit-architecture-test (0.8.4): Extracting archive
+ - Installing pestphp/pest-plugin-arch (v2.7.0): Extracting archive
+ - Installing pestphp/pest (v2.34.7): Extracting archive
+ - Installing pestphp/pest-plugin-laravel (v2.4.0): Extracting archive
+ 0/37 [>---------------------------] 0%
+ 22/37 [================>-----------] 59%
+ 35/37 [==========================>-] 94%
+ 37/37 [============================] 100%
+2 package suggestions were added by new dependencies, use `composer suggest` to see details.
+Generating optimized autoload files
+> Illuminate\Foundation\ComposerScripts::postAutoloadDump
+> @php artisan package:discover --ansi
+
+ INFO Discovering packages.
+
+ laravel/fortify ....................................................... DONE
+ laravel/jetstream ..................................................... DONE
+ laravel/sail .......................................................... DONE
+ laravel/sanctum ....................................................... DONE
+ laravel/tinker ........................................................ DONE
+ livewire/livewire ..................................................... DONE
+ nesbot/carbon ......................................................... DONE
+ nunomaduro/collision .................................................. DONE
+ nunomaduro/termwind ................................................... DONE
+ pestphp/pest-plugin-laravel ........................................... DONE
+ spatie/laravel-ignition ............................................... DONE
+
+91 packages you are using are looking for funding.
+Use the `composer fund` command to find out more!
+> @php artisan vendor:publish --tag=laravel-assets --ansi --force
+
+ INFO No publishable resources for tag [laravel-assets].
+
+No security vulnerability advisories found.
+ INFO Application ready in [scratchpad]. You can start your local development using:
+
+➜ cd scratchpad
+➜ php artisan serve
+
+ New to Laravel? Check out our bootcamp and documentation. Build something amazing!
Index: database/data/sample_customers.csv
===================================================================
diff --git a/database/data/sample_customers.csv b/database/data/sample_customers.csv
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/database/data/sample_customers.csv (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,21 @@
+email,name,age,address,phone,signup_date
+user1@example.com,User 1,28,"123 Maple St, Springfield",555-1000,2022-01-15
+user2@example.com,User 2,34,"456 Oak St, Metropolis",555-1001,2021-12-22
+user3@example.com,User 3,12,"789 Pine St, Gotham",555-1002,2023-03-10
+user4@example.com,User 4,29,"321 Elm St, Star City",555-1003,2020-08-25
+user5@example.com,User 5,40,"654 Birch St, Central City",555-1004,2019-11-05
+user6@example.com,User 6,35,"789 Cedar St, Smallville",555-1005,2022-04-16
+user7@example.com,User 7,30,"111 Ash St, Metropolis",555-1006,2021-07-18
+user8@example.com,User 8,27,"222 Cherry St, Gotham",555-1007,2023-01-09
+user9@example.com,User 9,14,"333 Walnut St, Star City",555-1008,2020-10-14
+user10@example.com,User 10,26,"444 Chestnut St, Springfield",555-1009,2019-06-27
+user11@example.com,User 11,31,"555 Willow St, Metropolis",555-1010,2022-02-23
+user12@example.com,User 12,33,"666 Fir St, Gotham",555-1011,2021-11-30
+user13@example.com,User 13,25,"777 Spruce St, Star City",555-1012,2023-04-21
+user14@example.com,User 14,38,"888 Redwood St, Central City",555-1013,2020-05-13
+user15@example.com,User 15,16,"999 Poplar St, Smallville",555-1014,2019-12-31
+user16@example.com,User 16,45,"101 Sycamore St, Metropolis",555-1015,2022-03-11
+user17@example.com,User 17,32,"202 Maple St, Gotham",555-1016,2021-08-15
+user18@example.com,User 18,11,"303 Oak St, Star City",555-1017,2023-05-06
+user19@example.com,User 19,39,"404 Pine St, Springfield",555-1018,2020-09-19
+user20@example.com,User 20,36,"505 Elm St, Central City",555-1019,2019-07-29
Index: database/data/shopify_products.json
===================================================================
diff --git a/database/data/shopify_products.json b/database/data/shopify_products.json
new file mode 100644
--- /dev/null (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
+++ b/database/data/shopify_products.json (revision b28c56a0c000c8d1e80836cc75b13980ef53310b)
@@ -0,0 +1,3940 @@
+{
+ "products": [
+ {
+ "id": 8098658298,
+ "title": "Synergistic Bronze Pants",
+ "handle": "synergistic-bronze-pants",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2015-03-30T03:53:10.265297",
+ "created_at": "2020-10-10T07:48:49.829914",
+ "updated_at": "2019-07-18T06:05:32.569654",
+ "vendor": "Elegant Designs",
+ "product_type": "Pants",
+ "tags": [
+ "Bronze",
+ "Pants",
+ "Synergistic"
+ ],
+ "variants": [
+ {
+ "id": 7432413022,
+ "title": "Yellow",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "66.10",
+ "grams": 7472,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 8472888501,
+ "created_at": "2020-10-10T07:48:49.829914",
+ "updated_at": "2019-07-18T06:05:32.569654"
+ },
+ {
+ "id": 9313132389,
+ "title": "Blue",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "42.32",
+ "grams": 2508,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 5807074097,
+ "created_at": "2020-10-10T07:48:49.829914",
+ "updated_at": "2019-07-18T06:05:32.569654"
+ },
+ {
+ "id": 8812060320,
+ "title": "Blue",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "46.47",
+ "grams": 1814,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 8475652112,
+ "created_at": "2020-10-10T07:48:49.829914",
+ "updated_at": "2019-07-18T06:05:32.569654"
+ },
+ {
+ "id": 8246490254,
+ "title": "Yellow",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "30.39",
+ "grams": 7911,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 6543379664,
+ "created_at": "2020-10-10T07:48:49.829914",
+ "updated_at": "2019-07-18T06:05:32.569654"
+ },
+ {
+ "id": 4110506865,
+ "title": "Lavender",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "88.66",
+ "grams": 7395,
+ "compare_at_price": null,
+ "position": 5,
+ "product_id": 9344070621,
+ "created_at": "2020-10-10T07:48:49.829914",
+ "updated_at": "2019-07-18T06:05:32.569654"
+ }
+ ],
+ "images": [
+ {
+ "id": 5126245962,
+ "created_at": "2020-10-10T07:48:49.829914",
+ "position": 1,
+ "updated_at": "2019-07-18T06:05:32.569654",
+ "product_id": 8089154951,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Synergistic_Bronze_Pants.png?v=1443055932"
+ },
+ {
+ "id": 3541762207,
+ "created_at": "2020-10-10T07:48:49.829914",
+ "position": 2,
+ "updated_at": "2019-07-18T06:05:32.569654",
+ "product_id": 8119861028,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Synergistic_Bronze_Pants.png?v=1443055932"
+ },
+ {
+ "id": 4078376626,
+ "created_at": "2020-10-10T07:48:49.829914",
+ "position": 3,
+ "updated_at": "2019-07-18T06:05:32.569654",
+ "product_id": 5899970905,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Synergistic_Bronze_Pants.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 2814799577,
+ "title": "Dynamic Silver Shirt",
+ "handle": "dynamic-silver-shirt",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2020-05-29T18:08:53.683576",
+ "created_at": "2019-06-28T03:21:49.869123",
+ "updated_at": "2020-11-01T20:22:54.987411",
+ "vendor": "Comfort Zone",
+ "product_type": "Shirt",
+ "tags": [
+ "Silver",
+ "Shirt",
+ "Dynamic"
+ ],
+ "variants": [
+ {
+ "id": 8544114977,
+ "title": "Green",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "72.69",
+ "grams": 3867,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 7076956074,
+ "created_at": "2019-06-28T03:21:49.869123",
+ "updated_at": "2020-11-01T20:22:54.987411"
+ },
+ {
+ "id": 7972769942,
+ "title": "Green",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "56.65",
+ "grams": 6605,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 4039245775,
+ "created_at": "2019-06-28T03:21:49.869123",
+ "updated_at": "2020-11-01T20:22:54.987411"
+ },
+ {
+ "id": 4006208102,
+ "title": "Blue",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "44.88",
+ "grams": 1686,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 2497605251,
+ "created_at": "2019-06-28T03:21:49.869123",
+ "updated_at": "2020-11-01T20:22:54.987411"
+ }
+ ],
+ "images": [
+ {
+ "id": 3455268055,
+ "created_at": "2019-06-28T03:21:49.869123",
+ "position": 1,
+ "updated_at": "2020-11-01T20:22:54.987411",
+ "product_id": 9625769363,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Dynamic_Silver_Shirt.png?v=1443055932"
+ },
+ {
+ "id": 7944804315,
+ "created_at": "2019-06-28T03:21:49.869123",
+ "position": 2,
+ "updated_at": "2020-11-01T20:22:54.987411",
+ "product_id": 3413508841,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Dynamic_Silver_Shirt.png?v=1443055932"
+ },
+ {
+ "id": 7023704662,
+ "created_at": "2019-06-28T03:21:49.869123",
+ "position": 3,
+ "updated_at": "2020-11-01T20:22:54.987411",
+ "product_id": 5403267056,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Dynamic_Silver_Shirt.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 5830986183,
+ "title": "Elegant Gold Dress",
+ "handle": "elegant-gold-dress",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2021-08-11T13:57:05.643519",
+ "created_at": "2017-11-04T11:49:15.907030",
+ "updated_at": "2019-04-22T20:26:18.699697",
+ "vendor": "Trendy Styles",
+ "product_type": "Dress",
+ "tags": [
+ "Gold",
+ "Dress",
+ "Elegant"
+ ],
+ "variants": [
+ {
+ "id": 7070776743,
+ "title": "Lavender",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "52.42",
+ "grams": 4531,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 1872509236,
+ "created_at": "2017-11-04T11:49:15.907030",
+ "updated_at": "2019-04-22T20:26:18.699697"
+ },
+ {
+ "id": 6083091545,
+ "title": "Lavender",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "62.87",
+ "grams": 9258,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 6087119076,
+ "created_at": "2017-11-04T11:49:15.907030",
+ "updated_at": "2019-04-22T20:26:18.699697"
+ }
+ ],
+ "images": [
+ {
+ "id": 2242753515,
+ "created_at": "2017-11-04T11:49:15.907030",
+ "position": 1,
+ "updated_at": "2019-04-22T20:26:18.699697",
+ "product_id": 7946925698,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Gold_Dress.png?v=1443055932"
+ },
+ {
+ "id": 7200585612,
+ "created_at": "2017-11-04T11:49:15.907030",
+ "position": 2,
+ "updated_at": "2019-04-22T20:26:18.699697",
+ "product_id": 9262688348,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Gold_Dress.png?v=1443055932"
+ },
+ {
+ "id": 6286066418,
+ "created_at": "2017-11-04T11:49:15.907030",
+ "position": 3,
+ "updated_at": "2019-04-22T20:26:18.699697",
+ "product_id": 9608621909,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Gold_Dress.png?v=1443055932"
+ },
+ {
+ "id": 7743167091,
+ "created_at": "2017-11-04T11:49:15.907030",
+ "position": 4,
+ "updated_at": "2019-04-22T20:26:18.699697",
+ "product_id": 6440747622,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Gold_Dress.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 5999435645,
+ "title": "Classic Black Shoes",
+ "handle": "classic-black-shoes",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2017-10-21T20:33:04.795073",
+ "created_at": "2022-07-21T13:16:33.192994",
+ "updated_at": "2020-07-04T03:59:33.618416",
+ "vendor": "Comfort Zone",
+ "product_type": "Shoes",
+ "tags": [
+ "Black",
+ "Shoes",
+ "Classic"
+ ],
+ "variants": [
+ {
+ "id": 7615338780,
+ "title": "Red",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "71.48",
+ "grams": 3712,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 3999347239,
+ "created_at": "2022-07-21T13:16:33.192994",
+ "updated_at": "2020-07-04T03:59:33.618416"
+ },
+ {
+ "id": 8554289958,
+ "title": "Green",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "71.63",
+ "grams": 3194,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 1029838288,
+ "created_at": "2022-07-21T13:16:33.192994",
+ "updated_at": "2020-07-04T03:59:33.618416"
+ },
+ {
+ "id": 9430740365,
+ "title": "Green",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "99.99",
+ "grams": 3250,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 2472590450,
+ "created_at": "2022-07-21T13:16:33.192994",
+ "updated_at": "2020-07-04T03:59:33.618416"
+ }
+ ],
+ "images": [
+ {
+ "id": 5830989641,
+ "created_at": "2022-07-21T13:16:33.192994",
+ "position": 1,
+ "updated_at": "2020-07-04T03:59:33.618416",
+ "product_id": 8424452198,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Classic_Black_Shoes.png?v=1443055932"
+ },
+ {
+ "id": 6448439632,
+ "created_at": "2022-07-21T13:16:33.192994",
+ "position": 2,
+ "updated_at": "2020-07-04T03:59:33.618416",
+ "product_id": 7731580749,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Classic_Black_Shoes.png?v=1443055932"
+ },
+ {
+ "id": 4717366797,
+ "created_at": "2022-07-21T13:16:33.192994",
+ "position": 3,
+ "updated_at": "2020-07-04T03:59:33.618416",
+ "product_id": 2039797846,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Classic_Black_Shoes.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 9749645511,
+ "title": "Stylish Red Hat",
+ "handle": "stylish-red-hat",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2016-03-31T22:01:37.131008",
+ "created_at": "2017-07-28T06:38:33.860521",
+ "updated_at": "2020-01-22T11:16:39.091410",
+ "vendor": "Trendy Styles",
+ "product_type": "Hat",
+ "tags": [
+ "Red",
+ "Hat",
+ "Stylish"
+ ],
+ "variants": [
+ {
+ "id": 2607112289,
+ "title": "Blue",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "27.74",
+ "grams": 9909,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 2346769116,
+ "created_at": "2017-07-28T06:38:33.860521",
+ "updated_at": "2020-01-22T11:16:39.091410"
+ },
+ {
+ "id": 2298003696,
+ "title": "Yellow",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "66.78",
+ "grams": 6427,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 8598747025,
+ "created_at": "2017-07-28T06:38:33.860521",
+ "updated_at": "2020-01-22T11:16:39.091410"
+ },
+ {
+ "id": 8011684504,
+ "title": "Yellow",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "82.89",
+ "grams": 5558,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 5367615615,
+ "created_at": "2017-07-28T06:38:33.860521",
+ "updated_at": "2020-01-22T11:16:39.091410"
+ },
+ {
+ "id": 3979253647,
+ "title": "Lavender",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "59.46",
+ "grams": 4737,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 4289901812,
+ "created_at": "2017-07-28T06:38:33.860521",
+ "updated_at": "2020-01-22T11:16:39.091410"
+ },
+ {
+ "id": 2802382368,
+ "title": "Yellow",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "14.03",
+ "grams": 6254,
+ "compare_at_price": null,
+ "position": 5,
+ "product_id": 7879460747,
+ "created_at": "2017-07-28T06:38:33.860521",
+ "updated_at": "2020-01-22T11:16:39.091410"
+ }
+ ],
+ "images": [
+ {
+ "id": 1392705417,
+ "created_at": "2017-07-28T06:38:33.860521",
+ "position": 1,
+ "updated_at": "2020-01-22T11:16:39.091410",
+ "product_id": 8692082235,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Stylish_Red_Hat.png?v=1443055932"
+ },
+ {
+ "id": 6451262365,
+ "created_at": "2017-07-28T06:38:33.860521",
+ "position": 2,
+ "updated_at": "2020-01-22T11:16:39.091410",
+ "product_id": 6277286221,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Stylish_Red_Hat.png?v=1443055932"
+ },
+ {
+ "id": 8240670914,
+ "created_at": "2017-07-28T06:38:33.860521",
+ "position": 3,
+ "updated_at": "2020-01-22T11:16:39.091410",
+ "product_id": 4190640361,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Stylish_Red_Hat.png?v=1443055932"
+ },
+ {
+ "id": 1712248483,
+ "created_at": "2017-07-28T06:38:33.860521",
+ "position": 4,
+ "updated_at": "2020-01-22T11:16:39.091410",
+ "product_id": 8219884254,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Stylish_Red_Hat.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 9449724947,
+ "title": "Modern Green Jacket",
+ "handle": "modern-green-jacket",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2017-11-12T04:26:23.448181",
+ "created_at": "2017-01-01T13:57:00.402783",
+ "updated_at": "2022-02-27T06:32:37.805084",
+ "vendor": "Classic Clothing Co.",
+ "product_type": "Jacket",
+ "tags": [
+ "Green",
+ "Jacket",
+ "Modern"
+ ],
+ "variants": [
+ {
+ "id": 8160136601,
+ "title": "Blue",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "50.51",
+ "grams": 1252,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 6605295987,
+ "created_at": "2017-01-01T13:57:00.402783",
+ "updated_at": "2022-02-27T06:32:37.805084"
+ },
+ {
+ "id": 6064200932,
+ "title": "Lavender",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "98.12",
+ "grams": 2596,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 5855421096,
+ "created_at": "2017-01-01T13:57:00.402783",
+ "updated_at": "2022-02-27T06:32:37.805084"
+ },
+ {
+ "id": 9578824398,
+ "title": "Red",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "29.82",
+ "grams": 8715,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 7813668385,
+ "created_at": "2017-01-01T13:57:00.402783",
+ "updated_at": "2022-02-27T06:32:37.805084"
+ },
+ {
+ "id": 9145226769,
+ "title": "Blue",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "89.26",
+ "grams": 6822,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 5736483646,
+ "created_at": "2017-01-01T13:57:00.402783",
+ "updated_at": "2022-02-27T06:32:37.805084"
+ }
+ ],
+ "images": [
+ {
+ "id": 2092571568,
+ "created_at": "2017-01-01T13:57:00.402783",
+ "position": 1,
+ "updated_at": "2022-02-27T06:32:37.805084",
+ "product_id": 7468759190,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Modern_Green_Jacket.png?v=1443055932"
+ },
+ {
+ "id": 2543291181,
+ "created_at": "2017-01-01T13:57:00.402783",
+ "position": 2,
+ "updated_at": "2022-02-27T06:32:37.805084",
+ "product_id": 7202672632,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Modern_Green_Jacket.png?v=1443055932"
+ },
+ {
+ "id": 3440440288,
+ "created_at": "2017-01-01T13:57:00.402783",
+ "position": 3,
+ "updated_at": "2022-02-27T06:32:37.805084",
+ "product_id": 4158914942,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Modern_Green_Jacket.png?v=1443055932"
+ },
+ {
+ "id": 5554047115,
+ "created_at": "2017-01-01T13:57:00.402783",
+ "position": 4,
+ "updated_at": "2022-02-27T06:32:37.805084",
+ "product_id": 4097131723,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Modern_Green_Jacket.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 4698078985,
+ "title": "Comfortable Blue Jeans",
+ "handle": "comfortable-blue-jeans",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2020-09-11T08:35:01.924274",
+ "created_at": "2015-05-25T06:15:29.675980",
+ "updated_at": "2020-03-29T13:35:03.791293",
+ "vendor": "Modern Outfits",
+ "product_type": "Jeans",
+ "tags": [
+ "Blue",
+ "Jeans",
+ "Comfortable"
+ ],
+ "variants": [
+ {
+ "id": 3423506842,
+ "title": "Yellow",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "46.15",
+ "grams": 9888,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 7302350460,
+ "created_at": "2015-05-25T06:15:29.675980",
+ "updated_at": "2020-03-29T13:35:03.791293"
+ },
+ {
+ "id": 1577167784,
+ "title": "Green",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "37.19",
+ "grams": 9671,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 6722006945,
+ "created_at": "2015-05-25T06:15:29.675980",
+ "updated_at": "2020-03-29T13:35:03.791293"
+ },
+ {
+ "id": 9346952076,
+ "title": "Blue",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "84.72",
+ "grams": 6084,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 8672482929,
+ "created_at": "2015-05-25T06:15:29.675980",
+ "updated_at": "2020-03-29T13:35:03.791293"
+ },
+ {
+ "id": 3807125426,
+ "title": "Lavender",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "64.75",
+ "grams": 3865,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 8241735574,
+ "created_at": "2015-05-25T06:15:29.675980",
+ "updated_at": "2020-03-29T13:35:03.791293"
+ },
+ {
+ "id": 6699457571,
+ "title": "Green",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "70.25",
+ "grams": 5669,
+ "compare_at_price": null,
+ "position": 5,
+ "product_id": 6182848209,
+ "created_at": "2015-05-25T06:15:29.675980",
+ "updated_at": "2020-03-29T13:35:03.791293"
+ }
+ ],
+ "images": [
+ {
+ "id": 7339025763,
+ "created_at": "2015-05-25T06:15:29.675980",
+ "position": 1,
+ "updated_at": "2020-03-29T13:35:03.791293",
+ "product_id": 1701798913,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Comfortable_Blue_Jeans.png?v=1443055932"
+ },
+ {
+ "id": 7656596426,
+ "created_at": "2015-05-25T06:15:29.675980",
+ "position": 2,
+ "updated_at": "2020-03-29T13:35:03.791293",
+ "product_id": 3665186439,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Comfortable_Blue_Jeans.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 9549577618,
+ "title": "Trendy Yellow Scarf",
+ "handle": "trendy-yellow-scarf",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2020-09-15T22:19:16.763872",
+ "created_at": "2017-02-28T09:01:00.560320",
+ "updated_at": "2019-03-26T02:52:32.764092",
+ "vendor": "Comfort Zone",
+ "product_type": "Scarf",
+ "tags": [
+ "Yellow",
+ "Scarf",
+ "Trendy"
+ ],
+ "variants": [
+ {
+ "id": 4980938613,
+ "title": "Blue",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "14.08",
+ "grams": 8217,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 8118506202,
+ "created_at": "2017-02-28T09:01:00.560320",
+ "updated_at": "2019-03-26T02:52:32.764092"
+ },
+ {
+ "id": 9934876109,
+ "title": "Lavender",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "75.47",
+ "grams": 9746,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 5485267993,
+ "created_at": "2017-02-28T09:01:00.560320",
+ "updated_at": "2019-03-26T02:52:32.764092"
+ }
+ ],
+ "images": [
+ {
+ "id": 3947346591,
+ "created_at": "2017-02-28T09:01:00.560320",
+ "position": 1,
+ "updated_at": "2019-03-26T02:52:32.764092",
+ "product_id": 8194688707,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Trendy_Yellow_Scarf.png?v=1443055932"
+ },
+ {
+ "id": 1466926255,
+ "created_at": "2017-02-28T09:01:00.560320",
+ "position": 2,
+ "updated_at": "2019-03-26T02:52:32.764092",
+ "product_id": 6581859325,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Trendy_Yellow_Scarf.png?v=1443055932"
+ },
+ {
+ "id": 4698261189,
+ "created_at": "2017-02-28T09:01:00.560320",
+ "position": 3,
+ "updated_at": "2019-03-26T02:52:32.764092",
+ "product_id": 8912192607,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Trendy_Yellow_Scarf.png?v=1443055932"
+ },
+ {
+ "id": 6361890006,
+ "created_at": "2017-02-28T09:01:00.560320",
+ "position": 4,
+ "updated_at": "2019-03-26T02:52:32.764092",
+ "product_id": 4251487569,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Trendy_Yellow_Scarf.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 8684595821,
+ "title": "Cool Grey Hoodie",
+ "handle": "cool-grey-hoodie",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2017-06-23T12:09:14.643087",
+ "created_at": "2017-05-24T17:11:11.092901",
+ "updated_at": "2022-02-09T02:17:52.126696",
+ "vendor": "Stylish Goods",
+ "product_type": "Hoodie",
+ "tags": [
+ "Grey",
+ "Hoodie",
+ "Cool"
+ ],
+ "variants": [
+ {
+ "id": 6578800090,
+ "title": "Green",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "97.85",
+ "grams": 2414,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 4441583250,
+ "created_at": "2017-05-24T17:11:11.092901",
+ "updated_at": "2022-02-09T02:17:52.126696"
+ },
+ {
+ "id": 9446023402,
+ "title": "Yellow",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "81.06",
+ "grams": 4108,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 5987322545,
+ "created_at": "2017-05-24T17:11:11.092901",
+ "updated_at": "2022-02-09T02:17:52.126696"
+ }
+ ],
+ "images": [
+ {
+ "id": 3225074000,
+ "created_at": "2017-05-24T17:11:11.092901",
+ "position": 1,
+ "updated_at": "2022-02-09T02:17:52.126696",
+ "product_id": 2973414985,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Cool_Grey_Hoodie.png?v=1443055932"
+ },
+ {
+ "id": 7689821586,
+ "created_at": "2017-05-24T17:11:11.092901",
+ "position": 2,
+ "updated_at": "2022-02-09T02:17:52.126696",
+ "product_id": 9569697190,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Cool_Grey_Hoodie.png?v=1443055932"
+ },
+ {
+ "id": 9816727618,
+ "created_at": "2017-05-24T17:11:11.092901",
+ "position": 3,
+ "updated_at": "2022-02-09T02:17:52.126696",
+ "product_id": 6629446640,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Cool_Grey_Hoodie.png?v=1443055932"
+ },
+ {
+ "id": 7909645038,
+ "created_at": "2017-05-24T17:11:11.092901",
+ "position": 4,
+ "updated_at": "2022-02-09T02:17:52.126696",
+ "product_id": 1343837127,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Cool_Grey_Hoodie.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 6759520900,
+ "title": "Chic White Blouse",
+ "handle": "chic-white-blouse",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2021-09-11T03:27:30.547493",
+ "created_at": "2017-12-11T15:49:34.961067",
+ "updated_at": "2015-07-22T00:42:06.948669",
+ "vendor": "Modern Outfits",
+ "product_type": "Blouse",
+ "tags": [
+ "White",
+ "Blouse",
+ "Chic"
+ ],
+ "variants": [
+ {
+ "id": 2968648395,
+ "title": "Blue",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "91.44",
+ "grams": 1038,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 8425069566,
+ "created_at": "2017-12-11T15:49:34.961067",
+ "updated_at": "2015-07-22T00:42:06.948669"
+ },
+ {
+ "id": 3484927362,
+ "title": "Green",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "45.94",
+ "grams": 1190,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 9821746188,
+ "created_at": "2017-12-11T15:49:34.961067",
+ "updated_at": "2015-07-22T00:42:06.948669"
+ },
+ {
+ "id": 8404357437,
+ "title": "Blue",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "13.32",
+ "grams": 3671,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 6740530985,
+ "created_at": "2017-12-11T15:49:34.961067",
+ "updated_at": "2015-07-22T00:42:06.948669"
+ }
+ ],
+ "images": [
+ {
+ "id": 2609044746,
+ "created_at": "2017-12-11T15:49:34.961067",
+ "position": 1,
+ "updated_at": "2015-07-22T00:42:06.948669",
+ "product_id": 7878286665,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Chic_White_Blouse.png?v=1443055932"
+ },
+ {
+ "id": 3404534611,
+ "created_at": "2017-12-11T15:49:34.961067",
+ "position": 2,
+ "updated_at": "2015-07-22T00:42:06.948669",
+ "product_id": 1241801515,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Chic_White_Blouse.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 9493889592,
+ "title": "Versatile Brown Boots",
+ "handle": "versatile-brown-boots",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2020-10-08T21:58:31.121165",
+ "created_at": "2017-01-17T02:16:21.250303",
+ "updated_at": "2022-04-02T08:25:19.840603",
+ "vendor": "Elegant Designs",
+ "product_type": "Boots",
+ "tags": [
+ "Brown",
+ "Boots",
+ "Versatile"
+ ],
+ "variants": [
+ {
+ "id": 9124238040,
+ "title": "Blue",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "94.55",
+ "grams": 1435,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 1383730583,
+ "created_at": "2017-01-17T02:16:21.250303",
+ "updated_at": "2022-04-02T08:25:19.840603"
+ },
+ {
+ "id": 1372152173,
+ "title": "Yellow",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "82.67",
+ "grams": 2235,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 8398278500,
+ "created_at": "2017-01-17T02:16:21.250303",
+ "updated_at": "2022-04-02T08:25:19.840603"
+ },
+ {
+ "id": 8982268325,
+ "title": "Lavender",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "51.76",
+ "grams": 4537,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 6459738932,
+ "created_at": "2017-01-17T02:16:21.250303",
+ "updated_at": "2022-04-02T08:25:19.840603"
+ }
+ ],
+ "images": [
+ {
+ "id": 5653574020,
+ "created_at": "2017-01-17T02:16:21.250303",
+ "position": 1,
+ "updated_at": "2022-04-02T08:25:19.840603",
+ "product_id": 7149315225,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Versatile_Brown_Boots.png?v=1443055932"
+ },
+ {
+ "id": 8165044314,
+ "created_at": "2017-01-17T02:16:21.250303",
+ "position": 2,
+ "updated_at": "2022-04-02T08:25:19.840603",
+ "product_id": 7616995234,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Versatile_Brown_Boots.png?v=1443055932"
+ },
+ {
+ "id": 1054534732,
+ "created_at": "2017-01-17T02:16:21.250303",
+ "position": 3,
+ "updated_at": "2022-04-02T08:25:19.840603",
+ "product_id": 8822183565,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Versatile_Brown_Boots.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 3339139972,
+ "title": "Casual Pink Shorts",
+ "handle": "casual-pink-shorts",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2018-09-26T04:12:15.091539",
+ "created_at": "2018-03-19T01:08:24.888362",
+ "updated_at": "2022-03-19T05:59:41.844770",
+ "vendor": "Comfort Zone",
+ "product_type": "Shorts",
+ "tags": [
+ "Pink",
+ "Shorts",
+ "Casual"
+ ],
+ "variants": [
+ {
+ "id": 2451317285,
+ "title": "Lavender",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "87.13",
+ "grams": 9793,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 3366347116,
+ "created_at": "2018-03-19T01:08:24.888362",
+ "updated_at": "2022-03-19T05:59:41.844770"
+ },
+ {
+ "id": 1265434827,
+ "title": "Lavender",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "51.56",
+ "grams": 9063,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 5181872568,
+ "created_at": "2018-03-19T01:08:24.888362",
+ "updated_at": "2022-03-19T05:59:41.844770"
+ },
+ {
+ "id": 4748740640,
+ "title": "Green",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "20.55",
+ "grams": 9025,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 9909247127,
+ "created_at": "2018-03-19T01:08:24.888362",
+ "updated_at": "2022-03-19T05:59:41.844770"
+ },
+ {
+ "id": 8868295883,
+ "title": "Red",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "23.72",
+ "grams": 3170,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 6871881309,
+ "created_at": "2018-03-19T01:08:24.888362",
+ "updated_at": "2022-03-19T05:59:41.844770"
+ },
+ {
+ "id": 3833621480,
+ "title": "Green",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "79.43",
+ "grams": 3013,
+ "compare_at_price": null,
+ "position": 5,
+ "product_id": 7329706656,
+ "created_at": "2018-03-19T01:08:24.888362",
+ "updated_at": "2022-03-19T05:59:41.844770"
+ }
+ ],
+ "images": [
+ {
+ "id": 1429180691,
+ "created_at": "2018-03-19T01:08:24.888362",
+ "position": 1,
+ "updated_at": "2022-03-19T05:59:41.844770",
+ "product_id": 2969315655,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Casual_Pink_Shorts.png?v=1443055932"
+ },
+ {
+ "id": 1870267441,
+ "created_at": "2018-03-19T01:08:24.888362",
+ "position": 2,
+ "updated_at": "2022-03-19T05:59:41.844770",
+ "product_id": 8828121947,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Casual_Pink_Shorts.png?v=1443055932"
+ },
+ {
+ "id": 1402334622,
+ "created_at": "2018-03-19T01:08:24.888362",
+ "position": 3,
+ "updated_at": "2022-03-19T05:59:41.844770",
+ "product_id": 8517337993,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Casual_Pink_Shorts.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 7911200434,
+ "title": "Sporty Purple Sweater",
+ "handle": "sporty-purple-sweater",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2018-05-04T20:12:36.883763",
+ "created_at": "2021-04-15T10:21:06.421847",
+ "updated_at": "2017-01-13T04:32:29.409652",
+ "vendor": "Smith and Sons",
+ "product_type": "Sweater",
+ "tags": [
+ "Purple",
+ "Sweater",
+ "Sporty"
+ ],
+ "variants": [
+ {
+ "id": 8338747101,
+ "title": "Yellow",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "10.51",
+ "grams": 3288,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 3091507873,
+ "created_at": "2021-04-15T10:21:06.421847",
+ "updated_at": "2017-01-13T04:32:29.409652"
+ },
+ {
+ "id": 3026201959,
+ "title": "Green",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "12.76",
+ "grams": 9702,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 3013954337,
+ "created_at": "2021-04-15T10:21:06.421847",
+ "updated_at": "2017-01-13T04:32:29.409652"
+ },
+ {
+ "id": 2363795907,
+ "title": "Green",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "78.09",
+ "grams": 1548,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 5512520998,
+ "created_at": "2021-04-15T10:21:06.421847",
+ "updated_at": "2017-01-13T04:32:29.409652"
+ },
+ {
+ "id": 9872429848,
+ "title": "Blue",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "31.64",
+ "grams": 6033,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 8243602330,
+ "created_at": "2021-04-15T10:21:06.421847",
+ "updated_at": "2017-01-13T04:32:29.409652"
+ },
+ {
+ "id": 4520314676,
+ "title": "Green",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "29.56",
+ "grams": 5826,
+ "compare_at_price": null,
+ "position": 5,
+ "product_id": 3145583555,
+ "created_at": "2021-04-15T10:21:06.421847",
+ "updated_at": "2017-01-13T04:32:29.409652"
+ }
+ ],
+ "images": [
+ {
+ "id": 4288348534,
+ "created_at": "2021-04-15T10:21:06.421847",
+ "position": 1,
+ "updated_at": "2017-01-13T04:32:29.409652",
+ "product_id": 5911141811,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Sporty_Purple_Sweater.png?v=1443055932"
+ },
+ {
+ "id": 1555927919,
+ "created_at": "2021-04-15T10:21:06.421847",
+ "position": 2,
+ "updated_at": "2017-01-13T04:32:29.409652",
+ "product_id": 7462246460,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Sporty_Purple_Sweater.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 7679305684,
+ "title": "Elegant Black Skirt",
+ "handle": "elegant-black-skirt",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2020-01-10T05:41:51.777282",
+ "created_at": "2019-04-27T07:13:57.474224",
+ "updated_at": "2022-07-04T20:20:51.737880",
+ "vendor": "Smith and Sons",
+ "product_type": "Skirt",
+ "tags": [
+ "Black",
+ "Skirt",
+ "Elegant"
+ ],
+ "variants": [
+ {
+ "id": 1258496948,
+ "title": "Green",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "21.29",
+ "grams": 3989,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 6416810857,
+ "created_at": "2019-04-27T07:13:57.474224",
+ "updated_at": "2022-07-04T20:20:51.737880"
+ },
+ {
+ "id": 3686339032,
+ "title": "Yellow",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "29.41",
+ "grams": 5568,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 8548139464,
+ "created_at": "2019-04-27T07:13:57.474224",
+ "updated_at": "2022-07-04T20:20:51.737880"
+ }
+ ],
+ "images": [
+ {
+ "id": 4410822065,
+ "created_at": "2019-04-27T07:13:57.474224",
+ "position": 1,
+ "updated_at": "2022-07-04T20:20:51.737880",
+ "product_id": 7426580909,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Black_Skirt.png?v=1443055932"
+ },
+ {
+ "id": 3064680944,
+ "created_at": "2019-04-27T07:13:57.474224",
+ "position": 2,
+ "updated_at": "2022-07-04T20:20:51.737880",
+ "product_id": 5406479386,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Black_Skirt.png?v=1443055932"
+ },
+ {
+ "id": 8118524919,
+ "created_at": "2019-04-27T07:13:57.474224",
+ "position": 3,
+ "updated_at": "2022-07-04T20:20:51.737880",
+ "product_id": 7043835886,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Black_Skirt.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 9650054900,
+ "title": "Casual Beige Coat",
+ "handle": "casual-beige-coat",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2020-04-15T02:27:09.717496",
+ "created_at": "2020-02-18T07:31:58.667037",
+ "updated_at": "2015-07-05T14:00:05.724374",
+ "vendor": "Casual Wear Inc.",
+ "product_type": "Coat",
+ "tags": [
+ "Beige",
+ "Coat",
+ "Casual"
+ ],
+ "variants": [
+ {
+ "id": 1413445710,
+ "title": "Red",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "58.18",
+ "grams": 9596,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 1780633447,
+ "created_at": "2020-02-18T07:31:58.667037",
+ "updated_at": "2015-07-05T14:00:05.724374"
+ },
+ {
+ "id": 9391118944,
+ "title": "Yellow",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "52.39",
+ "grams": 5093,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 3097067018,
+ "created_at": "2020-02-18T07:31:58.667037",
+ "updated_at": "2015-07-05T14:00:05.724374"
+ },
+ {
+ "id": 4514382460,
+ "title": "Green",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "73.61",
+ "grams": 9562,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 8551506603,
+ "created_at": "2020-02-18T07:31:58.667037",
+ "updated_at": "2015-07-05T14:00:05.724374"
+ }
+ ],
+ "images": [
+ {
+ "id": 1085448573,
+ "created_at": "2020-02-18T07:31:58.667037",
+ "position": 1,
+ "updated_at": "2015-07-05T14:00:05.724374",
+ "product_id": 7996493519,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Casual_Beige_Coat.png?v=1443055932"
+ },
+ {
+ "id": 5390928775,
+ "created_at": "2020-02-18T07:31:58.667037",
+ "position": 2,
+ "updated_at": "2015-07-05T14:00:05.724374",
+ "product_id": 8383398685,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Casual_Beige_Coat.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 4940820588,
+ "title": "Fashionable Cyan T-shirt",
+ "handle": "fashionable-cyan-t-shirt",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2018-08-01T23:56:07.873871",
+ "created_at": "2016-08-04T01:06:35.891930",
+ "updated_at": "2015-11-05T07:27:46.135601",
+ "vendor": "Elegant Designs",
+ "product_type": "T-shirt",
+ "tags": [
+ "Cyan",
+ "T-shirt",
+ "Fashionable"
+ ],
+ "variants": [
+ {
+ "id": 1543674042,
+ "title": "Blue",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "84.58",
+ "grams": 7974,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 4076959790,
+ "created_at": "2016-08-04T01:06:35.891930",
+ "updated_at": "2015-11-05T07:27:46.135601"
+ },
+ {
+ "id": 2201083995,
+ "title": "Blue",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "97.92",
+ "grams": 3999,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 9641926833,
+ "created_at": "2016-08-04T01:06:35.891930",
+ "updated_at": "2015-11-05T07:27:46.135601"
+ }
+ ],
+ "images": [
+ {
+ "id": 9991822806,
+ "created_at": "2016-08-04T01:06:35.891930",
+ "position": 1,
+ "updated_at": "2015-11-05T07:27:46.135601",
+ "product_id": 6200591015,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Cyan_T-shirt.png?v=1443055932"
+ },
+ {
+ "id": 1972156798,
+ "created_at": "2016-08-04T01:06:35.891930",
+ "position": 2,
+ "updated_at": "2015-11-05T07:27:46.135601",
+ "product_id": 9940359715,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Cyan_T-shirt.png?v=1443055932"
+ },
+ {
+ "id": 6343982793,
+ "created_at": "2016-08-04T01:06:35.891930",
+ "position": 3,
+ "updated_at": "2015-11-05T07:27:46.135601",
+ "product_id": 7901011971,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Cyan_T-shirt.png?v=1443055932"
+ },
+ {
+ "id": 1618959260,
+ "created_at": "2016-08-04T01:06:35.891930",
+ "position": 4,
+ "updated_at": "2015-11-05T07:27:46.135601",
+ "product_id": 3727746151,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Cyan_T-shirt.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 5664802766,
+ "title": "Classic White Sneakers",
+ "handle": "classic-white-sneakers",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2021-10-10T18:40:50.375452",
+ "created_at": "2021-06-19T12:42:07.219671",
+ "updated_at": "2015-07-16T10:55:52.435809",
+ "vendor": "Modern Outfits",
+ "product_type": "Sneakers",
+ "tags": [
+ "White",
+ "Sneakers",
+ "Classic"
+ ],
+ "variants": [
+ {
+ "id": 3418131194,
+ "title": "Yellow",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "96.52",
+ "grams": 3336,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 5927365320,
+ "created_at": "2021-06-19T12:42:07.219671",
+ "updated_at": "2015-07-16T10:55:52.435809"
+ },
+ {
+ "id": 3337255329,
+ "title": "Lavender",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "53.10",
+ "grams": 8941,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 9425287269,
+ "created_at": "2021-06-19T12:42:07.219671",
+ "updated_at": "2015-07-16T10:55:52.435809"
+ },
+ {
+ "id": 3303217865,
+ "title": "Red",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "70.32",
+ "grams": 9306,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 6507422636,
+ "created_at": "2021-06-19T12:42:07.219671",
+ "updated_at": "2015-07-16T10:55:52.435809"
+ }
+ ],
+ "images": [
+ {
+ "id": 2853356862,
+ "created_at": "2021-06-19T12:42:07.219671",
+ "position": 1,
+ "updated_at": "2015-07-16T10:55:52.435809",
+ "product_id": 6491746518,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Classic_White_Sneakers.png?v=1443055932"
+ },
+ {
+ "id": 3350671852,
+ "created_at": "2021-06-19T12:42:07.219671",
+ "position": 2,
+ "updated_at": "2015-07-16T10:55:52.435809",
+ "product_id": 7950836626,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Classic_White_Sneakers.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 4497444450,
+ "title": "Trendy Black Wallet",
+ "handle": "trendy-black-wallet",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2018-04-16T20:42:11.063952",
+ "created_at": "2015-11-23T14:52:18.588684",
+ "updated_at": "2015-02-26T03:10:17.618783",
+ "vendor": "Casual Wear Inc.",
+ "product_type": "Wallet",
+ "tags": [
+ "Black",
+ "Wallet",
+ "Trendy"
+ ],
+ "variants": [
+ {
+ "id": 3692317533,
+ "title": "Blue",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "26.87",
+ "grams": 8643,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 8227425732,
+ "created_at": "2015-11-23T14:52:18.588684",
+ "updated_at": "2015-02-26T03:10:17.618783"
+ },
+ {
+ "id": 5486110965,
+ "title": "Yellow",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "67.07",
+ "grams": 6234,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 8033643397,
+ "created_at": "2015-11-23T14:52:18.588684",
+ "updated_at": "2015-02-26T03:10:17.618783"
+ },
+ {
+ "id": 3468461647,
+ "title": "Lavender",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "20.11",
+ "grams": 5081,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 7006604308,
+ "created_at": "2015-11-23T14:52:18.588684",
+ "updated_at": "2015-02-26T03:10:17.618783"
+ },
+ {
+ "id": 6866244237,
+ "title": "Yellow",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "26.74",
+ "grams": 1956,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 7680505072,
+ "created_at": "2015-11-23T14:52:18.588684",
+ "updated_at": "2015-02-26T03:10:17.618783"
+ },
+ {
+ "id": 3774284176,
+ "title": "Red",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "19.76",
+ "grams": 1790,
+ "compare_at_price": null,
+ "position": 5,
+ "product_id": 2592389483,
+ "created_at": "2015-11-23T14:52:18.588684",
+ "updated_at": "2015-02-26T03:10:17.618783"
+ }
+ ],
+ "images": [
+ {
+ "id": 2209888348,
+ "created_at": "2015-11-23T14:52:18.588684",
+ "position": 1,
+ "updated_at": "2015-02-26T03:10:17.618783",
+ "product_id": 5631188474,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Trendy_Black_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 6264477531,
+ "created_at": "2015-11-23T14:52:18.588684",
+ "position": 2,
+ "updated_at": "2015-02-26T03:10:17.618783",
+ "product_id": 9542074006,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Trendy_Black_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 8399655027,
+ "created_at": "2015-11-23T14:52:18.588684",
+ "position": 3,
+ "updated_at": "2015-02-26T03:10:17.618783",
+ "product_id": 5989072449,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Trendy_Black_Wallet.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 4824880597,
+ "title": "Stylish Orange Lamp",
+ "handle": "stylish-orange-lamp",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2019-11-18T15:00:30.827305",
+ "created_at": "2021-08-03T22:36:50.189958",
+ "updated_at": "2019-06-10T11:08:58.622239",
+ "vendor": "Modern Outfits",
+ "product_type": "Lamp",
+ "tags": [
+ "Orange",
+ "Lamp",
+ "Stylish"
+ ],
+ "variants": [
+ {
+ "id": 2669127756,
+ "title": "Red",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "56.87",
+ "grams": 8038,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 7834121236,
+ "created_at": "2021-08-03T22:36:50.189958",
+ "updated_at": "2019-06-10T11:08:58.622239"
+ },
+ {
+ "id": 9293964335,
+ "title": "Lavender",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "15.19",
+ "grams": 3156,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 7619568400,
+ "created_at": "2021-08-03T22:36:50.189958",
+ "updated_at": "2019-06-10T11:08:58.622239"
+ },
+ {
+ "id": 2709611398,
+ "title": "Blue",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "76.23",
+ "grams": 8031,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 9829820719,
+ "created_at": "2021-08-03T22:36:50.189958",
+ "updated_at": "2019-06-10T11:08:58.622239"
+ },
+ {
+ "id": 8265274011,
+ "title": "Red",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "47.84",
+ "grams": 4224,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 2849276509,
+ "created_at": "2021-08-03T22:36:50.189958",
+ "updated_at": "2019-06-10T11:08:58.622239"
+ }
+ ],
+ "images": [
+ {
+ "id": 2561917633,
+ "created_at": "2021-08-03T22:36:50.189958",
+ "position": 1,
+ "updated_at": "2019-06-10T11:08:58.622239",
+ "product_id": 7453104370,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Stylish_Orange_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 4908046494,
+ "created_at": "2021-08-03T22:36:50.189958",
+ "position": 2,
+ "updated_at": "2019-06-10T11:08:58.622239",
+ "product_id": 7723907145,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Stylish_Orange_Lamp.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 6243313122,
+ "title": "Modern Red Wallet",
+ "handle": "modern-red-wallet",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2015-07-17T15:52:20.125958",
+ "created_at": "2019-07-20T17:38:27.309728",
+ "updated_at": "2020-02-13T21:35:33.769400",
+ "vendor": "Trendy Styles",
+ "product_type": "Pants",
+ "tags": [
+ "Red",
+ "Wallet",
+ "Modern"
+ ],
+ "variants": [
+ {
+ "id": 1439160060,
+ "title": "Yellow",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "48.94",
+ "grams": 2595,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 1265282798,
+ "created_at": "2019-07-20T17:38:27.309728",
+ "updated_at": "2020-02-13T21:35:33.769400"
+ },
+ {
+ "id": 2927099333,
+ "title": "Lavender",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "13.20",
+ "grams": 6978,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 8962821680,
+ "created_at": "2019-07-20T17:38:27.309728",
+ "updated_at": "2020-02-13T21:35:33.769400"
+ },
+ {
+ "id": 4039730137,
+ "title": "Yellow",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "11.72",
+ "grams": 8341,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 1927564160,
+ "created_at": "2019-07-20T17:38:27.309728",
+ "updated_at": "2020-02-13T21:35:33.769400"
+ },
+ {
+ "id": 8358883036,
+ "title": "Green",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "91.49",
+ "grams": 3551,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 2308799947,
+ "created_at": "2019-07-20T17:38:27.309728",
+ "updated_at": "2020-02-13T21:35:33.769400"
+ },
+ {
+ "id": 2768618779,
+ "title": "Lavender",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "74.21",
+ "grams": 6358,
+ "compare_at_price": null,
+ "position": 5,
+ "product_id": 1875014012,
+ "created_at": "2019-07-20T17:38:27.309728",
+ "updated_at": "2020-02-13T21:35:33.769400"
+ }
+ ],
+ "images": [
+ {
+ "id": 6169399949,
+ "created_at": "2019-07-20T17:38:27.309728",
+ "position": 1,
+ "updated_at": "2020-02-13T21:35:33.769400",
+ "product_id": 7038933661,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Modern_Red_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 8425582374,
+ "created_at": "2019-07-20T17:38:27.309728",
+ "position": 2,
+ "updated_at": "2020-02-13T21:35:33.769400",
+ "product_id": 7756854319,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Modern_Red_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 7151565185,
+ "created_at": "2019-07-20T17:38:27.309728",
+ "position": 3,
+ "updated_at": "2020-02-13T21:35:33.769400",
+ "product_id": 4654355833,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Modern_Red_Wallet.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 1456218793,
+ "title": "Elegant Green Lamp",
+ "handle": "elegant-green-lamp",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2020-05-28T22:46:19.549493",
+ "created_at": "2016-12-07T07:15:57.739501",
+ "updated_at": "2017-06-15T23:38:59.683140",
+ "vendor": "Comfort Zone",
+ "product_type": "Shirt",
+ "tags": [
+ "Green",
+ "Lamp",
+ "Elegant"
+ ],
+ "variants": [
+ {
+ "id": 5506365646,
+ "title": "Red",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "45.78",
+ "grams": 9820,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 6768473550,
+ "created_at": "2016-12-07T07:15:57.739501",
+ "updated_at": "2017-06-15T23:38:59.683140"
+ },
+ {
+ "id": 2459444797,
+ "title": "Red",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "67.46",
+ "grams": 8733,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 5450540573,
+ "created_at": "2016-12-07T07:15:57.739501",
+ "updated_at": "2017-06-15T23:38:59.683140"
+ },
+ {
+ "id": 4972740359,
+ "title": "Red",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "64.30",
+ "grams": 9878,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 6422578839,
+ "created_at": "2016-12-07T07:15:57.739501",
+ "updated_at": "2017-06-15T23:38:59.683140"
+ },
+ {
+ "id": 8913976647,
+ "title": "Blue",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "97.57",
+ "grams": 4685,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 9533274230,
+ "created_at": "2016-12-07T07:15:57.739501",
+ "updated_at": "2017-06-15T23:38:59.683140"
+ }
+ ],
+ "images": [
+ {
+ "id": 7152104667,
+ "created_at": "2016-12-07T07:15:57.739501",
+ "position": 1,
+ "updated_at": "2017-06-15T23:38:59.683140",
+ "product_id": 7684359395,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Green_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 9666443396,
+ "created_at": "2016-12-07T07:15:57.739501",
+ "position": 2,
+ "updated_at": "2017-06-15T23:38:59.683140",
+ "product_id": 3560221893,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Green_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 1368636145,
+ "created_at": "2016-12-07T07:15:57.739501",
+ "position": 3,
+ "updated_at": "2017-06-15T23:38:59.683140",
+ "product_id": 1453993913,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Green_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 1046591414,
+ "created_at": "2016-12-07T07:15:57.739501",
+ "position": 4,
+ "updated_at": "2017-06-15T23:38:59.683140",
+ "product_id": 3155785695,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Green_Lamp.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 8199679896,
+ "title": "Cool Blue Wallet",
+ "handle": "cool-blue-wallet",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2018-12-24T03:33:24.893020",
+ "created_at": "2015-12-13T12:28:39.972231",
+ "updated_at": "2022-05-19T04:51:29.807011",
+ "vendor": "Hand, Olson and Osinski",
+ "product_type": "Dress",
+ "tags": [
+ "Blue",
+ "Wallet",
+ "Cool"
+ ],
+ "variants": [
+ {
+ "id": 5974384188,
+ "title": "Yellow",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "21.20",
+ "grams": 2005,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 4199560654,
+ "created_at": "2015-12-13T12:28:39.972231",
+ "updated_at": "2022-05-19T04:51:29.807011"
+ },
+ {
+ "id": 3207698364,
+ "title": "Green",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "19.27",
+ "grams": 5683,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 8267506109,
+ "created_at": "2015-12-13T12:28:39.972231",
+ "updated_at": "2022-05-19T04:51:29.807011"
+ },
+ {
+ "id": 4400840828,
+ "title": "Lavender",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "53.52",
+ "grams": 5943,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 2436597985,
+ "created_at": "2015-12-13T12:28:39.972231",
+ "updated_at": "2022-05-19T04:51:29.807011"
+ },
+ {
+ "id": 6775309064,
+ "title": "Green",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "39.87",
+ "grams": 9994,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 1858557520,
+ "created_at": "2015-12-13T12:28:39.972231",
+ "updated_at": "2022-05-19T04:51:29.807011"
+ },
+ {
+ "id": 1489410963,
+ "title": "Lavender",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "27.07",
+ "grams": 8441,
+ "compare_at_price": null,
+ "position": 5,
+ "product_id": 3980722622,
+ "created_at": "2015-12-13T12:28:39.972231",
+ "updated_at": "2022-05-19T04:51:29.807011"
+ }
+ ],
+ "images": [
+ {
+ "id": 7290269657,
+ "created_at": "2015-12-13T12:28:39.972231",
+ "position": 1,
+ "updated_at": "2022-05-19T04:51:29.807011",
+ "product_id": 4215930747,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Cool_Blue_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 4046145387,
+ "created_at": "2015-12-13T12:28:39.972231",
+ "position": 2,
+ "updated_at": "2022-05-19T04:51:29.807011",
+ "product_id": 1495440112,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Cool_Blue_Wallet.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 2490187746,
+ "title": "Fashionable Yellow Lamp",
+ "handle": "fashionable-yellow-lamp",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2021-03-11T04:18:01.722391",
+ "created_at": "2019-09-24T12:40:17.464525",
+ "updated_at": "2018-04-12T09:51:06.525832",
+ "vendor": "Trendy Styles",
+ "product_type": "Shoes",
+ "tags": [
+ "Yellow",
+ "Lamp",
+ "Fashionable"
+ ],
+ "variants": [
+ {
+ "id": 7378092348,
+ "title": "Yellow",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "49.87",
+ "grams": 6525,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 6313729630,
+ "created_at": "2019-09-24T12:40:17.464525",
+ "updated_at": "2018-04-12T09:51:06.525832"
+ },
+ {
+ "id": 9993870243,
+ "title": "Red",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "49.94",
+ "grams": 5470,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 3016589580,
+ "created_at": "2019-09-24T12:40:17.464525",
+ "updated_at": "2018-04-12T09:51:06.525832"
+ },
+ {
+ "id": 7674905970,
+ "title": "Red",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "51.39",
+ "grams": 6106,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 3972110049,
+ "created_at": "2019-09-24T12:40:17.464525",
+ "updated_at": "2018-04-12T09:51:06.525832"
+ },
+ {
+ "id": 2040886973,
+ "title": "Green",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "89.76",
+ "grams": 2622,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 6509120157,
+ "created_at": "2019-09-24T12:40:17.464525",
+ "updated_at": "2018-04-12T09:51:06.525832"
+ },
+ {
+ "id": 7581840700,
+ "title": "Lavender",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "82.79",
+ "grams": 7723,
+ "compare_at_price": null,
+ "position": 5,
+ "product_id": 6285982131,
+ "created_at": "2019-09-24T12:40:17.464525",
+ "updated_at": "2018-04-12T09:51:06.525832"
+ }
+ ],
+ "images": [
+ {
+ "id": 5111446247,
+ "created_at": "2019-09-24T12:40:17.464525",
+ "position": 1,
+ "updated_at": "2018-04-12T09:51:06.525832",
+ "product_id": 9691825210,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Yellow_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 5559366571,
+ "created_at": "2019-09-24T12:40:17.464525",
+ "position": 2,
+ "updated_at": "2018-04-12T09:51:06.525832",
+ "product_id": 2498402783,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Yellow_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 3143331314,
+ "created_at": "2019-09-24T12:40:17.464525",
+ "position": 3,
+ "updated_at": "2018-04-12T09:51:06.525832",
+ "product_id": 2746319869,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Yellow_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 5798307452,
+ "created_at": "2019-09-24T12:40:17.464525",
+ "position": 4,
+ "updated_at": "2018-04-12T09:51:06.525832",
+ "product_id": 5787502153,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Yellow_Lamp.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 9996279256,
+ "title": "Trendy Pink Wallet",
+ "handle": "trendy-pink-wallet",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2015-10-28T07:53:10.682102",
+ "created_at": "2021-02-02T02:08:42.948439",
+ "updated_at": "2022-03-31T16:30:11.289460",
+ "vendor": "Modern Outfits",
+ "product_type": "Hat",
+ "tags": [
+ "Pink",
+ "Wallet",
+ "Trendy"
+ ],
+ "variants": [
+ {
+ "id": 3850788606,
+ "title": "Yellow",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "22.20",
+ "grams": 3744,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 5922217908,
+ "created_at": "2021-02-02T02:08:42.948439",
+ "updated_at": "2022-03-31T16:30:11.289460"
+ },
+ {
+ "id": 2991951381,
+ "title": "Lavender",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "70.30",
+ "grams": 7607,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 5634861899,
+ "created_at": "2021-02-02T02:08:42.948439",
+ "updated_at": "2022-03-31T16:30:11.289460"
+ },
+ {
+ "id": 3520292545,
+ "title": "Lavender",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "85.59",
+ "grams": 5458,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 5426621964,
+ "created_at": "2021-02-02T02:08:42.948439",
+ "updated_at": "2022-03-31T16:30:11.289460"
+ },
+ {
+ "id": 1838067897,
+ "title": "Yellow",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "20.04",
+ "grams": 1318,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 5984123085,
+ "created_at": "2021-02-02T02:08:42.948439",
+ "updated_at": "2022-03-31T16:30:11.289460"
+ }
+ ],
+ "images": [
+ {
+ "id": 6619792275,
+ "created_at": "2021-02-02T02:08:42.948439",
+ "position": 1,
+ "updated_at": "2022-03-31T16:30:11.289460",
+ "product_id": 9677682027,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Trendy_Pink_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 3362575748,
+ "created_at": "2021-02-02T02:08:42.948439",
+ "position": 2,
+ "updated_at": "2022-03-31T16:30:11.289460",
+ "product_id": 5381565644,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Trendy_Pink_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 9006511968,
+ "created_at": "2021-02-02T02:08:42.948439",
+ "position": 3,
+ "updated_at": "2022-03-31T16:30:11.289460",
+ "product_id": 5489522022,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Trendy_Pink_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 5168513244,
+ "created_at": "2021-02-02T02:08:42.948439",
+ "position": 4,
+ "updated_at": "2022-03-31T16:30:11.289460",
+ "product_id": 8915784402,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Trendy_Pink_Wallet.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 9247389704,
+ "title": "Classic Purple Lamp",
+ "handle": "classic-purple-lamp",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2018-08-11T11:57:37.262575",
+ "created_at": "2015-08-07T11:31:47.763439",
+ "updated_at": "2016-10-05T06:51:57.081707",
+ "vendor": "Hand, Olson and Osinski",
+ "product_type": "Jacket",
+ "tags": [
+ "Purple",
+ "Lamp",
+ "Classic"
+ ],
+ "variants": [
+ {
+ "id": 7320175916,
+ "title": "Yellow",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "83.65",
+ "grams": 5681,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 1856067904,
+ "created_at": "2015-08-07T11:31:47.763439",
+ "updated_at": "2016-10-05T06:51:57.081707"
+ },
+ {
+ "id": 3219729717,
+ "title": "Blue",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "45.88",
+ "grams": 1502,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 4474347175,
+ "created_at": "2015-08-07T11:31:47.763439",
+ "updated_at": "2016-10-05T06:51:57.081707"
+ },
+ {
+ "id": 9390142724,
+ "title": "Green",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "98.97",
+ "grams": 1521,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 6467401976,
+ "created_at": "2015-08-07T11:31:47.763439",
+ "updated_at": "2016-10-05T06:51:57.081707"
+ },
+ {
+ "id": 5431075997,
+ "title": "Yellow",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "85.66",
+ "grams": 4152,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 8008856783,
+ "created_at": "2015-08-07T11:31:47.763439",
+ "updated_at": "2016-10-05T06:51:57.081707"
+ }
+ ],
+ "images": [
+ {
+ "id": 3677097519,
+ "created_at": "2015-08-07T11:31:47.763439",
+ "position": 1,
+ "updated_at": "2016-10-05T06:51:57.081707",
+ "product_id": 6916741381,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Classic_Purple_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 5796875829,
+ "created_at": "2015-08-07T11:31:47.763439",
+ "position": 2,
+ "updated_at": "2016-10-05T06:51:57.081707",
+ "product_id": 3969315957,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Classic_Purple_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 8207020492,
+ "created_at": "2015-08-07T11:31:47.763439",
+ "position": 3,
+ "updated_at": "2016-10-05T06:51:57.081707",
+ "product_id": 6084987740,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Classic_Purple_Lamp.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 4048965417,
+ "title": "Elegant Black Lamp",
+ "handle": "elegant-black-lamp",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2021-01-21T13:11:14.038152",
+ "created_at": "2019-07-11T19:42:58.020519",
+ "updated_at": "2022-04-29T19:11:48.449637",
+ "vendor": "Classic Clothing Co.",
+ "product_type": "Jeans",
+ "tags": [
+ "Black",
+ "Lamp",
+ "Elegant"
+ ],
+ "variants": [
+ {
+ "id": 9961434729,
+ "title": "Blue",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "35.91",
+ "grams": 7204,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 8023761052,
+ "created_at": "2019-07-11T19:42:58.020519",
+ "updated_at": "2022-04-29T19:11:48.449637"
+ },
+ {
+ "id": 4224476925,
+ "title": "Lavender",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "61.45",
+ "grams": 3422,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 9159995664,
+ "created_at": "2019-07-11T19:42:58.020519",
+ "updated_at": "2022-04-29T19:11:48.449637"
+ }
+ ],
+ "images": [
+ {
+ "id": 6026629958,
+ "created_at": "2019-07-11T19:42:58.020519",
+ "position": 1,
+ "updated_at": "2022-04-29T19:11:48.449637",
+ "product_id": 9121969529,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Black_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 4343602205,
+ "created_at": "2019-07-11T19:42:58.020519",
+ "position": 2,
+ "updated_at": "2022-04-29T19:11:48.449637",
+ "product_id": 8318672672,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Black_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 5632220603,
+ "created_at": "2019-07-11T19:42:58.020519",
+ "position": 3,
+ "updated_at": "2022-04-29T19:11:48.449637",
+ "product_id": 6114250100,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Elegant_Black_Lamp.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 3065425600,
+ "title": "Stylish White Wallet",
+ "handle": "stylish-white-wallet",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2020-02-08T14:23:29.237451",
+ "created_at": "2017-01-08T20:23:23.430798",
+ "updated_at": "2022-05-09T07:36:41.631522",
+ "vendor": "Comfort Zone",
+ "product_type": "Scarf",
+ "tags": [
+ "White",
+ "Wallet",
+ "Stylish"
+ ],
+ "variants": [
+ {
+ "id": 6525039839,
+ "title": "Red",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "24.29",
+ "grams": 6027,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 4037236653,
+ "created_at": "2017-01-08T20:23:23.430798",
+ "updated_at": "2022-05-09T07:36:41.631522"
+ },
+ {
+ "id": 8478568614,
+ "title": "Green",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "80.66",
+ "grams": 9293,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 8727870107,
+ "created_at": "2017-01-08T20:23:23.430798",
+ "updated_at": "2022-05-09T07:36:41.631522"
+ },
+ {
+ "id": 3678572874,
+ "title": "Red",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "29.18",
+ "grams": 8280,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 5368354512,
+ "created_at": "2017-01-08T20:23:23.430798",
+ "updated_at": "2022-05-09T07:36:41.631522"
+ },
+ {
+ "id": 3794389484,
+ "title": "Green",
+ "option1": "Blue",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "63.68",
+ "grams": 8097,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 4198325980,
+ "created_at": "2017-01-08T20:23:23.430798",
+ "updated_at": "2022-05-09T07:36:41.631522"
+ },
+ {
+ "id": 5944570793,
+ "title": "Red",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "67.11",
+ "grams": 4027,
+ "compare_at_price": null,
+ "position": 5,
+ "product_id": 6821356692,
+ "created_at": "2017-01-08T20:23:23.430798",
+ "updated_at": "2022-05-09T07:36:41.631522"
+ }
+ ],
+ "images": [
+ {
+ "id": 3385234671,
+ "created_at": "2017-01-08T20:23:23.430798",
+ "position": 1,
+ "updated_at": "2022-05-09T07:36:41.631522",
+ "product_id": 7665572716,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Stylish_White_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 9933459181,
+ "created_at": "2017-01-08T20:23:23.430798",
+ "position": 2,
+ "updated_at": "2022-05-09T07:36:41.631522",
+ "product_id": 2468461092,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Stylish_White_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 3376070189,
+ "created_at": "2017-01-08T20:23:23.430798",
+ "position": 3,
+ "updated_at": "2022-05-09T07:36:41.631522",
+ "product_id": 5411526192,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Stylish_White_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 5785792631,
+ "created_at": "2017-01-08T20:23:23.430798",
+ "position": 4,
+ "updated_at": "2022-05-09T07:36:41.631522",
+ "product_id": 7550149907,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Stylish_White_Wallet.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 3460545775,
+ "title": "Modern Grey Lamp",
+ "handle": "modern-grey-lamp",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2016-04-11T02:34:37.335168",
+ "created_at": "2019-06-06T09:30:15.550561",
+ "updated_at": "2018-07-17T02:11:06.510068",
+ "vendor": "Trendy Styles",
+ "product_type": "Hoodie",
+ "tags": [
+ "Grey",
+ "Lamp",
+ "Modern"
+ ],
+ "variants": [
+ {
+ "id": 5439560768,
+ "title": "Green",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "96.12",
+ "grams": 1793,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 5582722828,
+ "created_at": "2019-06-06T09:30:15.550561",
+ "updated_at": "2018-07-17T02:11:06.510068"
+ },
+ {
+ "id": 5225999996,
+ "title": "Green",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "29.67",
+ "grams": 3927,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 9279798479,
+ "created_at": "2019-06-06T09:30:15.550561",
+ "updated_at": "2018-07-17T02:11:06.510068"
+ },
+ {
+ "id": 6217299359,
+ "title": "Lavender",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "67.09",
+ "grams": 7924,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 2108417183,
+ "created_at": "2019-06-06T09:30:15.550561",
+ "updated_at": "2018-07-17T02:11:06.510068"
+ },
+ {
+ "id": 4282612680,
+ "title": "Red",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "28.26",
+ "grams": 2828,
+ "compare_at_price": null,
+ "position": 4,
+ "product_id": 9496792029,
+ "created_at": "2019-06-06T09:30:15.550561",
+ "updated_at": "2018-07-17T02:11:06.510068"
+ },
+ {
+ "id": 5571431146,
+ "title": "Lavender",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "61.46",
+ "grams": 7335,
+ "compare_at_price": null,
+ "position": 5,
+ "product_id": 7803604411,
+ "created_at": "2019-06-06T09:30:15.550561",
+ "updated_at": "2018-07-17T02:11:06.510068"
+ }
+ ],
+ "images": [
+ {
+ "id": 9190661274,
+ "created_at": "2019-06-06T09:30:15.550561",
+ "position": 1,
+ "updated_at": "2018-07-17T02:11:06.510068",
+ "product_id": 9113445515,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Modern_Grey_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 2968412858,
+ "created_at": "2019-06-06T09:30:15.550561",
+ "position": 2,
+ "updated_at": "2018-07-17T02:11:06.510068",
+ "product_id": 1884316831,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Modern_Grey_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 8726016449,
+ "created_at": "2019-06-06T09:30:15.550561",
+ "position": 3,
+ "updated_at": "2018-07-17T02:11:06.510068",
+ "product_id": 9147050253,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Modern_Grey_Lamp.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 9630943510,
+ "title": "Cool Green Wallet",
+ "handle": "cool-green-wallet",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2015-10-31T02:04:57.357928",
+ "created_at": "2021-09-05T12:00:39.325978",
+ "updated_at": "2015-09-16T07:11:03.045744",
+ "vendor": "Fashion Corp",
+ "product_type": "Blouse",
+ "tags": [
+ "Green",
+ "Wallet",
+ "Cool"
+ ],
+ "variants": [
+ {
+ "id": 3695330671,
+ "title": "Lavender",
+ "option1": "Red",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "89.56",
+ "grams": 1730,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 1070899577,
+ "created_at": "2021-09-05T12:00:39.325978",
+ "updated_at": "2015-09-16T07:11:03.045744"
+ },
+ {
+ "id": 6844548528,
+ "title": "Lavender",
+ "option1": "Lavender",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "17.68",
+ "grams": 6843,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 1344494535,
+ "created_at": "2021-09-05T12:00:39.325978",
+ "updated_at": "2015-09-16T07:11:03.045744"
+ },
+ {
+ "id": 8626451072,
+ "title": "Red",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "39.14",
+ "grams": 4275,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 1159718547,
+ "created_at": "2021-09-05T12:00:39.325978",
+ "updated_at": "2015-09-16T07:11:03.045744"
+ }
+ ],
+ "images": [
+ {
+ "id": 9555573981,
+ "created_at": "2021-09-05T12:00:39.325978",
+ "position": 1,
+ "updated_at": "2015-09-16T07:11:03.045744",
+ "product_id": 9979561633,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Cool_Green_Wallet.png?v=1443055932"
+ },
+ {
+ "id": 5581471666,
+ "created_at": "2021-09-05T12:00:39.325978",
+ "position": 2,
+ "updated_at": "2015-09-16T07:11:03.045744",
+ "product_id": 6875736711,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Cool_Green_Wallet.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ },
+ {
+ "id": 7625344786,
+ "title": "Fashionable Red Lamp",
+ "handle": "fashionable-red-lamp",
+ "body_html": "Engineer b2c relationships",
+ "published_at": "2022-08-07T19:34:05.568659",
+ "created_at": "2016-04-14T05:00:41.902534",
+ "updated_at": "2019-05-20T08:40:12.669370",
+ "vendor": "Hand, Olson and Osinski",
+ "product_type": "Boots",
+ "tags": [
+ "Red",
+ "Lamp",
+ "Fashionable"
+ ],
+ "variants": [
+ {
+ "id": 1611862247,
+ "title": "Lavender",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "73.98",
+ "grams": 4995,
+ "compare_at_price": null,
+ "position": 1,
+ "product_id": 9684326475,
+ "created_at": "2016-04-14T05:00:41.902534",
+ "updated_at": "2019-05-20T08:40:12.669370"
+ },
+ {
+ "id": 8311279298,
+ "title": "Green",
+ "option1": "Yellow",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "52.27",
+ "grams": 6128,
+ "compare_at_price": null,
+ "position": 2,
+ "product_id": 6734376709,
+ "created_at": "2016-04-14T05:00:41.902534",
+ "updated_at": "2019-05-20T08:40:12.669370"
+ },
+ {
+ "id": 3978354692,
+ "title": "Green",
+ "option1": "Green",
+ "option2": null,
+ "option3": null,
+ "sku": "",
+ "requires_shipping": true,
+ "taxable": true,
+ "featured_image": null,
+ "available": true,
+ "price": "20.61",
+ "grams": 9487,
+ "compare_at_price": null,
+ "position": 3,
+ "product_id": 8675304605,
+ "created_at": "2016-04-14T05:00:41.902534",
+ "updated_at": "2019-05-20T08:40:12.669370"
+ }
+ ],
+ "images": [
+ {
+ "id": 4201980924,
+ "created_at": "2016-04-14T05:00:41.902534",
+ "position": 1,
+ "updated_at": "2019-05-20T08:40:12.669370",
+ "product_id": 2659327552,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Red_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 6880661930,
+ "created_at": "2016-04-14T05:00:41.902534",
+ "position": 2,
+ "updated_at": "2019-05-20T08:40:12.669370",
+ "product_id": 8742199099,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Red_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 4112067803,
+ "created_at": "2016-04-14T05:00:41.902534",
+ "position": 3,
+ "updated_at": "2019-05-20T08:40:12.669370",
+ "product_id": 7613521421,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Red_Lamp.png?v=1443055932"
+ },
+ {
+ "id": 3540348134,
+ "created_at": "2016-04-14T05:00:41.902534",
+ "position": 4,
+ "updated_at": "2019-05-20T08:40:12.669370",
+ "product_id": 2211747120,
+ "variant_ids": [],
+ "src": "https://cdn.shopify.com/s/files/1/1000/7970/products/Fashionable_Red_Lamp.png?v=1443055932"
+ }
+ ],
+ "options": [
+ {
+ "name": "Title",
+ "position": 1,
+ "values": [
+ "Lavender",
+ "Yellow",
+ "Blue",
+ "Green",
+ "Red"
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment