0% found this document useful (0 votes)
95 views64 pages

MDM Public API CookBook (Feb 2023)

Uploaded by

Prashant Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views64 pages

MDM Public API CookBook (Feb 2023)

Uploaded by

Prashant Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 64

February 2023

MDM Public API


Public API (Recent Innovations)
• Search • Ingress
- Elastic Search • Match & Merge
- Advanced Search • Egress
- Search Match
• Business Entity Master APIs – GET, PUT, PATCH, POST, DELETE
- Get Master BE using XREF source details
- See the content Meta Data of the Master and XREF
- Read Source records of a Master
• Business Entity XREF APIs – GET, PUT, PATCH
• Relationship (Hierarchy relationships ) APIs
• Merge / UnMerge APIs
• MDM Job Instance

- Get Job Details


- Search & Filter Job
- Create Job Instance

2 © Informatica. Proprietary and Confidential.


Public API
Current Innovations

• Create Master and XREF using Source Last Updated Date

• Update Source Records using Source Last Updated Date

3 © Informatica. Proprietary and Confidential.


Public API Help

4 © Informatica. Proprietary and Confidential.


IICS Login
Public Business Entity APIs : Login to IICS
• In-order for customers to use Public API IICS Login and Logout API are required to be used
- https://informatica-pod.com/saas/public/core/v3/login
- https://informatica-pod.com/saas/public/core/v3/logout

User Persona: Authorized License Access

6 © Informatica. Proprietary and Confidential.


Search APIs
Elastic Search
Search APIs
• Search Public API – MDM Search Public
API is available for customers using the
end point
- https://informatica-
pod.com/search/public/api/v1/search
E.g., POST https://use4-mdm.dm-
us.informaticacloud.com/search/public/api/v1/search

• In-order for customers to use Search Public


API IICS Login and Logout API are required to
be used
- https://informatica-pod.com/identity-
service/api/v1/Login
- https://informatica-pod.com identity-
service/api/v1/Logout

User Persona: Authorized License Access

8 © Informatica. Proprietary and Confidential.


Search API - Points to Note
• Search returns the results in a Fuzzy search
• For example, searching "blue sky" returns a fuzzy search with records “light blue
sky”, “blue”, “sky”, “blue sky”, “blue skies” “blue moon”.
• To search for exact string, use ”\”blue sky\”" will return record “blue sky”
• Search API works the same way as the Customer 360 Search

User Persona: Authorized License Access

9 © Informatica. Proprietary and Confidential.


Advanced Search APIs (Field Search)
• Search Public API can further be enhanced to have “field” search as well using the body parameter
“fields”

User Persona: Authorized License Access

10 © Informatica. Proprietary and Confidential.


Advanced Search APIs (Field Search) – Points to note
• Search can use either “search” or “fields” in the request body but not both

User Persona: Authorized License Access

11 © Informatica. Proprietary and Confidential.


Search Match APIs
Public APIs : Search Match APIs
• Performs Real-time matching
• API fetches records based on match model configurations
- User can provide match model name or select any of the published match models as default model to be used by API
- User can provide only the values of the attributes he has, and API can internally use appropriate match rules from
available match models to fetch matching records

• Format (with input match model): <baseApiUrl>/match-ng-pair-


gen/public/api/v1/searchmatch/<businessEntity>?matchmodel=<matchModelId>&version=<matchModelVersion>

• Example: POST https://qa-pod1-mdm.mrel.infaqa.com/match-ng-pair-


gen/public/api/v1/searchmatch/c360.person?matchmodel=060b18de-26f2-4007-b1d0-466ba61fee16&version=1

• Format (without input match model): <baseApiUrl>/match-ng-pair-gen/public/api/v1/searchmatch/<businessEntity>

• Example: POST https://qa-pod1-mdm.mrel.infaqa.com/match-ng-pair-gen/public/api/v1/searchmatch/c360.person

13 © Informatica. Proprietary and Confidential.


Public APIs : Search Match

14 © Informatica. Proprietary and Confidential.


Public APIs : Search Match

User Persona: Authorized License Access

15 © Informatica. Proprietary and Confidential.


Public APIs : Search Match – Points to Note
• The matchModelId and
matchModelVersion can be found on the
match screen in config UI
• The config UI for match models screen
has an option to select Default Model for
the Search Match API

