Shopify (as a Source)


Shopify as a source supports the core source operations, such as retrieving product data, sending fulfillment requests/fulfillment orders (FRs/F\Os), and retrieving shipments for those FRs/FOs. There are currently two ways to connect:

Which method do I use to connect my Shopify?
If you're setting up your Shopify store as a source the new OAuth2 connection method can be used

Setting up vendor's Shopify store's as a source Do Not use OAuth2 -- The vendor should follow steps here (Manually Adding the App section below )and provide the required credentials to setup the connection in Flxpoint

Connection Setup OAuth2

First, you'll need to start by installing the Flxpoint app onto your Shopify store, if you haven't already done so.

Installing Flxpoint App

  1. Click on Customize Your Store towards the top right corner
  2. Type in "Flxpoint"
  3. Click on Flxpoint App
  4. "Add app"
  5. After being redirected to a new page that shows permissions, click "Add app" once more
  6. It'll then log into Flxpoint for you, or may ask you to login, and then authorize the app connection
    1. This is indicated by the green pop-up box that states, "Your new Shopify access token has been granted."

The green pop-up box indicates that the connection is successful, and you can now proceed to setting up the OAuth2 process.

Connection Issues?
You can always go back to your "Apps" section in Shopify and "Delete" the Flxpoint app to redo this process to re-establish a connection if your Shopify access token is not granted.

OAuth2 Setup (as Source)

OAuth2

  1. Navigate to your Sources tab

  2. Either select a Source to edit, or create a new one by clicking the blue and white + button towards the top left.

    1. If adding new: Select your Source Type, name it, Select your Vendor, and then add a Description if you want
  3. Configure which portion you're setting the Source up as (in this example, Get Inventory [Primary] is covered)

  4. Click "Start Creating Integrations"

  5. Next, connect your Integration (Shopify) and then check to ensure it's selecting the proper Connection (Shopify OAuth2)

To complete the setup process for the connection, be sure to choose your Location and select anything additional that may be required here then Save and Proceed, and then lastly finish setting up Define your Mapping Template.

These steps can be applied to any other fields that you would like to set Shopify as the Source.

Info
Not sure of your Location ID? Be sure to skip below the manual process to see how to retrieve this. You can skip ahead by clicking here.


Manually Adding the App, API Key, Password and Location ID

Overview

This connection will go over how to install and setup the app manually, rather than just installing it through the OAuth2 version (which automatically sets those permissions for you via OAuth2).

If you are not doing the OAuth2 version, Flxpoint will require you to set up a custom app on your Shopify store.

To create a custom app:

  • Click Settings in the bottom left corner of the screen
  • Select Apps and Sales Channels
  • Click Develop Apps for Your Store

Once on the Custom Apps page, you'll need to click the Create an app button and name the new app "Flxpoint".

The next screen after the app is created will show two different options to show the different types of operations and allows you to set permissions for what our app is allowed to do.

To set them up initially, click the "Configure Admin API Scopes" option.

