Open APIs

Expand all | Collapse all

TMF 637 Product Inventory Management API,Require more information on productRelationship attribute

  • 1.  TMF 637 Product Inventory Management API,Require more information on productRelationship attribute

    TM Forum Member
    Posted Dec 04, 2020 08:31
    Edited by Ketki Mujumdar Dec 07, 2020 05:31
    Hi Experts,
    We are using TMA637 Product Inventory Management API in our system. We need to accomodate bundledProductOfferingCode in this API response for GET Implementation. The attribute 'bundledProductOfferingCode' should represent the code of given Product Offering's Parent ProductOffering.
    e.g. the request is GET /product/{internet100} 
    internet100 is part of bundle with id UnlimitedCallPack
    so bundledProductOfferingCode  in this case should have value of UnlimitedCallPack.

    The TMA637 Product Inventory Management API Response has attribute productRelationship(relationshipType, product ) which is used for the similar purpose. 
    productRelationship has two attributes viz.relationshipType and product. There are three values available for relationshipType under ProductRelationship resource. The three values are bundled, reliesOn and targets (isTargeted). Going with our requirement we are considering the we will have relationshipType valued as targets and the attribute product will refer to the parent of the selected product.
    e.g.

    the request is GET /product/{internet100}
    internet100 is part of bundledProduct with id UnlimitedCallPack.
    The response will have below structure
    {
    "id": "internet100",
    "href": "https://host:port/productInventoryManagement/v4/product/internet100",
    "description": "Internet 100",
    "productRelationship": [
    {
    "type": "targets",
    "product": "UnlimitedCallPack"
    }
    }

    Can you please confirm if this is the correct value to represent this information.
    ------------------------------
    Ketki Mujumdar
    IBM Corporation
    ------------------------------


  • 2.  RE: TMF 637 Product Inventory Management API,Require more information on productRelationship attribute

    TM Forum Member
    Posted Dec 04, 2020 08:32
    @Jonathan Goldberg  ​

    ------------------------------
    Ketki Mujumdar
    IBM Corporation
    ------------------------------



  • 3.  RE: TMF 637 Product Inventory Management API,Require more information on productRelationship attribute

    TM Forum Member
    Posted Dec 07, 2020 05:28
    Edited by Ketki Mujumdar Dec 07, 2020 05:34
    @Jonathan Goldberg@Kiyotaka Mizuno Could you please confirm.​


  • 4.  RE: TMF 637 Product Inventory Management API,Require more information on productRelationship attribute

    TM Forum Member
    Posted Dec 07, 2020 07:12
    Hi Ketki

    I don't completely I understand your example. But it does seem to me that internet100 is a Product Offering from the catalog, not a Product instance in the inventory.
    TMF637 - product inventory management - deals with assigned or installed or purchased Products for customers, we can expect that there can be 10,000,000s (or even 100,000,000s) of these Products.
    TMF620 - product catalog management - deals with product catalog entities such as Product Specification, Product Offering, and more.

    Assuming for the moment that this is this case, there is no such concept of a parent product offering in the model. This is because product offerings are reusable, the same product offering (e.g. internet 100) could be bundled into UnlimitedCallPack (I guess alongside voice service) but perhaps also into UnlimitedTV (alongside some TV package).

    Can I suggest that we step back from the modeling details, and first try to understand what business problem you are trying to solve, and then we can see how the model can be applied to this.

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



  • 5.  RE: TMF 637 Product Inventory Management API,Require more information on productRelationship attribute

    TM Forum Member
    Posted Dec 07, 2020 11:21
    Hi @Jonathan Goldberg, Sorry for the cofusion. I want to use TMF 637 ​Product Inventory Management API only.  I will give you another example, Please refer the attached image for Product structure. This is an example taken from Product Inventory Management API REST Specification Document.


    If I hit a GET Product Inventory Management API request as product/g265-tf85 to get the details of product with code g265-tf85.
    Now here in the response where can I get the details abhg-985 (which is bundling g265-tf85 and 8956-jk56 together?


    ------------------------------
    Ketki Mujumdar
    IBM Corporation
    ------------------------------



  • 6.  RE: TMF 637 Product Inventory Management API,Require more information on productRelationship attribute

    TM Forum Member
    Posted Dec 07, 2020 12:32
    Hi Ketki

    Thanks for the clarification, it is clearer now.

    When we have a strictly hierarchical entity structure, in this case of Product instantiated from VoIP Basic Bundle that contains Products instantiated from VoIP Basic and Voice Mail, the main question is - are the contained products directly addressable or not. This is different from the case I referred to in my previous post where the product offerings are reusable and of course can be separately addressed.

    Unfortunately I don't think that the API gives specific guidance one way or the other and it may come down to an implementation decision.
    • If the contained Products are not directly addressable, your question is a non-starter, since you will not be able to get the child product directly, only via the parent.
    • If the contained Products are directly addressable, you need an attribute parentID to understand if the Product is contained and if so what is the containing Product, such as we have in Category (in TMF620, and similar entities in other catalog APIs). This is currently missing and may need to be added. But in the meantime you could certainly add it yourself as an extension.
    @Ludovic Robert might want to add his perspective as the lead for TMF637.

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



  • 7.  RE: TMF 637 Product Inventory Management API,Require more information on productRelationship attribute

    TM Forum Member
    Posted Dec 09, 2020 02:49
    Hello Ketki, Jonathan

    From my perspective a product (contained or not) should always have an id - and so directly addressable.

    About the 'container' id product it could be discussed. This is for me a fair question and globally we have it in a lot of API where 2 entities are in relation: can we live with the relation only in one or do we nneed bi-direction. My first feeling will be to keep it as implementation option (btwif I'm not wrong  you can retrieve the bundle product with a GET .../productInventoryManagement/v4/product?product={bundled product id}

    Hope it helps.
    Ludovic

    ------------------------------
    Ludovic Robert
    Orange
    My answer are my own & don't represent necessarily my company or the TMF
    ------------------------------