Hello, I want to create a customer which will create a account, activate a service ID(such as MSISDN), attach products(such as base pack , top up), attaching a resource(such as SIM and number) than do i mandatory need to call multiple services such as create customer/account, create product inventory, create service, create resource? or can i merge the API's such as create service(which creates service ID, attaches product offering/productID, attaches resource)
Hi AshishFrom a technical perspective, there is nothing stopping you from creating an orchestration layer which will invoke the applicable API operations in sequence. You'll have to handle failure situations, when one of the operations returns an error.But the situation is more complex in real life. Consider what it means "creating a service", "creating a resource" - effectively you need to interact with the telco network (i.e. provisioning), and quite likely also maintain a network inventory that reflects the state of the network. And we haven't started to discuss the prerequisites, such as telling the customer how much this will cost, getting customer pay means, etc.Basically you will need to create (or buy) order management systems for product, service, and perhaps resource.Hope it helps
Thank you Jonathan for response.I want to understand that there is an existing orchestration layer for provisioning to HLR/Billing/etc. but when creating profile on a Customer master(CRM - master of profile and assets) do we need to call each API(account creation, service inventory creation, product inventory creation, resource inventory creation) separately or can a single API be used for enabling such task.If using separate API, is there a recommended order for calling from TMF published?
Hi AshishPlease refer to this post https://engage.tmforum.org/discussion/associating-profiles-with-customer#bm8551e877-8d1d-44f9-a944-b2524dd51d2c where I give a discussion of the term profile, which in fact is not a recognized semantic term in TMF models.In any case I think it extremely unlikely that a CRM system would master service and resource inventories, these are not necessarily things that are "owned" directly by customers.If you do want to orchestrate the API invocation, there is no "official" TMF recommendation. My suggestion would be to start with independent entities (such as Individual, Address), and then proceed with entities that are dependent on these (such as Customer, Billing Account), and then with the next set of dependent entities (such as Product). Each API operation invocation should give you an entity ID that you would use as foreign key (EntityRef) in the next entity.Good luck
Thanks Jonathan,In case i intend to use product inventory for creation of product with realizing service and resource, which attribute will be where i have to put "ServiceID" such as MSISDN or DSL ID.The "id" field in Post Product inventory will have product id or MSIDN?
The general guideline in all TMF Open APIs is that the ID field is a technical primary key (e.g. database sequence, GUID), with no business meaning. So much so that it is not populatable in the POST request, only in the response.There is no dedicated property in the Product entity to hold what you refer to as Service ID. There is a case to be made for adding an optional property for this, it would be able to reflect serial number for tangible goods, TN/MSISDN for phone products, IP address for broadband, etc. You could add it as an extension in your implementation of the relevant APIs.And of course the value property of the implementing LogicalResource would be set to TN/MSISDN/IP etc.