Using the Shopify REST Source Component

The REST Source component is an SSIS source component that can be used to read/retrieve data from Shopify REST services and produce column data which can then be consumed by a downstream SSIS pipeline component.

See Shopify Rest Connection Manager for how to connect to Shopify and Shopify REST Destination Component for how to write to Shopify.

The component includes the following two pages to configure how you want to read data.

  • General
  • Columns

General Page

The General page of the REST Source Component allows you to specify the general settings of the component.

SSIS Shopify REST Source

Connection Manager

The source component requires a REST connection to Shopify. The Connection Manager drop-down will show a list of all connection managers that are available to your current SSIS package.


Click the search button (or press Ctrl + F on your keyboard) to launch the Search Objects & Endpoints dialog. This dialog will open to the side of the source editor and allows you to search for an object or endpoint. Results are ordered by relevance. Clicking on a result will select that object or endpoint in the source editor.


The Category drop-down is used to divide up objects and endpoints into categories. Selecting a category here will filter the list of available objects in the Source Object drop-down.

Source Object

The Source Object drop-down lists all available objects for the selected Category that you can read from.


The Endpoint drop-down lists all available rest endpoints for the selected object.

Batch Size

The Batch Size lets you specify how many records to retrieve per service call to Shopify.

Note: Some objects do not support batch size, so this option will become disabled.

Output Time Zone

The Output Timezone option lets you specify how all datetime fields should be retrieved. Available options are:

  • UTC
  • Local
LinkId Mode

The LinkId Mode option allows you to specify how _LinkIId field should be populated. The _LinkId field is a special column that is used to identify records in the parent output. During the runtime, the value of this field will go into the _{parentObjectName}._LinkId field of all this output's children. This is important for linking outputs with each other.

  • Implicit (RowIndex): a special field that contains the current count of this output node. This is useful as many times a JSON object will have no key field because relationships are defined hierarchically.
  • Explicit (Id): the _LinkId column will be populated with the Id of the parent record.
Filter Parameters

You can specify Filter Parameters so that the source component only returns those records that satisfy such filter parameters. If a filter parameter has a yellow asterisk beside it, it means the parameter is required and a value must be provided.

Note: Filter fields may vary from object to object depending on endpoints.

Refresh Component Button

Clicking the Refresh Component button causes the component to retrieve the latest metadata and update each field to its most recent metadata.

Expression fx Icon

Click the blue fx icon to launch SSIS Expression Editor to enable dynamic updates of the property at run time.

Generate Documentation Icon

Click the Generate Documentation icon to generate a Word document that describes the component's metadata including relevant mapping, and so on.

Columns Page

The Columns page of the REST Source Component shows you all available attributes from the endpoint that you specified on the General page. On this page, you can select the output whose columns you wish to configure in the top left drop-down.

SSIS Shopify REST Source - Columns

On the top left of the grid, you can see a checkbox, which can be used to toggle the selection of all available fields. This is a productive way to check or uncheck all available fields.

More Fields…

This button will open the Manage Additional Fields editor where you will be able to select additional outputs or fields from the returned object from the server.

REST Source Component - Manage Additional Fields

  • Expand All: This button will expand the tree view of all the fields under each object.
  • Collapse All: This button will collapse the tree view to only show the sub-objects of the returned JSON document.
  • View: This option enables you to view or hide the Details and Summary sections of the Manage Additional Fields editor.
  • Filter: This option allows you to only show checked or unchecked items and it can be used to filter the list of fields using a keyword.
  • Details section: This section displays the information of the selected field/output including the expected performance impact of the selected item if enabled.
  • Summary section: This section displays a summary of what will be added to the component in terms of secondary outputs or fields based on the selected items.
Manage Metafields
Add or remove metafields to read from it.
Shopify Source Component - Manage Metafields.png
Add: Clicking on this button brings up an Add Metafield window in which you can enter the details.
Shopify Source Component - Add Metafield.png
In order to work with Shopify metafields correctly, you need to make sure that the information you have provided about the namespace and key is absolutely correct. In the case when a new data type is provided to the same namespace and key that already exist in the system, it could result in data losses on those existing records. Note that adding or removing a field here is mostly about whether you will work with the fields during your ETL process, they are design-time features. The operation here does not involve actually creating or removing the fields in the system.
Remove: Click on this button to remove the metafield.
The Columns Page grid consists of:
  • REST Field: Column that will be retrieved from Shopify REST service.
  • Additional Field Details: An information icon will appear here if the column is special. Hover over the icon to see what makes the column special.
  • Data Type: The data type of this field.

Note: As a general best practice, you should only select the fields that are needed for the downstream pipeline components.