We suggest you change the following admin API permissions (see below for how Flxpoint will use them), which are all set to "No access" by default:

  • "Customers" set to "Read and write"
  • "Fulfillment services" set to "Read access" (note, if you're also using Shopify as a sales channel, this will need to be "Read and write")
  • "Inventory" set to "Read access" (note, if you're also using Shopify as a sales channel, this will need to be "Read and write")
  • "Locations" set to "Read access"
  • "Orders" set to "Read and write"
  • "Products" set to "Read access" (note, if you're also using Shopify as a sales channel, this will need to be "Read and write")

By granting this access, Flxpoint will use it as follows:

  • Get Inventory [Primary]: read_locations, read_products, read_inventory
  • Send FRs/FOs: write_orders, write_draft_orders (if sending draft orders), read_customers, write_customers
  • Get Shipments: read_orders, read_fulfillments

After these permissions are granted, you will go to the top right and click Install App

Access Token Viewable Once

When your Shopify credentials are generated the access token will only be viewable once. If you mistakenly exit the page you will need to delete the app and reinstall to generate a new access token When setting up your connection in Flxpoint:

Shopify API Key = Flxpoint API Key

Shopify API Access Token = Flxpoint Password

Location ID

Finally, Flxpoint will also need to know the Shopify Location ID we'll be integrating with. Shopify supports multiple Locations, though Flxpoint can only integrate with one of them per Flxpoint Sales Channel.

To determine your location ID, in Shopify go to Settings (bottom left hand corner of the Shopify admin page) and choose Locations.

You'll be presented with a list of your active locations.

Click on the location you wish to use, and then the URL at the top of your browser will then change, showing the location ID at the end.


Product Operations

Get Inventory [Primary]

SUPPORTED 

Retrieves product data, pricing, and quantity via the product/variant API. Special considerations listed below:

  • Variation structure is supported when pulling from Shopify
  • Mapping from tags: Expect a comma delimited value to map from such as "tag1, tag2, tag3." This can be "SPLIT" via mapping rules.

Supported Fields for Get Inventory [Primary]

(12/17/2020)

Field Value Example
Handle String "Parent SKU"
Attributes Boolean Import Attributes Yes/No
Images Boolean Import Images Yes/No
Options Boolean Import Options Yes/No
Vendor String "Brand1"
Product Type String "Clothing"
Product Tags String "Shirts" "Pants" "Gloves"
Body HTML String "Description of the Product"
Title String "Product Title"
SKU String "SKU123"
ASIN String "ASIN1"
Cost Integer 1.00
Dimensional Unit Boolean Inches/Centimeters
Dimension Unit (Abbreviated) Boolean in/cm
Compare At Price Integer 10.00
Quantity Integer 1000
Price Integer 8.00
Barcode Integer "12345678910"
Weight Integer 1.00
Weight Unit Boolean Pounds/Ounce/Gram/Kilogram
Weight Unit (Abbreviated) Boolean lb/oz/g/kg
Attributes Boolean Yes/No

Get Inventory [Secondary]

NOT NECESSARY

Inventory data is included with product data.

Order Operations

Send FRs/FOs

SUPPORTED

Flxpoint FRs/FOs are submitted as orders in Shopify.

Flxpoint also supports the option of sending draft orders if you require orders to be submitted to Shopify as drafts.

Info
Flxpoint currently supports the option of creating a new customer profile on Shopify for a customer that has not purchased a product from you before. These customers can be created based on: billing address, dealer address, and account owner address.

Supported fields for Send FRs/FOs

(12/17/2020)

Field Value Example
Shipping/Billing Address 1 String "123 Fake Street"
Shipping/Billing Address 2 String "Unit 100"
Shipping/Billing City String "Tampa"
Shipping/Billing Company String "The Fake Company"
Shipping/Billing Country String "United States"
Shipping/Billing Country Code String "US"
Shipping/Billing Name String "Greg Fakeman"
Shipping/Billing Phone String "904-555-1010"
Shipping/Billing Province String "Florida"
Shipping/Billing Province Code String "FL"
Shipping/Billing Postal Code String "12345"
Latitude String "29° 52' N"
Longitude String "47° 55' W"
Shopify Discount Amount Integer 20.00/20
Shopify Discount Code String "Free50"
Shopify Discount Type Boolean Fixed Amount/Percentage
Order Email String FakeEmail@email.com
Order Financial Status Boolean Paid/Partially Paid/Authorized/Pending/Refunded/Voided
Inventory Behavior Boolean Decrement (Obeying Policy)/Decrement (Ignoring Policy) Bypass
Order Note String "Any message"
Order Phone String "904-555-1010"
Send Fulfillment Receipt Boolean Yes/No
Send Order Receipt Boolean Yes/No
Shipping Line 1 - Price Integer 10.00
Shipping Line 1 - Title String "Free Shipping"
Tags String "Glove" "Shirt" "Pants"

Get Shipments

SUPPORTED

Get Shipments allows Flxpoint to import tracking information for your Shopify order into the Flxpoint system. If configured, Flxpoint can send this to your sales channel.

Supported Fields for Get Shipments

(12/17/2020)

Field Value Example
Tracking Company String "UPS" "FedEx" "DHL"
Method String "UPS Ground"
Note String "Any Message"
Created At Date 12/17/2020
Shipping Line 1 - Price (Shipping cost) Integer 10.00
Tracking Number String "12345678YZ"
Tracking URL URL https://www.TrackingInfo.com/

Get Source Invoices

NOT SUPPORTED

Please contact us if you have interest in this feature.