# Shopify
The tap-shopify
extractor pulls data from the Shopify API.
- Repository: https://github.com/singer-io/tap-shopify
- Maintainer: Stitch
- Maintenance status: Nonresponsive to community issues and contributions
- A more active fork may be available that you can use instead.
- This plugin is up for adoption!
# Getting Started
# Prerequisites
If you haven't already, follow the initial steps of the Getting Started guide:
# Installation and configuration
# Using the Command Line Interface
Add the
tap-shopify
extractor to your project usingmeltano add
:meltano add extractor tap-shopify
Configure the settings below using
meltano config
.
# Using Meltano UI
Start Meltano UI using
meltano ui
:meltano ui
Open the Extractors interface at http://localhost:5000/extractors.
Click the "Add to project" button for "Shopify".
Configure the settings below in the "Configuration" interface that opens automatically.
# Next steps
Follow the remaining steps of the Getting Started guide:
- Select entities and attributes to extract
- Add a loader to send data to a destination
- Run a data integration (EL) pipeline
If you run into any issues, learn how to get help.
# Settings
tap-shopify
requires the configuration of the following settings:
These and other supported settings are documented below. To quickly find the setting you're looking for, use the Table of Contents in the sidebar.
# Minimal configuration
A minimal configuration of tap-shopify
in your meltano.yml
project file will look like this:
plugins:
extractors:
- name: tap-shopify
variant: singer-io
config:
shop: my_store_subdomain
start_date: '2020-10-01T00:00:00Z'
Sensitive values are most appropriately stored in the environment or your project's .env
file:
export TAP_SHOPIFY_API_KEY=my_key
# Shop
- Name:
shop
- Environment variable:
TAP_SHOPIFY_SHOP
The store subdomain, which can be derived from your Shopify admin URL.
If your admin URL starts with https://my-first-store.myshopify.com/
, your store subdomain is my-first-store
.
# How to use
Manage this setting using Meltano UI, meltano config
, or an environment variable:
meltano config tap-shopify set shop <subdomain>
export TAP_SHOPIFY_SHOP=<subdomain>
# API Key
- Name:
api_key
- Environment variable:
TAP_SHOPIFY_API_KEY
A Private App API Password or API Key generated using OAuth
# How to get
# Create private app
First, you will need to create a Private App:
- Log in to your Shopify store admin at
https://<store subdomain>.myshopify.com/admin
- Click "Apps" in the sidebar on the left
- On the bottom of the page, click "Manage private apps" next to "Working with a developer on your shop?"
- Click the "Create a new private app" button
- Enter a "Private app name" of your choosing, e.g. "Meltano"
- Enter your email address under "Emergency developer email"
- In the "Admin API" section, click "▼ Review disabled Admin API permissions"
- Choose "Read access" rather than "No access" in the access level dropdowns for the following permissions:
- Products, variants and collections -
read_products, write_products
- Orders, transactions and fulfillments -
read_orders, write_orders
- Customer details and customer groups -
read_customers, write_customers
- Products, variants and collections -
- Click "Save"
- In the modal that appears, click "I understand, create the app"
# Find your API password
Now that your app has been created, we can acquire the password Meltano will use to authenticate with the Shopify API.
- In the "Admin API" section on the private app details page, find the "Password" field and click "Show"
- The value that appears (starting with
shppa_
) is your API password. You can copy and paste it into the Meltano data source configuration.
# How to use
Manage this setting using Meltano UI, meltano config
, or an environment variable:
meltano config tap-shopify set api_key <key>
export TAP_SHOPIFY_API_KEY=<key>
# Start Date
- Name:
start_date
- Environment variable:
TAP_SHOPIFY_START_DATE
This property determines how much historical data will be extracted.
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.
# How to use
Manage this setting using Meltano UI, meltano config
, or an environment variable:
meltano config tap-shopify set start_date YYYY-MM-DDTHH:MM:SSZ
export TAP_SHOPIFY_START_DATE=YYYY-MM-DDTHH:MM:SSZ
# For example:
meltano config tap-shopify set start_date 2020-10-01T00:00:00Z
export TAP_SHOPIFY_START_DATE=2020-10-01T00:00:00Z