Open APIs

Expand all | Collapse all

TMF641 Modify Service Order Payload

  • 1.  TMF641 Modify Service Order Payload

    TM Forum Member
    Posted Apr 01, 2020 06:34
    We've implemented the creation of Voice services with Create Service Order and orderItem "action: add".  All service characteristics were specified on the "add".

    We now wish to implement "action: modify" but can't see from the example documentation if all service characteristics need to be stated or if the payload should be limited to the attributes of service that are changing.

    If all service characteristics are needed on a modify then (given there is customer control (TUI) over some Voice features (such as anonymousCallerReject - "enabled": true/false)) we would first need to read from the Softswitch to establish the current configuration in order to send a fully populated order that would not lose any customer settings.

    Please can anyone advise on modify with fully populated Vs only the delta?

    ------------------------------
    Andrew Lamb
    KCOM Group PLC
    ------------------------------


  • 2.  RE: TMF641 Modify Service Order Payload

    TM Forum Member
    Posted Apr 02, 2020 04:53
    I feel like the TMF641 does not really prescribe this aspect. The decision to include only delta or a full snapshot is driven mostly by how capable your SOM application is (the one that receives and processes a TMF641 createOrder request). If the app is capable to process delta-request - opt-out to this option. Otherwise - you may have to include a full target snapshot (which comes with the need to retrieve service state from Softswitch).

    Periodically we see SOM applications that are positioned as "stateless", which roughly means they don't know or cannot access service inventory at all. In this case, using "deltas" is typically off the table.

    ------------------------------
    Alexander Morozov
    Vlocity
    ------------------------------



  • 3.  RE: TMF641 Modify Service Order Payload

    TM Forum Member
    Posted Apr 02, 2020 11:15
    Hello

    I'm agreeing with Alexander about the fact that the answer is in capability of your SOM System.
    We should note that we described in the TMF Open API a pattern leveraging JSON-Patch for PATCH operation.

    Just an example to illustrate - following PATCH payload is a request to modify requested start date & description.

    [
      {"op":"replace",
        "path": "requestedStartDate",
        "value": "2018-01-16T09:37:40.508Z"
      },
      {"op":"replace",
        "path" : "description",
        "value" : "Service order new description updated v2"
      }
    ]​

    Of course this could be only accepted if PONR not yet reach but that another story...

    hope it helps

    Ludovic

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



  • 4.  RE: TMF641 Modify Service Order Payload

    TM Forum Member
    Posted Sep 10, 2020 19:58
    Hi @Ludovic Robert,

    Agree that in-flight modifications of ServiceOrder can be achieved through TMF641 PATCH methods.
    However, we are currently interested in the other story; ServiceOrder has reached a terminal state and client is sending TMF641 POST "Modify"....what are the best ways to represent add, modify, no-change and delete to the ServiceOrder.serviceOrderItem.service.serviceCharacteristics? Noting that serviceCharacteristics can be nested/complex objects, strings, arrays etc.

    Thanks,
    Anu

    cc: @Rati Mehrotra, @Uma Lakshman​​​

    ------------------------------
    Anu Aulakh
    Telstra Corporation
    ------------------------------



  • 5.  RE: TMF641 Modify Service Order Payload

    TM Forum Member
    Posted Sep 11, 2020 04:53
    Hello Anu,

    Aligned with you.
    If you want to modify existing service (created with a previous serviceOrder in completed state) you have - for me - to trigger a new serviceOrder referring exsiting service reference (id) in serviceOrder.serviceOrderItem.service.id.  You will set serviceOrder.serviceOrderItem.action  to modify to indicate you want to change service 'configuration'. Then in serviceOrder.serviceOrderItem.service.serviceCharacteristics you'll indicate the requested value for this modification.
    Regarding you point about complex serviceCharacteristic you can leverage polymorphism pattern at characteristic level to describe complex caracteristic like array of embedded table for example.

    Hope it helps

    Ludovic

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



  • 6.  RE: TMF641 Modify Service Order Payload

    TM Forum Member
    Posted Apr 02, 2020 08:03
    The details can be partial, but the entity cardinality rules cannot be violated.

    ------------------------------
    Nidhi Pandey
    Hewlett Packard Enterprise
    ------------------------------