Advanced master data export using the IBM Match 360 REST API
As an alternative method of exporting master data to a file, you can use the IBM Match 360 REST API. By using the export API, you can apply advanced options beyond the capabilities of the master data workspace's Search tab.
Use the export API to:
- Export entity data from a specified point in time instead of exporting the full data set.
- Include information about deleted entities since a specified point in time.
In this topic:
- Exporting master data from a specific point in time
- Exporting information about deleted records or entities
- Exporting master data by using the export API
Exporting master data from a specific point in time
The ability to refine exported data based on the last updated timestamps (entity_last_updated
or record_last_updated
) provides your organization with a way to more efficiently synchronize entity information
with downstream systems. Instead of having to resynchronize the full downstream data set, you can use a smaller exported data set that captures the changes since the last synchronization.
This capability also complements configurations that use ongoing data streaming to downstream systems. In case of streaming failures, you can now "catch up" your downstream entity data in a bulk manner so that changes made during a streaming downtime aren't lost.
Exporting information about deleted records or entities
When you export record or entity data from a specific point in time, you can also choose to include information about deleted records or entities since that time.
If you include information about deleted records or entities in your data export, the generated data file includes an additional column: isActive
. For deleted records or entities, the isActive
column has a value of
false
.
Deleted records only have values for the recordId
, recordType
, and recordLastUpdated
columns in the exported data. All other columns are blank.
Deleted entities only have values for the entityId
, entityType
, and entityLastUpdated
columns in the exported data. All other columns are blank.
Exporting master data by using the export API
To initiate a master data export job by using the REST API, use the data_exports
endpoint in the data-ms
microservice of IBM Match 360.
POST /mdm/v1/data_exports
The data_export
payload accepts the following parameters:
Parameter | Description |
---|---|
export_type |
The type of data being exported in this job: entity or record . If the include_deletes flag is true , then only entity is supported. |
file_name |
The name of the export file to be created. |
format |
The format of the exported data: CSV , TSV , or JSON . |
search_criterai.include_deletes |
Defines whether the exported data includes deleted entities: true or false . If this flag is true , then you must also include a query expression based on the enitity_last_updated field. |
search_criteria.joins |
Defines whether the exported data includes information about join actions: true or false . |
search_criteria.query |
Defines the list of expressions and the connection operator for this data export query. If the includes_deletes flag is true , then you must include a query expression based on the enitity_last_updated field, and cannot provide any other fields in the query. |
search_criteria.search_type |
The type of data to export: entity or record . If the entity type being exported is configured to persist in the database, or if the include_deletes flag is true , then only entity is supported. |
search_criteria.filters |
Define a filter for the export job. This limits the valid entity types in the exported file. For example, a value of person_entity will only export Person entities from the system. |
For example data_export
API payloads, see the Entity payload example and the Record payload example.
After running the data_export
API endpoint, you can monitor the progress of your export job by clicking the Jobs in progress icon in the master data configuration interface.
Entity data_export payload example
Here is an entity type example payload for the data_export
API with the include_deletes
flag set to true
:
{
"export_type": "ENTITY",
"format": "CSV",
"search_criteria": {
"query": {
"expressions": [
{
"property": "entity_last_updated",
"condition": "GREATER_THAN_EQUAL",
"value": "<timeForExport>",
"expressions": [
]
}
]
},
"filters": [
{
"type": "ENTITY",
"values": [
"person_entity"
],
"data_quality_issues": [
]
}
],
"joins": [
]
},
"file_name": "<filename>",
"include_deletes": true
}
Record data_export payload example
Here is a record type example payload for the data_export
API with the include_deletes
flag set to true
:
{
"export_type": "RECORD",
"format": "CSV",
"search_criteria": {
"query": {
"expressions": [
{
"property": "record_last_updated",
"condition": "GREATER_THAN_EQUAL",
"value": "<timeForExport>",
"expressions": []
},{
"property": "record_source",
"condition": "equal",
"value": "<recordSource>"
}
],
"operation": "and"
},
"filters": [
{
"type": "RECORD",
"values": [
"person"
],
"data_quality_issues": []
}
],
"joins": []
},
"file_name": "<filename>",
"include_deletes": true
}
Persisted entity type payload example
Here is an example payload for when the entity type is configured to persist in the database:
{
"file_name": "PersonEntity",
"format": "csv",
"search_criteria": {
"search_type": "entity",
"query": {
"operation": "and",
"expressions": [{
"value": "*"
}]
},
"filters": [{
"type": "entity",
"values": ["person_entity"]
}]
},
"export_type": "entity"
}
Learn more
Parent topic: Exporting master data from IBM Match 360