Endpoint provider
The endpoint provider of Dynamicweb allows for data integration through web services such as OData V4 APIs..
Data integration with the endpoint provider is executed by setting up integration activities that acces user defined endpoints.
Endpoints can be managed in Settings > Integration > Endpoint management. Chech out the Endpoint Management documentation for an extensive guide on managing endpoints and authentications.
The endpoint provider is designed to be used in conjunction with the OData provider for data integration with Dynamics 365 Business Central, Dynamics 365 Finance and Operations and Dynamics CRM. How-to guides on using the endpoint - and OData providers for data integration with Business Central can be found here.
Used as source provider
Using the endpoint provider as source is relevant for importing data from a web service.
Endpoint types
To import data with the endpoint provider, you must first select the type of endpoint you wish to consume data from. There are two distinct types of endpoint to chose from:
OData API |
The OData API type of endpoint is a general purpose integration tool that allows for manual mappings between any exposed OData source and any entity in the Dynamicweb database. An OData API integration is a fast and easily customizable way to import data to Dynamicweb. |
OData V4 - Business Central pre-config | The OData V4 setting of the endpoint provider is built specifically for data integration with Dynamics 365 Business Central. By using the OData V4 URL's of Business Central web services you can take advantage of predefined object type mappings for a seamless data integration. |
After selecting the apporiate type, simply select the predefined endpoint from the dropdown menu.
Loading single or multiple entities
The source settings checkbox "Load all entities" lets you choose between two fundamentally different approaches to importing data with the endpoint provider:
- To load all of the entities exposed in the metadata. This gives you the opportunity to manage mappings between multiple tables within a single data integration activity
- To specify the exact entity you wish to import in the source settings. This way you can create a quick single-purpose data integration activity. An integration activity specific to a single entity also enables the use of preconfigured mappings for OData v4 endpoints.
Autodetection and overriding
Upon selecting a predefined endpoint, the endpoint provider will autodetect the metadata URL of the web service.
Depending on the setup, the Entity name may also be autodetected - this is the case for OData v4 endpoints. In other cases, it is necessary to manually define both the Entity name and Entity set name. This is the case for single entity imports from OData API endpoints. For multi-entity imports, both these fields should be kept empty.
Any $filter or $select parameter added to the preconfigured endpoint will be visible in the source settings view and can be manually overridden.
Integration activity modes
When using the endpoint provider as source provider it is necessary to select a mode from the following four possibilities:
Delete | This mode compares primary keys between records in the endpoint and in Dynamicweb. Records in Dynamicweb that do not appear in the endpoint will be deleted. |
Delta replication |
By locating the time of the last succesful run this mode will import new records only. No records are deleted from Dynamicweb when this mode is used. Note: Delta replication converts all Datetime attributes to UTC-time to ensure correct comparison across timezones. |
First page | Imports the first page of records only. The maximum amount of records on a page is specified in the maximum page size setting. |
Full replication | This mode imports all records and deletes nothing in Dynamicweb. Activities with this mode should only be run once. |
The endpoint provider as source provider has the additional following parameters:
- Maximum page size: allows you to set the maximum number of records on each page, if the value is set to zero it will use the default page size of Business Central.
- Request timeout: Takes a value of minutes that sets a timer on how long the activity is allowed to run before it is automatically aborted.
Running last request locally
Whenever Dynamicweb makes a request to an endpoint it stores the response locally. Only the last response is saved though, so any stored response will be overwritten, when a new request is made.
If you want to execute an integration activity using the locally stored response instead of querying the endpoint you can check the "Run last request" checkbox at the bottom of the activity source settings page.
The activity will then check for a locally stored response file and if such a file exists it's content will be imported.
High water mark
Whenever an integration activty with the Endpoint provider as source and OData provider as desitnation catches an error, a HighWaterMarkFile is automatically created and saved locally.
When the activity is then run again, it will check the HighWaterMark path for records previously failed to be imported, and if it detects any, a process of importing these without calling the API will be initiated.
Since the endpoint provider iterates over each exposed object of the endpoint, it will store all records in the database that it sees before an error. This essentially means that the exposed records of the API will be split in two in case of an error: Succesfully imported records in the database and a list of records not succesfully imported in the HighWaterMarkFile.
Used as destination provider
Using an endpoint as destination provider is relevant for exporting data from Dynamicweb to an ERP through a dedicated web service.
To do so, use the OData provider as source provider and select the predefined endpoint in the integration activity destination settings.
The destination settings will vary depending on the object type intended for export - a complete documentation for exporting each specific object type can be found here.