Using the WordPress REST Source Component

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

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

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 WordPress REST Source

Connection Manager

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

Search

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.

Namespace

The Namespace drop-down lists available namespaces in the WordPress instance you are connecting to. Namespaces categorize objects and endpoints available from various plugins installed on the WordPress instance. For example, the WooCommerce plugin has a namespace of "wc - v3".

Note: If you plan to use any of the WooCommerce Namespaces (wc - v#) you should make sure the Connection Manager selected is using one of the WooCommerce Authentication Modes.

Source Object

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

Endpoint

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

Note: Only Endpoints under the wp - v# and wc - v# (WordPress and WooCommerce) namespaces are fully supported. Others may work if the plugin implements discovery correctly.

Endpoint Details

This is a read-only property that displays the Route and HTTP Method of the currently selected Endpoint.

Batch Size

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

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 WordPress 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.

SSIS REST Source - 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.
The Columns Page grid consists of:
  • REST Field: Column that will be retrieved from the Basecamp 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.