Open APIs

 View Only
  • 1.  clarification on "ProductCategory"/"Category" in API TMF620

    TM Forum Member
    Posted Jun 28, 2022 12:02
    hello,

    TMF620 has a entity called "Category".
    ==> It is used to group product offering's (PO) within a product catalog (PC)
    I'm assuming "Category" is the same entity used in both PO and PC (they have the same @Type). Is that correct?

    GB922 has an entity called "ProductCategory".
    ==> It is used to group product specification (PS) with common characteristics and/or organize PS's in a product portfolio

    Looking at the examples in the SID, the API and in the TMF Communities, Category and ProductCategory are extremely similar.

    I try to compare SID and 620 and I think I get (blue text are test data):


    for a little while, I even (wrongly) thought that ProdCatProdOffer was a shortname for productCategoryProductOffering! (it is of course productCatalogProductOffering)

    to add some further confusion, IG1228/UC002 (which we use for our implementation) reads:


    I now believe that they are completely different and unrelated entities and cannot be mapped together.
    What do our distinguished and acclaimed API TMF experts think of this?

    ------------------------------
    Kind regards,

    Matthieu Hattab
    Lyse Platform
    ------------------------------


  • 2.  RE: clarification on "ProductCategory"/"Category" in API TMF620

    TM Forum Member
    Posted Jun 28, 2022 13:28
    Hi Matthieu,

    The sequence diagram of UC002 uses productCategory incorrectly. on the same page above it uses GET category instead.
    That should move one issue out of the way.

    Some might disagree with this definition, but the Category in the OpenAPI is a kind choicelist used while browsing the catalog. It makes the catalog an hierarchical tree instead of a flat list. This is a valid consideration when creating an API that will be consumed by web applications. As you correctly state it doesn't really map with the productCategory defined in SID.
    Although the prodCatProdOffer defines the relationship between catalog and product it doesn't  model the choicelist concept. So in my view it cannot be mapped one to one.

    Providing choicelist is an important concern when you are defining an API for browsing a catalog that might have 1000s of productOfferings. In that respect I believe some realignement of the SID to the OpenAPI is due.



    ------------------------------
    Koen Peeters
    OryxGateway
    ------------------------------



  • 3.  RE: clarification on "ProductCategory"/"Category" in API TMF620

    TM Forum Member
    Posted Jun 29, 2022 05:05
    Hi Koen,
    I agree and thanks for the feedback.
    I want to implement these 2 features in our PCM:
    • Catalogue Category: To guide customers on browing a web catalogue (Amazon is a typical example)
    • Product Category: To classify productSpecifications for various reasons (portfolio, reporting etc) (it could also be done with product offerings)

    PS: for Catalogue Category, it would also be nice to add ValidFor in the association class between product offering and product catalogue. So we can control when a product is available in a given product catalogue (same logic as ValidFor in prodCatProdOffer)

    What's the best way to propose these changes?
    Shall I create a JIRA ticket and assign it to Ludovic (for the API changes) and to Cecile (for the SID change)?

    ------------------------------
    Kind regards,

    Matthieu Hattab
    Lyse Platform
    ------------------------------



  • 4.  RE: clarification on "ProductCategory"/"Category" in API TMF620

    TM Forum Member
    Posted Jun 29, 2022 05:34
    Thanks Matthieu and Koen for raising this important point.
    My understanding of the SID ProductCategory is that it contributes to some sort of "type" or "class" system of product specs, classification, line-of-business, etc. One can imagine, perhaps, that software or business process engine might take decisions based on the value of a product category.
    We are missing this concept in TMF620 Open API, might be worth considering adding it, but not with the name category, since this will cause confusion with the existing Category entity.
    But maybe other experts have different views? @Ludovic Robert​ , @Kamal Maghsoudlou?​

    ------------------------------
    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.
    ------------------------------