16 © Informatica. Proprietary and Confidential.


Business Entity APIs
Master
Public APIs : Business Entity Master APIs
• Read Master record – GET
• Read Source Records of Master - GET
• Create Master record – POST
• Modify Master record - PUT, PATCH
• Delete Master record – DELETE

<baseAPIURL>/business-entity/public/api/v1/entity/<businessEntity>

18 © Informatica. Proprietary and Confidential.


Public APIs : Master Read (GET - by business id)
• Read the master business entity using GET
- Read : https://informatica-pod.com/business-
entity/public/api/v1/entity/<businessEntity>/<bu
sinessId>

• Use “?_showContentMeta=true” at the end of the


URL endpoint to get the trust score details

E.g., GET https://qa-pod1-mdm.mrel.infaqa.com/business-


entity/public/api/v1/entity/c360.person/298672866969679848732812
91214?_showContentMeta=true

User Persona: Authorized License Access

19 © Informatica. Proprietary and Confidential.


Public APIs : Master Read (GET – using source )
• Read Get the Master Business Entity using
Source XREF details
- Read : https://informatica-pod.com/business-
entity/public/api/v1/entity/<businessEntity>/<so
urceSystem>/<sourcePKey>

• Use “?_showContentMeta=true” at the end of the


URL endpoint to get the trust score details

E.g., GET https://qa-pod1-mdm.mrel.infaqa.com/business-


entity/public/api/v1/entity/c360.person/c360.default.system/9

User Persona: Authorized License Access

20 © Informatica. Proprietary and Confidential.


Public APIs : Read Source Records(Get Entity Members)
• Read the source records of a master record
- Read : https://informatica-pod.com/business-entity/public/api/v1/entity-member/c360.person/<businessId>

E.g., GET https://qa-pod1-mdm.mrel.infaqa.com/business-entity/public/api/v1/entity-member/c360.person/MDM000005NM9HB

User Persona: Authorized License Access

21 © Informatica. Proprietary and Confidential.


Public APIs : Master Create (POST)
• Create a Master Business Entity (sourcePKey is optional and if not passed gets created automatically)
• In case if a workflow is setup then the response will have “approvalRequired”:true

Format: https://informatica-pod.com/business-entity/public/api/v1/entity/<businessEntity>?sourceSystem=<system>[&sourcePKey=<pkey>]

Sample Payload :

User Persona: Authorized License Access

22 © Informatica. Proprietary and Confidential.


Public APIs : Master Create (POST)
E.g., POST https://qa-pod1-mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity/c360.organization?sourceSystem=c360.default.system&sourcePKey=89

Payload:
{
"name": "Organization API2",
"numberOfEmployees": 12,
"companyType": {
"Code": "Chartered"
},
"dateOfIncorporation": "2021-06-01",
"TaxDetail": [
{
"taxNumberType": {
"Code": "ITIN"
},
"taxNumber": "12"
}
]
}

User Persona: Authorized License Access

23 © Informatica. Proprietary and Confidential.


Public APIs : Master Update (PATCH)
• Updates a Master Business Entity
• In case if a workflow is setup then the response will have “approvalRequired”:true
Format : https://informatica-pod.com/business-entity/public/api/v1/entity/<businessEntity>/<businessid>?sourceSystem=<system>

Sample Payload :

User Persona: Authorized License Access

24 © Informatica. Proprietary and Confidential.


Public APIs : Master Update (PATCH)
E.g., PATCH https://qa-pod1-mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity/c360.organization/30023301474850722558274978850?sourceSystem=c360.default.system

Sample Payload :
[
{
"op": "replace",
"path": "name",
"value": "jacob"
},
{
"op": "replace",
"path": "lastName",
"value": "Bejoy"
}
]

User Persona: Authorized License Access

25 © Informatica. Proprietary and Confidential.


Public APIs : Master Update (PUT)
• Updates a Master Business Entity
• In case if a workflow is setup then the response will have “approvalRequired”:true
Format : PUT https://informatica-pod.com/business-entity/public/api/v1/entity/< entity internal
id>/<businessid>?sourceSystem=<system>

User Persona: Authorized License Access

26 © Informatica. Proprietary and Confidential.


