Developer Extensibility Guide
Introduction
Welcome to the Orderful for Netsuite Developer Extensibility Guide.
This document explains how developers can extend and customize the SuiteApp by integrating with its data flow stages. By understanding the data flow and available extension points, developers can adapt the SuiteApp to meet specific business needs.
This guide will cover:
- Overview of the connector data flow stages
- How to hook into each stage
- Input and output specifications for each stage
Overview
You can think of the Orderful for Netsuite app as having two distinct directional flows:
inbound -transactions from the Orderful platform into Netsuite
outbound - transactions going from Netsuite into the Orderful platform
The these flow process data through the following stages:
- Input Stage – Data is received from an HTTP REST call (inbound) or a Netsuite triggered event (outbound).
- Data Aggregation – Input data is prepared and supporting data is fetched (e.g. Customer records, related Item data etc).
- Mapping Stage – Data is mapped to from the source to the target
- Result Stage – Results are send as an EDI transaction to Orderful (outbound) or create/update a record in Netsuite (inbound)
For example the inbound flow can be visualized like this:
Meanwhile the outbound flow can be thought of like this
Below is a detailed description of each stage and any extension points for developers to modify the behavior.
Input Stage
This stage is straight forward in that there's little business logic and it serves to begin the workflow.
Inbound
EDI transactions from the Orderful platform are received and begin the flow. They are received one at a time.
Outbound
A Netsuite object is created and/or modified and begins the flow.
Data Aggregation Stage
This stage is where additional information is gathered and decorated in order to ensure everything is available for mapping. If there is consolidation happening, related objects (e.g. other invoices) happen here.
Coming Soon
This is an area of extensibility currently under development
Mapping Stage
This stage can be configured in a self-service, per customer manner using our JSONata engine.
JSONata is a powerful JSON transformation and query language. It works by having input JSON, a JSONata transformation expression and creating an output.
You can learn more about JSONata here.
You can see an example of a mapping transformation here.
Result Stage
Similar to the input this stage is straight forward and without customization.
Inbound
The Netsuite Object (e.g. Sales Order) is created or updated
Outbound
An EDI transaction is sent to the Orderful platform
Updated 8 days ago