For Enterprise level commodity trading operations, a fundamental requirement is to share data across a variety of systems, for example risk, financial or CRM.
Data Modify Service (DMS) is a powerful REST compliant API interface enabling you to create, amend or remove ITAS data using a simple query language (GraphQL).
Create your own 'mutations' around specific Entity-based requests to trigger data import/upload processes.
* ITAS Database tables require mapping to Data Entities before they can be used via this service
DMS has the ability to Create, Update or Delete data for a single record, or Update and Delete multiple records based on an OData based filter. The request body is of Content-Type plain/text, but is in a format that is based on Json.
For Create and Update requests, the first section (Input body) outlines the properties and their values which need inserting or updating. The second section (Response body) outlines which properties you require to be returned with their values in the response. For Delete requests, they key of the entity you wish to delete is entered into the odata filter, and the body section of the request outlines which properties you require to be returned with their values in the response.
Example Create Request
mutation { CreateDepartment(Input: { DepartmentId : "ABCD" DepartmentDescription : "Department ABCD" CountryId : "GB" TradingEntityId : "JT" }) { DepartmentId DepartmentDescription } } |
Example Update Request
mutation { UpdateDepartments(TradingEntityId: "JT", Filter: "DepartmentId eq 'ABCD'", Input: { DepartmentDescription : "ABCD Department" }) { DepartmentId DepartmentDescription } } |
Example Update Multiple Records Request
mutation { UpdateDepartments(TradingEntityId : "JT", Filter : "startswith(DepartmentDescription, 'AB') eq true", Input: { DepartmentDescription : "AB Group Depts" }) { DepartmentId DepartmentDescription } } |
Example Delete Request
mutation { DeleteDepartments(TradingEntityId : "JT", Filter: "DepartmentId eq 'ABCD'") { DepartmentId DepartmentDescription } } |
Example Delete Multiple Records Request
mutation { DeleteDepartments(TradingEntityId: "JT", Filter: "startswith(DepartmentDescription, 'AB') eq true") { DepartmentId DepartmentDescription CountryId } } |
Full Documentation OData queries can be found here. Link
The Security through JWT type Bearer Tokens, is the same as we have been using for the ITAS API. The OWIN Open Source specification and Katana components are built and released by Microsoft. This is highly secure as the tokens are not held in config and enable Role-based authentication.
Applying the security is fairly simple as clients just need to include a header with every request, called "Authorization" with a value of "bearer" plus the token provided by the Hivedome support team during registration.