Open APIs

Expand all | Collapse all

Customer Management API

  • 1.  Customer Management API

    TM Forum Member
    Posted Feb 14, 2019 04:26
    Hi All,

    I am working on a project to create Open API's for getting Customer data.

    We are studying the Customer Management, Party Management and Party Role API's. We gathered that Customer is inherited from Party role and basically represents the type of customer, while party management gives the representation of the Individual/Org. We have tried to depict our understanding in the attached ppt. It would be great if our understanding can be validated.

    Listing queries with respect to Customer Management API:

    -. Does the Customer name in the customer entity represent the type of customer?

    - What does relatedPartyRef represent in this scenario? Any telco example will be helpful.

    Thank you




    ------------------------------
    Kind Regards,
    Suman Bagde

    ------------------------------


  • 2.  RE: Customer Management API

    TM Forum Member
    Posted Feb 19, 2019 03:03
    I have actually noticed some overlap in TMF632 Party Management and TMF629 Customer Management API's.  To start, there's the duplication of contactMedium and Medium data.  I consider Party Management the lynch-pin to implement any API that involves customers.  But it has not been updated in a while.

    My personal interpretation, RelatedPartyRef  OrganizationParentRelationship and OrganizationChildRelationship are ALL about parent-child relationships.

    In an Individual context, it could be as simple as parent, spouse, and children.  The head of a household and family member accounts.

    In an Organization context, the complexity increases with Branches, Regions, Departments, Sections, Groups, and even Individual employees.  In the Organization context, it also implies third-party vendors too.

    I am working on a Laravel scaffolding around TMF632, that handles all the related parties in a hierarchical manner.

    There's no concrete definition, the TMF specifications provide for some flexibly.  Your business may want to use the RelatedPartyRef to link back to the account manager, field installer, contractor, or simply members of the customers family.  It falls back to what information you want to track.

    ------------------------------
    Brian LaVallee
    INVITE Communications Co. Ltd
    ------------------------------



  • 3.  RE: Customer Management API

    TM Forum Member
    Posted Feb 19, 2019 04:29
    Thanks very much Brian.

    ------------------------------
    Suman Bagde

    ------------------------------



  • 4.  RE: Customer Management API

    TM Forum Member
    Posted 28 days ago
    Hi
    I'd like to state my understanding of the distinction between Party and PartyRole (in the SID and the Open API), maybe this will help:
    • Party (individual or organization) represents an entity that exists in the world, irrespective of the service provider. So John Doe will always be John Doe (with a driving license, SSN, means of contacting, etc.) whether or not he has a relationship with NXT (a service provider). Similarly HAL Computers will always sell supercomputers, irrespective of their partnership relationship with NXT.
    • PartyRole (many of these, such as Contact, Customer, Supplier, Partner, Reseller), represents the Party as it relates to the service provider. So John Doe (the Individual) will have a PartyRole Customer to describe his relationship with NXT. And HAL Computers will have a PartyRole Partner.
    The name attribute of PartyRole (or of Customer, which inherits PartyRole) is not the type, but rather the name of the customer, in many (most) cases this will be the same as the name of the underlying Party), but not always. There is currently (to the best of my knowledge) no attribute that represents customer type (Residential, Business, etc.,), this could be added (feel free to raise a JIRA issue for that if you have access to JIRA - https://projects.tmforum.org/jira/projects/AP/).

    Regarding RelatedPartyRef - this is a short-cut that is used all over the Open API model to allow a reference to be to either a Party or to a PartyRole. If the Customer represented a family (for example), there might be RelatedPartyRefs pointing directly at the family members as Individuals. Or the service provider might prefer to model the family members as PartyRoles of type Contact.

    Hope it helps

    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    ------------------------------



  • 5.  RE: Customer Management API

    TM Forum Member
    Posted 27 days ago
    Thank you so much Jonathan.

    There are 2 Name attributes in Customer Management API, one at Customer level (PArty role) and another at the Engaged Party level.
    However if I see the Party Management API, Party itself does not have any Name attribute (It has first name, last name etc).

    So at the PartyRole (or Customer) level and engaged Party within Customer, what is Name  expected to contain -  a concatenation of first and last name (from Individual) and tradeName from Organization? At the moment we are going with this assumption and wanted to validate the same

    Thanks you very much.



    ------------------------------
    Suman Bagde
    Infosys Ltd.
    ------------------------------



  • 6.  RE: Customer Management API

    TM Forum Member
    Posted 27 days ago
    From a formal aspect, it does look as if we have a problem here in the PartyRef class. Ref objects should contain a strict subset of the fields of the underlying object, but Party (as the base class of Organization and Individual) does not contain a name field. So the API team will need to figure out what to do about that.

    But conceptually, as an implementer of the API, the decision on how to populate the name field is up to you. Your business requirements need to drive the decision as to whether Customer.name is the same as Customer.engagedParty.name. For example, there is the phenomenon (in HOBO) of trading as - so John Doe (an Individual) might establish a customer called John Doe Pizza.

    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    ------------------------------



  • 7.  RE: Customer Management API

    TM Forum Member
    Posted 26 days ago
    Thanks Jonathan, this helps. ​

    ------------------------------
    Suman Bagde
    Infosys Ltd.
    ------------------------------