Data Modify Service

Overview

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. 

The Benefits​

  • Create specific data uploads from any service, application or server in your environment
  • Virtually all 'core' ITAS data can be uploaded using this method *
  • Queries can be easily manipulated 'on the fly'
  • No need to wait for a dedicated API to be built for your unique query
  • Obviate the need to directly access the ITAS database and invalidate the licence
  • Bypasses traditional 'flat file' approaches and directly hits the ITAS Business Logic Layer (BLL)

* ITAS Database tables require mapping to Data Entities before they can be used via this service 

How to Construct a Request

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

   }

 }

 

OData Support

Full Documentation OData queries can be found here. Link

 

Security

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.