Appearance
Endpoint Relationships
Additional Endpoints can be added as a Child Endpoint or as a Dependent Publisher.
Child Endpoints
A Child Endpoint can be added to a Parent Endpoint to establish a hierarchy of data, such as a sales order that has line items or a project that includes multiple resources. In some cases, you can save and query child records with the parent; and in those instances, you can nest the maps of the children inside the parent (see the Action Mapping section for Looping Lists). However, in other cases the data retrieval or save must happen separately per the API specifications, which is when Child Endpoints can be used.
A Child Endpoint enables data to be pulled from different locations within the same system, using the same Endpoint. For example, if you establish an endpoint to pull sales order data, but the header data and the line-item data are stored in different locations, you can set up one or more Child Endpoints so that all of the needed data is pulled within a single endpoint. When Central goes to either retrieve or save that order's data, it will also include any Child Endpoints to ensure data is read/written appropriately.
A Child Endpoint functions the same way that the Parent Endpoint functions. In a read action, the Primary Key of the parent is "passed" into the Child Endpoint's configuration to query all of the children (see the Action Mapping section for Parameterization). In a save action, the parent will loop and call that save action for each Child Endpoint, for each child entity that was received on the message payload. Each Child Endpoint must be set up and mapped using the same steps as the Parent Endpoint.
Dependent Publishers
Dependent Publishers are used when the synchronization between two different types of entities is contingent on one another. For example, synchronizing a sales order is typically related to a customer that will eventually be sent a bill. So, you likely cannot create the sales order until the associated customer has been synchronized first. In this scenario, you would have an Endpoint as a publisher for the customer data, and that Endpoint would have a Dependent Publisher for the sales order to ensure that Central does not attempt to synchronize a sales order until the customer dependency has been synchronized first.
Additionally, in some cases you may want to publish a message for data that has been deleted, so that other systems can also delete or deactivate that data. You can set up a Delete Publisher in a similar way, but with a couple of important notes:
WARNING
Delete Publishers must be set up as a Dependent Publisher for the Endpoint that publishing the data begins with. It is important to note that the Delete Publisher and the Delete Subscriber must have the same Transaction Type as their parent.
WARNING
When adding a Delete Publisher to any subscribing Endpoints, you must both set the Support Operations of the Endpoint to support deletes and you must configure the delete action to execute the delete.
Add a Child Endpoint
NOTE
Once created, a Child Endpoint must be configured like any other Endpoint. By default, in a publish all child records will be loaded individually. If a system requires them to be loaded all at once, you can toggle "Load All Children Together" in the Edit Endpoint Dialog box.
Select Build > Data Hubs from the main menu.
Select the appropriate Data Hub; then, select the appropriate parent Endpoint.
TIP
You can also select the Endpoint menu icon > Edit to navigate to the same screen.
Select the Relationships drop-down menu; then, select Add Child Endpoint.
Enter a Name and select a Data Model to link.
NOTE
Only Schemas associated with the selected Endpoint will be selectable.
Select Save.
Add a Dependent Publisher
NOTE
Once created, a Dependent Publisher must be configured like any other Endpoint.
Select Build > Data Hubs from the main menu.
Select the appropriate Data Hub; then, select the appropriate parent Endpoint.
TIP
You can also select the Endpoint menu icon > Edit to navigate to the same screen.
Select the Relationships drop-down menu; then, select Add Dependent Publisher.
Follow the instructions in the Add Endpoints to a Data Hub section, starting with step 4.
See Also
- Building Data Hubs — Create Data Hubs and add endpoints
- Endpoint Configuration — Configure endpoint action inputs
- Action Mapping — Map endpoint actions including Looping Lists for child data
- Endpoint Settings — Configure endpoint processing behavior