Public APIs : Master Update (PUT) – Points to note
• PUT does not delete fields. E.g. If the user passes FirstName and doesn’t pass MiddleName
then it is not deleted.
• PUT requires all the Mandatory fields to be passed.

User Persona: Authorized License Access

27 © Informatica. Proprietary and Confidential.


Public APIs : Master Delete (DEL)
Format : https://informatica-pod.com/business-entity/public/api/v1/entity/<entity name>/<businessid>?sourceSystem=<system>

User Persona: Authorized License Access

28 © Informatica. Proprietary and Confidential.


Business Entity APIs
Source /XREF
Public APIs : Business Entity Source APIs
• Read Source record - GET
• Modify Source record - PUT, PATCH
<baseAPIURL>/business-entity/public/api/v1/entity-xref/<businessEntity>/<source-
system>/<source Pkey>

Known Limitations
• Delete Source record is not supported

30 © Informatica. Proprietary and Confidential.


Public APIs : Source(XREF) Read (GET)
• Read the XREF business entity using GET
Format : https://informatica-pod.com/business-
entity/public/api/v1/entity-
xref/<businessEntity>/<source-system>/<source
Pkey>

E.g., GET https://qa-pod1-mdm.mrel.infaqa.com/business-


entity/public/api/v1/entity-
xref/c360.person/c360.default.system/ex6081a3f827ae644
9718203d8

User Persona: Authorized License Access

31 © Informatica. Proprietary and Confidential.


Public APIs : Source(XREF) Update (PUT)
• Updates the XREF business entity
using PUT
Format : <baseApiUrl>/business-
entity/public/api/v1/ entity-
xref/c360.person/<source-
system>/<sourcePKey>

E.g., PUT https://qa-pod1-


mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
xref/c360.person/microsoft/kr_002

User Persona: Authorized License Access

32 © Informatica. Proprietary and Confidential.


Public APIs : Source(XREF) Update (PUT) - Points to
note
- Unlike Master API for PUT, Source PUT API delete fields. E.g. If the user passes
FirstName and doesn’t pass MiddleName is deleted.
- PUT requires mandatory fields of the business entity to be passed

User Persona: Authorized License Access

33 © Informatica. Proprietary and Confidential.


Public APIs : Source(XREF) Update (PATCH)
• Updates the XREF business entity using
PUT
Format : <baseApiUrl>/business-
entity/public/api/v1/ entity-
xref/c360.person/<source-
system>/<sourcePKey>

E.g., PATCH https://qa-pod1-


mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
xref/c360.person/microsoft/kr_002

User Persona: Authorized License Access

34 © Informatica. Proprietary and Confidential.


Business Entity APIs using
Source LUD
Master/Source
Public APIs : Source(XREF) Update (PATCH) with source LUD
• Updates the XREF business entity using
PATCH
Format : <baseApiUrl>/business-
entity/public/api/v1/ entity-
xref/c360.person/<source-
system>/<sourcePKey>

E.g., PATCH https://qa-pod1-


mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
xref/c360.person/microsoft/kr_002

User Persona: Authorized License Access

36 © Informatica. Proprietary and Confidential.


Source(XREF) Update (PUT) with source LUD
• Updates the XREF business entity using
PUT
Format : <baseApiUrl>/business-
entity/public/api/v1/ entity-
xref/c360.person/<source-
system>/<sourcePKey>

E.g., PUT https://qa-pod1-


mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
xref/c360.person/microsoft/kr_002

User Persona: Authorized License Access

37 © Informatica. Proprietary and Confidential.


Relationship APIs
Public APIs : Relationship APIs
• Filter Relationships (using FROM, TO)
• Read Relationships - GET
• Create Relationships – POST
• Modify Relationships - PUT
• Delete Relationships – DEL
<baseAPIURL>/business-entity/public/api/v1/relationship/<relationshipInternalID>?
sourceSystem=<sourceSystem>
For hierarchy relationships
<baseApiURL>/public/api/v1/relationship/<relationship_Internal_ID>?
sourceSystem=<sourceSystem>[&hierarchyType=....&hierarchyId=]

39 © Informatica. Proprietary and Confidential.


