Shopify

Get started with the Shopify connector!

Description

Shopify is a cloud-based, multi-channel commerce platform designed for small and medium-sized businesses.

Connector Details

NameValue
PlatformShopify
Auth TypeAPI Keys
DirectionBidirectional
Unified SchemaSupported in Ecommerce Unified Schema

Triggers

See the table below for the list of real-time triggers supported by the Shopify connector.

NameDescription
Created orderTriggered when a new sale order is created
Deleted orderTriggered when a sale order is deleted
Created productTriggered when a new product is created
Deleted productTriggered when a product is deleted

Supported Data

See the table below for the list of data you can read with the Shopify connector.

Table NameFields
abandoned_checkouts
note_attributes, location_id, buyer_accepts_marketing, currency, completed_at, token, billing_address, email, discount_codes, customer_locale, created_at, updated_at, gateway, referring_site, source_identifier, total_weight, tax_lines, total_line_items_price, closed_at, device_id, phone, source_name, id, name, total_tax, subtotal_price, line_items, source_url, total_discounts, note, presentment_currency, shipping_lines, user_id, source, shipping_address, abandoned_checkout_url, landing_site, customer, total_price, cart_token, taxes_included, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
metafields
owner_id, admin_graphql_api_id, owner_resource, value_type, key, created_at, id, namespace, description, value, updated_at, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
shop
id, name, email, domain, province, country, address1, zip, city, phone, latitude, longitude, money_in_emails_format, money_with_currency_in_emails_format, eligible_for_payments, requires_extra_payments_agreement, password_enabled, has_storefront, eligible_for_card_reader_giveaway, finances, primary_location_id, cookie_consent_level, visitor_tracking_consent_preference, checkout_api_supported, multi_location_enabled, setup_required, pre_launch_enabled, enabled_presentment_currencies, currency, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
locations
country_code, name, address1, city, id, address2, province_code, zip, localized_province_name, localized_country_name, updated_at, province, phone, legacy, created_at, country, active, admin_graphql_api_id, country_name, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
customers
last_order_name, currency, email, multipass_identifier, default_address, orders_count, state, verified_email, total_spent, last_order_id, first_name, updated_at, note, phone, admin_graphql_api_id, addresses, last_name, tags, tax_exempt, id, accepts_marketing, accepts_marketing_updated_at, created_at, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
transactions
error_code, device_id, user_id, parent_id, test, kind, order_id, amount, authorization, currency, source_name, message, id, created_at, status, payment_details, gateway, admin_graphql_api_id, receipt, location_id, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
orders
presentment_currency, subtotal_price_set, total_discounts_set, total_line_items_price_set, total_price_set, total_shipping_price_set, total_tax_set, total_price, line_items, processing_method, order_number, confirmed, total_discounts, total_line_items_price, order_adjustments, shipping_lines, admin_graphql_api_id, device_id, cancel_reason, currency, payment_gateway_names, source_identifier, id, processed_at, referring_site, contact_email, location_id, fulfillments, customer, test, total_tax, payment_details, number, email, source_name, landing_site_ref, shipping_address, total_price_usd, closed_at, discount_applications, name, note, user_id, source_url, subtotal_price, billing_address, landing_site, taxes_included, token, app_id, total_tip_received, browser_ip, discount_codes, tax_lines, phone, note_attributes, fulfillment_status, order_status_url, client_details, buyer_accepts_marketing, checkout_token, tags, financial_status, customer_locale, checkout_id, total_weight, gateway, cart_token, cancelled_at, refunds, created_at, updated_at, reference, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
order_refunds
order_id, restock, order_adjustments, processed_at, user_id, note, id, created_at, admin_graphql_api_id, refund_line_items, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
inventory_items
id, sku, created_at, updated_at, requires_shipping, cost, country_code_of_origin, province_code_of_origin, harmonized_system_code, tracked, country_harmonized_system_codes, admin_graphql_api_id, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
products
status, published_at, created_at, published_scope, vendor, updated_at, body_html, product_type, tags, options, image, handle, images, template_suffix, title, variants, admin_graphql_api_id, id, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
custom_collections
handle, sort_order, body_html, title, id, published_scope, admin_graphql_api_id, updated_at, image, published_at, template_suffix, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
collects
id, collection_id, created_at, position, product_id, sort_value, updated_at, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain
inventory_levels
available, inventory_item_id, updated_at, location_id, incoming, admin_graphql_api_id, _sdc_shop_id, _sdc_shop_name, _sdc_shop_myshopify_domain

Credentials Setup

There are two ways to use Shopify: either via a Shopify Public App (OAuth) or using a Private App (API keys). Shopify Public Apps are recommended, but both will work.


OAuth Public App

You can create a Shopify developer account at shopify.dev.

After entering some basic information, you'll be taken to an overview page. There's a tab that says "Build apps for clients or the Shopify App Store." When you click it, you'll see a button to create an app. Click that too.

Once you name your app, you'll get the Client ID and Client Secret that you need for Hotglue. All that's left is your custom configuration, using the tabs on the left of the dashboard

App Setup

The only required bit here is the "Allowed redirection URL." This should be set to https://hotglue.xyz/callback. Add a logo, preferences URL, and app URL while you're at it.

API Access

Depending on your use case, you may need to request permissions. Most use cases will require the "Read all orders" scope, which you can request on this page. If it's relevant to your app, it isn't too hard to get this access. You may also be interested in requesting subscription APIs and protected customer data.

Distribution

Once you finish configuring your app and confirming that it works for your own account, you can begin the app registration process. You will want to make your app publicly available, so this can't be a Single Merchant Install. There is a one-time $99 fee associated with registering to be on the Shopify app store.


Private App

📘

These steps will be performed by each of your customers when they connect their Shopify account.

The first thing you need to do is log in to Shopify. If you're just testing you can create a free partner account.

Once logged in, on the left side of the screen, select the Apps option in the navigation bar. Near the bottom of the apps page, there is an option to Manage private apps. Click it!

If you have not enabled private apps yet, you'll need to Enable private app development. Click through the subsequent pages to enable private apps.

Once you end up on the apps page, click "Create Private App". Fill in an app name and email.

Now you need to enable permissions. Click the Show inactive Admin API permissions drop down in order to configure the data you're pulling from Shopify.

📘

If you plan to both read and write data with Shopify, make sure to enable Read and write access. Otherwise, Read access is sufficient.

Once you have clicked Save, click the Create app button to finish the process. You'll receive an API Password and API key, which are all you need to authenticate with Shopify in hotglue.