MultiServiceList Request

Include MultiServiceList in RS Gateway-initiated rating requests for multiple services.

When a message is received through Diameter Gateway for usage rating, the MtxDiamRoMsg.ServiceTypeObjectId field is usually set by a selective update in Diameter Gateway. When usage rating is through the RS Gateway, you must specify the MtxDiamRoMsg.ServiceTypeObjectId or the RatingRequest.Service field in the REST API request body. In addition, a stop rating request for a rating session that started with the RatingRequest.MultiServiceList parameter must define the UsedQuantityList parameter and the SessionId.
This example shows a MultiServiceList stop rating request for DeviceObjectId 0-1-5-89. Note that the request includes the ServiceTypeObjectId. Also, MtxMultiServiceData includes two rating groups (RatingGroupId 1 and RatingGroupId 2).
{
  "RatingRequest": {
    "$": "DemoDiamRoMsg",
    "MultiServiceList": [
        {
            "$": "MtxMultiServiceData",
            "UsedQuantityList": [
                {
                "$": "MtxUsedQuantityData",
                "Quantity": 20
                }
            ],
            "ServiceId":"1001"
            "RatingGroupId": "1"
        },
        {
            "$": "MtxMultiServiceData",
            "UsedQuantityList": [
                {
                "$": "MtxUsedQuantityData",
                "Quantity": 2097152
                }
            ],
            "ServiceId":"1002",
            "RatingGroupId": "2"
        }
    ],
    "ServiceTypeObjectId": "2",
    "SessionId": "5555559"
  }
}

In this example, pricing is configured to use a normalizer to rate based on the RatingGroupId. Note the NormalizedSessionId and the RatingAuditList in the following response. Each of the MtxMultiServiceData sections in the request was rated with a different offer.

{
    "$": "ResponseRating",
    "RatingResponse": {
        "$": "DemoDiamRoMsg",
        "AccountingSessionId": "493B367F",
        "ApplicationId": 4,
        "CallingStationId": "1539",
        "ChrgInQueueId": 0,
        "ContentType": 0,
        "DeviceObjectId": "0-1-5-89",
        "EventTime": "2022-12-09T09:51:45.000000Z",
        "ExternalBillingId": "1539",
        "ExternalServiceType": 1001,
        "LoginId": "1539",
        "MultiServiceList": [
            {
                "$": "MtxMultiServiceData",
                "RatingGroupId": 1,
                "RatingQuantityType": 7,
                "ServiceId": 1001,
                "UsedQuantityList": [
                    {
                        "$": "MtxUsedQuantityData",
                        "Quantity": 20.0
                    }
                ]
            },
            {
                "$": "MtxMultiServiceData",
                "RatingGroupId": 2,
                "RatingQuantityType": 7,
                "ServiceId": 1002,
                "UsedQuantityList": [
                    {
                        "$": "MtxUsedQuantityData",
                        "Quantity": 2097152.0
                    }
                ]
            }
        ],
        "NormalizedSessionId": 15906879483625355835,
        "Op": 4,
        "OriginalServiceProviderSchemaVersion": 14,
        "OriginalSysSchemaVersion": 5252,
        "PricingDatabaseVersion": 1,        
        "RatingAuditList": [
            {
                "$": "MtxRatingAuditData",
                "PricingVersionId": 0,
                "SegmentList": [
                    {
                        "$": "MtxRatingAuditSegmentData",
                        "ComponentList": [
                            {
                                "$": "MtxRatingAuditComponentData",
                                "ComponentId": 1688849860264142,
                                "MatrixCellIndex": 0,
                                "MatrixIndex": 1,
                                "ProductOfferId": 1407374883553321,
                                "ProductOfferVersion": 0,
                                "PurchasedOfferContainerId": "0-1-5-85",
                                "PurchasedOfferResourceId": 2
                            }
                        ],
                        "Size": 20.0
                    }
                ]
            },
            {
                "$": "MtxRatingAuditData",
                "PricingVersionId": 0,
                "SegmentList": [
                    {
                        "$": "MtxRatingAuditSegmentData",
                        "ComponentList": [
                            {
                                "$": "MtxRatingAuditComponentData",
                                "ComponentId": 1688849860264137,
                                "MatrixCellIndex": 1,
                                "MatrixIndex": 0,
                                "ProductOfferId": 1407374883553323,
                                "ProductOfferVersion": 0,
                                "PurchasedOfferContainerId": "0-1-5-85",
                                "PurchasedOfferResourceId": 1
                            }
                        ],
                        "Size": 2097152.0
                    }
                ]
            }
        ],
        "ReceiveTime": "2022-12-09T09:51:45.446454Z",
        "RelatedMsgId": "MDC-80023d4019fdbeee",
        "Result": 0,
        "ResultText": "OK",
        "ServiceTypeObjectId": 2,
        "SessionId": "5555559",
        "SubscriberId": "0-1-5-85",
        "TimeArray": [
            1670579505446454,
            1670579505446492,
            1670579505446646,
            1670579505446666,
            1670579505446731,
            1670579505447461,
            1670579505447466,
            1670579505559033,
            1670579505563603,
            1670579505563688,
            1670579505573008,
            1670579505576721,
            1670579505576767,
            1670579505577019,
            1670579505577934,
            1670579505578038
        ],
        "TimerId": 35,
        "TrafficRouteData": "OBID0:1:5:89",
        "WalletId": "0-1-5-86"
    },
    "RelatedMsgId": "MDC-80023d4019fdbeee",
    "Result": 0,
    "ResultText": "OK",
    "_resultCode": 0,
    "_resultText": "OK",
    "_resultType": "create"
}