Public APIs : Relationship Filter (POST)
• Filter the relationship for a
business entity record
Format : <baseApiUrl>/business-
entity/public/api/v1/relationship/
<relationshipInternalID>/filter

E.g., POST https://qa-pod1-


mdm.mrel.infaqa.com/business-
entity/public/api/v1/relationship/c360_p
erson_to_c360_organization/filter

User Persona: Authorized License Access

40 © Informatica. Proprietary and Confidential.


Public APIs : Relationship Read (GET)
• Read the relationship details
between two business entity
records
Format : <baseApiUrl>/business-
entity/public/api/v1/relationship/<relatio
nshipInternalID>/
<relationshipbusinessID>?_showContent
Meta=true

E.g., GET https://qa-pod1-


mdm.mrel.infaqa.com/business-
entity/public/api/v1/relationship/colleague_o
f/30142770971179375003667162584?_show
ContentMeta=true

User Persona: Authorized License Access

41 © Informatica. Proprietary and Confidential.


Relationship Create / Update / Delete API - Points to Note
• The relationship businessID can be taken from Filter API
• The relationship attributes should be created by the MDM designer in Business 360.
• Relationship API would need the Internal Id/GUID for the Relationship Name and
attributes used. In order to get the internal ID/GUID, the metadata API needs to be
used.
- <baseApiUrl>/metadata/api/v2/objects/tenantModel/datamodel
- For example, in the below hierarchy, to get the internal id for relationship “Work for” and name of the
label “Employee Number

User Persona: Authorized License Access

42 © Informatica. Proprietary and Confidential.


Relationship Create / Update / Delete API - Points to Note
- E.g. GET https://qa-pod1-mdm.mrel.infaqa.com/metadata/api/v2/objects/relationship/?_limit=1000&name=Work+for

2
3

User Persona: Authorized License Access

43 © Informatica. Proprietary and Confidential.


Relationship Create / Update / Delete API - Points to Note
FRS Relationship

User Persona: Authorized License Access

44 © Informatica. Proprietary and Confidential.


Relationship Create / Update / Delete API - Points to Note
Hierarchy Relationship

User Persona: Authorized License Access

45 © Informatica. Proprietary and Confidential.


Relationship Create / Update / Delete API - Points to Note
For hierarchy relationships Hierarchy Relationship
<baseApiURL>/public/api/v1/relationship/<relationship_Internal_ID>?
sourceSystem=<sourceSystem>[&hierarchyType=....&hierarchyId=]
hierarchyId

hierarchyType

User Persona: Authorized License Access

46 © Informatica. Proprietary and Confidential.


Public APIs : Relationship Create (POST)
• Creates relationship between two
business entity records
Format : <baseApiUrl>/business-
entity/public/api/v1/relationship/<relatio
nshipInternalID>?sourceSystem=<source-
system>

E.g., POST https://qa-pod1-


mdm.mrel.infaqa.com/business-
entity/public/api/v1/relationship/colleague_
of?sourceSystem=c360.default.system

User Persona: Authorized License Access

47 © Informatica. Proprietary and Confidential.


Public APIs : Relationship Update (PUT)
• Updates the relationship attributes of a
relationship
Format : <baseApiUrl>/business-
entity/public/api/v1/relationship/<relationshipInt
ernalID>/<relationshipbusinessID>?sourceSyste
m=<source-system>

E.g., PUT https://qa-pod1-


mdm.mrel.infaqa.com/business-
entity/public/api/v1/relationship/c360_person_to_c3
60_organization/30142897977872859812471516245
?sourceSystem=c360.default.system

User Persona: Authorized License Access

48 © Informatica. Proprietary and Confidential.


Public APIs : Relationship Delete (DEL)
• Delete an existing relationship
Format : <baseApiUrl>/business-
entity/public/api/v1/relationship
/<relationshipbusinessID>?sourceSystem=
<source-system>

E.g., DELETE https://qa-pod1-


mdm.mrel.infaqa.com/business-
entity/public/api/v1/relationship/colleague_
of/30142786670219119049037064968?sour
ceSystem=c360.default.system

User Persona: Authorized License Access

49 © Informatica. Proprietary and Confidential.


