Hi Jonathen,
I am currently in Physical data model development and trying to connect the sequence of APIs to populate DB. The data is coming from APIs and we are storing them in relational DB (an EDWH).
Regarding this topic, my understanding is that PartyRole created here for Customer comes from TMF669 in relatedParty construct (@referredType + id + role). Simultaneously, the association between RartyRole and Customer is referred in TMF629 as engagedParty (@referredType + id).
(Please correct me if the codes are allowed here or not)
Following are the example of PartyRole and Cisutomer samples to support my question.
-- TMF669 - PartyRole sample
{
"@type": "PartyRole",
"href": "https:/host:port/tmf-api/partyRoleManagement/v4/partyRole/4079",
"id": "4079",
"name": "Global Pirates",
"status": "Approved",
"statusReason": "NDA has been signed",
"validFor": {
"startDateTime": "2018-06-16T00:00Z",
"endDateTime": "2019-01-13T00:00Z"
},
"engagedParty": {
"@referredType": "Organization",
"href": "https:/host:port/tmf-api/partyManagement/v2/organization/99",
"id": "99",
"name": "Global Pirates",
"role": "Provider"
},
"relatedParty": [
{
"@referredType": "Organization",
"href": "https:/host:port/tmf-api/partyManagement/v4/organization/3658",
"id": "3658",
"name": "Gustave Flaubert",
"role": "customer"
}
]
}
-- TMF 629 Customer sample
{
"@type": "Customer",
"href": "https://host:port/tmf-api/customerManagement/v4/customer/1140",
"id": "1140",
"name": "Moon Football Club",
"status": "Approved",
"statusReason": "Account details checked",
"validFor": {
"startDateTime": "2018-06-12T00:00Z",
"endDateTime": "2019-01-11T00:00Z"
},
"engagedParty": [
{
"@referredType": "Organization",
"href": "https://host:port/tmf-api/partyManagement/v4/organization/3658",
"id": "3658",
"name": "Gustave Flaubert"
}
]
}
Saying that:
1) does that mean the engaged party referred in Customer API is already created first via PartRole API as relatedParty "Customer"? It is just a reference then.
2) Or, I do not need the PartyRole API sample at all and can populate the PartyRole (as DB table consisting of PartyRole and relatedParty schema attributes) from TMF625 (Customer) sample. Does the same apply for other APIs which refer to relatedParty?
Thanks.
------------------------------
Sukhdev Singh Matharu
Vodafone GmbH
------------------------------
Original Message:
Sent: Aug 06, 2020 01:37
From: Jonathan Goldberg
Subject: RelatedParty reference to PartyRole (669) vs Customer (629)
Hi Stephane
Conceptually, Customer is indeed a specialization of PartyRole - if you look at the fields in Customer you will see that they are a superset of PartyRole.
Customer was broken out as a specific entity (and API) due to its ubiquity, other PartyRoles (such as Supplier, Dealer, and many more) have not been given this treatment so far in the Open API.
I think that you can use RelatedParty to refer to a Customer entity (in Order, ShoppingCart, and many other places where we have RelatedParty).
Hope it helps
------------------------------
Jonathan Goldberg
Amdocs Management Limited
Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
------------------------------