Open APIs

 View Only
Expand all | Collapse all

What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

  • 1.  What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    Posted Nov 22, 2021 09:14
    Hi,

    We are in out journey of adopting TMF OpenAPIs in a stand alone charging application.
    We wish to expose OpenAPI/s for provisioning Customer data, order information etc. towards the charging application.
    Currently there are 3 options we consider:
    1. Create a dedicated OpenAPI (Currently not defining by TMF) that will be exposed to external application (Customer mgmt., order mgmt. etc.) and will be used to provision all relevant information.
    2. Use TMF 641 - Service Ordering Management API hat will be exposed to external application (Customer mgmt., order mgmt. etc.) and will be used to provision all relevant information.
    3. Towards each external application expose aspecific OpenAPI:
    * TMF622 -Product Ordering API or TMF 641 - Service Ordering Management API - towards the order mgmt. application
    * TMF 629 - Customer Management API - towards the Customer mgmt. application
    * TMF 637 Product Inventory Management API for relevant inventory information
    ...

    What is the option that best fits TMF best practices


    ------------------------------
    Jacob Bensaid
    ------------------------------


  • 2.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    TM Forum Member
    Posted Nov 22, 2021 09:38
    Hi Jacob

    Interesting question. There was a thread some months back where @Vance Shipley and I discussed the various possibilities, unfortunately I was not able to find the thread.
    Almost by definition an online charging system will have a controlled replica of customer and product data, as you stated, for performance reasons. In the absence of a dedicated API in TMF-land (and I'm not sure if a dedicated API will be​ forthcoming), probably your 3rd suggestion is best. Anyway it makes sense to provision customer information and product information separately, since they do not have the same lifecycle (products come and go, while customer has more permanency).

    The tricky thing is that according to ODA, on the one hand OCS lives in Production layer, and "speaks" service/resource, while on the other we have things such as monetary buckets and balances, which are part of core commerce.

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



  • 3.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    Posted Nov 22, 2021 10:22

    @Jonathan Goldberg thank you for your answer.

    Using the 3rd option has some risks in regards to synchronization/dependency/orchestration(API call order) - ​I'll explain with an example:
    When a new Customer is buying a product the calls towards the charging system should be synchronized as well as ordered: first a new customer details needs to be provisioned to the charging system  and only then the the product/services provisioning can be done to the charging system.

    If the TMF629 POST into charging would fail or be delayed due to some issue the TMF622 POST will fail validation as the customer will not be recognized by the charging system.

    option 1 & 2 can overcome this risk as they should enable a single call that will provision the entire customer & order data into the charging system in a single API call.

    This will also make sense in regards to the orchestration of the provisioning to several systems (Charging, billing ...) as it is easier to orchestrate 1 call per system rather than several.

    HAs anyone has actual experience with such charging OpenAPI integration?



    ------------------------------
    Jacob Bensaid
    ------------------------------



  • 4.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    TM Forum Member
    Posted Nov 22, 2021 10:30
    You might look at what we presented in the 5G Chargers Catalyst project, although that may become unavailable in a week or so. See this video for a description of the Catalog Driven Design we showcased. The tldr; of which is that an OCS/CCS "federates" with the Product Catalog, Product Inventory, etc. in order to allow the business policy and rules to be in the catalog while being used in real time rating and charging.

    ------------------------------
    Vance Shipley
    SigScale
    ------------------------------



  • 5.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    TM Forum Member
    Posted Nov 22, 2021 10:57
    Thanks @Vance Shipley for weighing in, I was sure I could rely on you. To be fair, not all commercial OCS are able to work against an external product inventory.

    Jacob, the orchestration issue that you raise is true for any situation where you need to involve multiple entities. It could be resolved by having a robust retry policy so that if the TMF622 call fails due to missing customer you could retry. Or you could ensure that your code invokes TMF622 only after a positive response is received from your TMF629 invocation.​

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



  • 6.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    Posted Nov 24, 2021 06:08

    Thank you @Vance Shipley

    The source you shared present very interesting use cases.

    Yet my question still remains - how was the provisioning carried out? which API/APIs where used to convey customer/order information to the 5G chargers.​?



    ------------------------------
    Jacob Bensaid
    ------------------------------



  • 7.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    TM Forum Member
    Posted Nov 24, 2021 06:54
    The premise is federation of Catalogues and Inventories as described in IG1222 ODA Technical Architecture ODA Patterns: Part 4.  The just of which is that it uses mechanisms defined in Open APIs (i.e. TMF620, TMF637) for import/export and subscription/notification to synchronized your internal data with external sources.

    ------------------------------
    Vance Shipley
    SigScale
    ------------------------------



  • 8.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    Posted Nov 24, 2021 09:28

    Thank you @Vance Shipley

    It seems that TMF637 ​is the API you used for provisioning of product instances - this is very interesting and useful



    ------------------------------
    Jacob Bensaid
    ------------------------------



  • 9.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    TM Forum Member
    Posted Nov 24, 2021 10:04
    I think that what Vance is saying is that as a result of TMF637 activity in the master product inventory, events are raised. Your charging application could listen to these events to update its internal representation of the product (and similarly for the customer). 
    That's certainly a feasible approach, but you need to be aware of what can go wrong (e.g. events were not raised, or not consumed), and have a strategy for reconciliation.
    The advantage of an explicit update API for charging (or any other downstream system) is that you get positive confirmation of the data acceptance, rather than implicit choreography via the events.
    A lot to think about.

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



  • 10.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    Posted Nov 24, 2021 10:54

    Thanks @Jonathan Goldberg ​​- indeed a lot to consider

    Subscribing to events will also delay the flow as the charging system will not be able to authorize services (e.g. data session) until the provisioning information is accepted and processed.

    In such cases using orchestrated APIs can be a better solution.



    ------------------------------
    Jacob Bensaid
    ------------------------------



  • 11.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    TM Forum Member
    Posted Feb 10, 2022 11:20
    Edited by Marlon Almazan Feb 11, 2022 00:07
    Hi @Jonathan Goldberg / @Vance Shipley

    When I am looking at TMF622, TMF641 ​​​& TMF637 holistically.
    In all these APIs, Product Order/Service Order or even the Product Inventory has been associated with an Account or has a related party defined.

    Also as  @Jonathan Goldberg, ​pointed out that charging functions are split into Core Commerce Management & Production.

    Considering all of this, the question comes is for the charging system, which is the right entity for modeling i.e. Customer or Account.
    Customer sounds right entity, but In case we consider Customer, should it be considered as a related party to create the association.
    Secondly, as per the customer Management Interface, there is no customer reference to create a hierarchy in the system.
    This drives to consider Account as right entity from a charging perspective then.

    ------------------------------
    Alok Chhatry
    ------------------------------



  • 12.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    TM Forum Member
    Posted Feb 10, 2022 12:29
    Hi Alok

    Customer and Account are both important for charging.
    • Customer (or more generally PartyRole) may be an input into charging operations, such as guiding to customer, market policies for customer type, customer hierarchy for shared allowances, and much more
    • Account (or more specifically BillingAccount) represents the entity that is paying for product usage - here the importance would typically be in discovery of the billing cycle that may be used for accumulation periods (e.g. for metering monthly allowances).
    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.
    ------------------------------



  • 13.  RE: What APIS a charging application needs to expose for provisioning from customer mgmt, order mgmt. etc.

    TM Forum Member
    Posted Feb 17, 2022 23:43
    Thanks, @Jonathan Goldberg for your response.

    Yes, this helps.

    ------------------------------
    Alok Chhatry
    Optiva Inc.
    ------------------------------