Stage 5: Review, update & test process flows (Shopify & NetSuite)

Introduction

Having installed the Shopify & NetSuite blueprint, process flows are pre-configured and ready for you to review and test.

Some general considerations for review are noted below. However, given that NetSuite is highly customisable, some adjustments may be needed to meet your specific requirements. Out of the box, flows provide base functionality/logic, but you may need to update (for example) mappings and/or scripts if your setup varies.

Process flows are described in the Available process flows section, including guidelines for shapes and configuration that can be changed.

General considerations for review

The following items should be considered when reviewing any process flows associated with this blueprint:

Error handling for Shopify GraphQL

Most flows installed via the Shopify & NetSuite blueprint follow a try/catch design for high-level error handling. Typically, a shape will fail if it does not receive a payload and it's this that triggers try/catch to 'catch' and raise a notification.

However, if a Shopify GraphQL connector fails to retrieve data, a payload is still returned, albeit containing an error message or error data - for example:

As such, a 200 (success) response is returned, and the logic for triggering a failure notification is bypassed. With this in mind, you may wish to include additional error handling throughout your process flows. For example, at the end of a flow (and/or at the end of any branches where data is expected for the next branch), add a route shape. From here, define one route for 'no errors' (no further action) and another for 'errors' (notify):

Here, if the route shape does not receive a payload, we know that the final, target connector didn't either, and the error route is followed. Otherwise, the flow/branch completes down the no errors route. You'll find an example of this at the end of the Shopify > NetSuite - sync locations process flow. You can implement this - or something similar with your own routing logic - throughout other flows as needed.

NetSuite SKU mappings

Where Shopify SKUs need to be compared or mapped to items in NetSuite, it is assumed that the comparable value is stored in NetSuite's upccode field. If you use a different field, you will need to update shapes accordingly.

Connection pools

NetSuite uses concurrency limits to determine the number of requests that can be made simultaneously - exceeding a concurrency limit can result in delays, throttling, or errors (depending on the system).

With this in mind, you may wish to define connection pools and apply them in NetSuite connector shapes.

For more information, please refer to our Connection pools documentation.

Last updated

Was this helpful?