Merge / Un-Merge APIs
Public APIs : Merge and Un-Merge APIs
• Merge Business Entity Records
- Using Source Pkey and Source System
- Using Business Id of Master
• UnMerge Records
- Using Source Pkey and Source System
<baseAPIURL>/business-entity/public/api/v1/entity-group/<businessEntity>

Known Limitations
• Merge upto 10 records in one API request

51 © Informatica. Proprietary and Confidential.


Public APIs : Merge records
• Merge master records into one
master record

• Merge can be done using


- Source Primary Key and Source
System
- Using Business Id of Master record

Format : <baseApiUrl>/business-
entity/public/api/v1/entity-
group/<businessEntity>

E.g., POST https://qa-pod1-


mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
group/c360.person

User Persona: Authorized License Access

52 © Informatica. Proprietary and Confidential.


Public APIs : Merge records

User Persona: Authorized License Access

53 © Informatica. Proprietary and Confidential.


Public APIs : UnMerge records
• UnMerge a source record from the
master Record

• UnMerge can be done using


- Source Primary Key and Source
System

Format : <baseApiUrl>/business-
entity/public/api/v1/entity-
group/<businessEntity>/<businessID>

E.g., POST https://qa-pod1-


mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
group/c360.person/30144671469908735024
405177548

User Persona: Authorized License Access

54 © Informatica. Proprietary and Confidential.


Jobs APIs
Search
Public APIs : Jobs APIs
• Read Job
- Read Job with Details
• Create Job
- Ingress
- Match &Merge
- Egress

• Search & Filter Job - POST

<baseAPIURL>/job/public/api/v1/jobInstance/<jobInstanceId>

56 © Informatica. Proprietary and Confidential.


Public APIs : Read Job
• Get MDM Job Details
- Get the Job Overview
- Get Details with Steps by passing
optional parameter “details=true”
Format :
<baseAPIURL>/job/public/api/v1/jo
bInstance/<jobInstanceId>?details=t
rue

E.g., GET https://qa-pod1-


mdm.mrel.infaqa.com/job/public/api/
v1/jobInstance/702148631633231872
?details=true

User Persona: Authorized License Access

57 © Informatica. Proprietary and Confidential.


Public APIs : Create Job (Ingress)
• Create a Job Instance for
Ingress
- Create a Job instance based on
Job definition
Format :
<baseAPIURL>/job/public/api/v1/jo
bInstance/Ingress

E.g., POST https://qa-pod1-


mdm.mrel.infaqa.com/job/public/api/
v1/jobInstance/Ingress

User Persona: Authorized License Access

58 © Informatica. Proprietary and Confidential.


Public APIs : Create Job (Match & Merge)
• Create a Job Instance for Match
& Merge
- Create a Job instance based on
Job definition
Format :
<baseAPIURL>/job/public/api/v1/jo
bInstance/MatchMerge

E.g., POST https://qa-pod1-


mdm.mrel.infaqa.com/job/public/api/
v1/jobInstance/MatchMerge

User Persona: Authorized License Access

59 © Informatica. Proprietary and Confidential.


Public APIs : Create Job (Egress)
• Create a Job Instance for Egress
- Create a Job instance based on
Job definition
Format :
<baseAPIURL>/job/public/api/v1/jo
bInstance/Egress

E.g., POST https://qa-pod1-


mdm.mrel.infaqa.com/job/public/api/
v1/jobInstance/Egress

User Persona: Authorized License Access

60 © Informatica. Proprietary and Confidential.


Create Job API - Points to Note
• Job Definition needs to be created in Business 360 as a prerequisite
• Egress Job Instance parameters cannot be overwritten and works as defined from
Job definition

User Persona: Authorized License Access

61 © Informatica. Proprietary and Confidential.


Public APIs : Search & Filter Job
• Search & Filter MDM Jobs
- Search the Jobs
- Filter the Jobs using Job Type, Name
and Job State
Format :
<baseAPIURL>/job/public/api/v1/search

E.g., POST https://qa-pod1-


mdm.mrel.infaqa.com/job/public/api/v1/s
earch

User Persona: Authorized License Access

62 © Informatica. Proprietary and Confidential.


Try Outs – POSTMAN COLLECTION
POSTMAN Collection

User Persona: Authorized License Access

63 © Informatica. Proprietary and Confidential.


Thank you

Bejoy Jacob
Product Manger, Informatica

You might also like