Mappings
Overview
Successfully implementing a Baseline process relies heavily on arbitrary data models from disparate systems of record having similar data structures. Mappings enables persistent data alignment through a collection of RESTful API interfaces that allow a developer to define and maintain Mapping
, MappingModel
and MappingField
objects as they relate to external data structures within a baseline workgroup.
Application
Mappings should be used by participants in a Workgroup
taking part in a Workflow
to align the data used in a Workstep
. A Mapping
is referenced as a domain model when defining a Workstep
within a draft Workflow
. They are utilized at run-time upon WorkstepInstance
instantiation to align data models between a primary and secondary system of record. This alignment is paramount in the processes involved in a baseline process, such as zero-knowledge state synchronization.
Mappings created through the API are used to dynamically generate mapping tables that are stored in a postgres database within the provide stack (local, hybrid or cloud). Input and output that conforms to the MappingModel
defined in a Mapping
within a domain model is referenced in a Workstep
.
Fundamentals
Schema
A mapping is a hierarchically structured object that contains the information necessary to process and align data elements (fields) between two disparate data models. Mappings are composed of three distinct components:
A
Mapping
object that provides context for a nested array ofMappingModel
objectsA
MappingModel
object that provides context for a nested array ofMappingField
objectsA
MappingField
object that defines field attributes and relationships between the source and a target schema
All objects and related tables within a mapping are programmatically generated from the data included in the request. Mapping
, MappingModel
and MappingField
objects do not have separate endpoints.
Mapping
Schema
Mapping
SchemaField | Type | Description |
---|---|---|
| string | brief descriptor of |
| array | array of |
| string | name of |
| uuid | reference identifier that associates a |
| string | type of |
| uuid |
|
MappingModel
Schema
MappingModel
SchemaField | Type | Description |
---|---|---|
| string | brief descriptor of |
|
| array of |
| string | field that serves as the primary key for the record type |
| uuid | reference identifier that associates a |
| string | standard |
| string | native data type within the reference system of record; i.e. Invoice |
MappingField
Schema
MappingField
SchemaField | Type | Description |
---|---|---|
| string | default value for the field |
| string | brief descriptor of field |
| boolean | when |
| string | name of field |
| uuid | reference identifier that associates a |
| string | native data type within the reference system of record; i.e. Total Qty |
Using Mappings
Prerequisites
The Mappings API is intended to function within the context of an Organization
acting as a Participant
in a Workgroup
.
Within this context, it is assumed that:
an
Organization
scoped JWT is available for useOrganization
has connected a system of record (the SOR to be mapped)Workgroup
has more than 1 system of record connecteddestination SOR data structure is known
origin SOR data structure is known
API Requests
List Mappings
Returns a list of mappings
List Mappings
GET
https://baseline.provide.services/api/v1/mappings
Returns a list of Mapping
records within the authorized scope
Headers
Name | Type | Description |
---|---|---|
authorization* | string | bearer <JWT> scoped to an |
Create Mapping
Create Mapping
POST
https://baseline.provide.services/api/v1/mappings
Creates a Mapping
from the included parameters
Headers
Name | Type | Description |
---|---|---|
authorizaton* | string | bearer <JWT> scoped to an organization |
Request Body
Name | Type | Description |
---|---|---|
name* | string | name of |
desciption | string | description of |
workgroup_id* | uuid |
|
type* | string | type of |
models* | array | array of |
ref_mapping_id | uuid | reference identifier that associates a |
Update Mapping
Update Mapping
PUT
https://baseline.provide.services/api/v1/mappings/:id
Updates a Mapping
using the included parameters
Path Parameters
Name | Type | Description |
---|---|---|
id* | uuid |
|
Headers
Name | Type | Description |
---|---|---|
authorizaton* | string | bearer <JWT> scoped to an organization |
Request Body
Name | Type | Description |
---|---|---|
name | string | name of |
desciption | string | description of |
workgroup_id | uuid |
|
type | string | type of |
models | array | Array of |
Delete Mapping
Delete Mapping
DELETE
https://baseline.provide.services/api/v1/mappings/:id
Deletes a specified Mapping
.
Headers
Name | Type | Description |
---|---|---|
authorization* | string | bearer <JWT> scoped to an organization |
Last updated