Import Shopify products into your Silverstripe site, implements the buy button sdk to create a cart and checkout
This module is for users that want to implement there shopify products into a SilverStripe storefront.
Based on xddesigners/silverstripe-shopify - but completely reworked.
It makes use of the Shopify Buy Button to create the cart and checkout interface.
You'll end up with a import job that fetches all the products and variants and stores them as Product DataObject in your site.
Install the module trough composer and configure the api keys.
composer require swordfox/silverstripe-shopify
Get up your api keys by creating a new Private App in your Shopify admin interface.
If you want to use webhooks via the API e.g. dev/tasks/Swordfox-Shopify-Task-Webhooks/create you need to ensure 'webhooks_shared_secret' is the same as 'shared_secret', however if you want to use manually added webhooks, you will need to get your webhooks shared secret from
Swordfox\Shopify\Client: api_key: 'YOUR_API_KEY' api_password: 'YOUR_API_PASSWORD' api_limit: 50 # Default limit, 250 max api_version: '2021-01' # Default 2021-01 storefront_access_token: 'YOUR_ACCESS_TOKEN' # for buybutton code shopify_domain: 'YOUR_SHOPIFY_DOMAIN' # mydomain.myshopify.com shared_secret: 'YOUR_API_SHARED_SECRET' webhooks_shared_secret: 'YOUR_WEBHOOKS_SHARED_SECRET' # Use same as above for webhooks added via API e.g. dev/tasks/Swordfox-Shopify-Task-Webhooks/create webhooks_create: 'products/update': 'shop/webhook/update/product' 'products/create': 'shop/webhook/update/product' 'products/delete': 'shop/webhook/delete/product' 'collections/create': 'shop/webhook/update/collection' 'collections/update': 'shop/webhook/update/collection' 'collections/delete': 'shop/webhook/delete/collection' 'inventory_levels/connect': 'shop/webhook/update/inventory' 'inventory_levels/update': 'shop/webhook/update/inventory' delete_on_shopify: false delete_on_shopify_after: '+3 days' # strtotime('+3 days') hide_out_of_stock: false hide_if_no_image: false new_based_on: 'Created' # LastEdited or ImageAdded (use with hide_if_no_image) new_timeframe: '+7 days' # strtotime('+7 days') cron_interval: '-18 hours' # Allow for timezone offset, e.g. if your timezone is +12:00, add your cron_interval to that as a negative value. So if your cron runs every 6 hours, set the cron_interval to '-18 hours' # Override $default_sort Swordfox\Shopify\Model\Product: default_sort: 'Created DESC' # LastEdited DESC or ImageAdded DESC
You can run the import script manually trough the dev/tasks interface or set up up to run as a cron task. The default task is designed to run once per day and imports / updates the latest 50
api_limit from admin/products.json, admin/custom_collections.json & admin/smart_collections.json.
The productsonly task is designed to run a few times a day if webhooks are not being used, it imports the latest 50
api_limit from admin/products.json.
The productsall task is designed to run on initial set up and imports all from admin/products.json, admin/custom_collections.json & admin/smart_collections.json.
The following webhooks are supported and can be created automatically via the API using
You can run the delete on Shopify script manually trough the dev/tasks interface or set up up to run as a cron task. This task is useful for stores that sell one-off products and want to delete the products off Shopify after a certain period of time
delete_on_shopify_after: '+3 days' which is set on ShopifyProduct::DeleteOnShopify during the import tasks if
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem