{ "openapi" : "3.0.0", "info" : { "version" : "1.2.2", "title" : "Nrf_Rating", "description" : "## RF Rating Service\nThe RF performs both monetary and non-monetary unit determination (rating) for all charging levels (bearer, session and service) before and after service delivery (prepaid and postpaid) and based on dynamic credit limit update. Rating considers cross-product, cross-channel, counter-based, rental-based and recharge-based discounts, benefits and allowances. Rating may be performed based on dimensions of volume, time and events.\n\nRate requests include various rating parameters such as service identifier, subscriber reference, network identification, user location, service usage time, transferred data volume, etc. The rate request may contain multiple service identifiers that reflect the list of active services contained in the context handled by the rating service consumer (CHF/OCF).\n\nThe RF determines the applicable price or tariff model and returns it to the NF consumer (CHF/OCF), according to rate requests, subscriber contractual terms, the rating rules configured by operators and billing related information. Note that in case of multiple service requests received, the RF may apply a special price or tariff which can be different to the price or tariff applied to the related services handled separately. For example a VoLTE call may have the data volume associated with the bearer usage free of charge while rating the time associated with the voice session.\n\nTo support the online rating process, the RF needs counters. The counters may be maintained by the RF or by the ABMF. In the former case counters are optional in rating requests.\n\nSee\\:\n - [3GPP TS 32.296 Online Charging System (OCS) - Applications and Interfaces](https://www.3gpp.org/ftp/Specs/archive/32_series/32.296)\n - [3GPP TS 32.290 Services, Operations and Procedures of Charging using Service Based Interface (SBI)](https://webapp.etsi.org/key/key.asp?GSMSpecPart1=32&GSMSpecPart2=290)\n - [3GPP TS 32.291 5G System, Charging Service; Stage 3](https://webapp.etsi.org/key/key.asp?GSMSpecPart1=32&GSMSpecPart2=291)", "license" : { "name" : "Apache 2.0" }, "contact" : { "name" : "SigScale", "email" : "support@sigscale.com", "url" : "http://www.sigscale.com" } }, "servers" : [ { "url" : "{apiRoot}/nrf-rating/v1", "variables" : { "apiRoot" : { "default" : "https://example.com", "description" : "apiRoot as defined in subclause 4.4 of 3GPP TS 29.501." } } } ], "security" : [ { }, { "oAuth2ClientCredentials" : [ "nrf-rating" ] } ], "paths" : { "/ratingdata" : { "post" : { "operationId" : "startRating", "tags" : [ "Rating Data (Collection)" ], "requestBody" : { "required" : true, "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/RatingDataRequest" }, "examples" : { "IEC (Class B)" : { "summary" : "Immediate Event Charging (IEC) (Class B)", "description" : "Request an atomic charging operation which succeeds or fails.", "value" : { "nfConsumerIdentification" : { "nodeFunctionality" : "OCF" }, "invocationTimeStamp" : "2020-12-13T15:28:32.123Z", "invocationSequenceNumber" : 1, "beginTimeStamp" : "2020-12-13T15:28:32Z", "subscriptionId" : [ "msisdn-14165551234", "imsi-001001000000001" ], "oneTimeEvent" : true, "oneTimeEventType" : "IEC", "serviceRating" : [ { "serviceContextId" : "32274@3gpp.org", "serviceId" : 4, "destinationId" : [ { "destinationIdType" : "DN", "destinationIdData" : "14165556789" } ], "requestSubType" : "RESERVE" } ] } }, "ECUR (Class A)" : { "summary" : "Event Charging with Unit Reservation (ECUR) (Class A)", "description" : "Request a traiff rate for a one time event.", "value" : { "nfConsumerIdentification" : { "nodeFunctionality" : "OCF" }, "invocationTimeStamp" : "2020-12-13T15:28:32.123Z", "invocationSequenceNumber" : 1, "beginTimeStamp" : "2020-12-13T15:28:32Z", "subscriptionId" : [ "msisdn-14165551234", "imsi-001001000000001" ], "oneTimeEvent" : true, "oneTimeEventType" : "PEC", "serviceRating" : [ { "serviceContextId" : "32274@3gpp.org", "serviceId" : 4, "destinationId" : [ { "destinationIdType" : "DN", "destinationIdData" : "14165556789" } ] } ] } }, "ECUR (Class B)" : { "summary" : "Event Charging with Unit Reservation (ECUR) (Class B)", "description" : "Request a reservation for a one time event.", "value" : { "nfConsumerIdentification" : { "nodeFunctionality" : "OCF" }, "invocationTimeStamp" : "2020-12-13T15:28:32.123Z", "invocationSequenceNumber" : 1, "beginTimeStamp" : "2020-12-13T15:28:32Z", "subscriptionId" : [ "msisdn-14165551234", "imsi-001001000000001" ], "oneTimeEvent" : true, "oneTimeEventType" : "PEC", "serviceRating" : [ { "serviceContextId" : "32274@3gpp.org", "serviceId" : 4, "destinationId" : [ { "destinationIdType" : "DN", "destinationIdData" : "14165556789" } ], "requestSubType" : "RESERVE", "requestedUnit" : { "serviceSpecificUnit" : 1 } } ] } }, "SCUR (Class A)" : { "summary" : "Session Charging with Unit Reservation (SCUR) (Class A)", "description" : "Request a tariff rate for charging a session. Two services are requested (i.e. data and VoLTE).", "value" : { "nfConsumerIdentification" : { "nodeFunctionality" : "OCF" }, "invocationTimeStamp" : "2020-12-13T15:28:32.123Z", "invocationSequenceNumber" : 1, "beginTimeStamp" : "2020-12-13T15:28:32Z", "subscriptionId" : [ "msisdn-14165551234", "imsi-001001000000001" ], "serviceRating" : [ { "serviceContextId" : "32251@3gpp.org", "serviceId" : 1, "ratingGroup" : 2, "serviceInformation" : { "sgsnMccMnc" : { "mcc" : "001", "mnc" : "001" } } }, { "serviceContextId" : "32260@3gpp.org", "serviceId" : 2, "ratingGroup" : 32, "destinationId" : [ { "destinationIdType" : "DN", "destinationIdData" : "14165556789" } ], "serviceInformation" : { "nodeFunctionality" : "AS", "roleOfNode" : "ORIGINATING", "visitedNetworkIdentifier" : "s8hr.mnc001.mcc001.3gppnetwork.org" } } ] } }, "SCUR (Class B)" : { "summary" : "Session Charging with Unit Reservation (SCUR) (Class B)", "description" : "Request a reservation for charging a session. Two services are requested (i.e. data and VoLTE).", "value" : { "nfConsumerIdentification" : { "nodeFunctionality" : "OCF" }, "invocationTimeStamp" : "2020-12-13T15:28:32.123Z", "invocationSequenceNumber" : 1, "beginTimeStamp" : "2020-12-13T15:28:32Z", "subscriptionId" : [ "msisdn-14165551234", "imsi-001001000000001" ], "serviceRating" : [ { "serviceContextId" : "32251@3gpp.org", "serviceId" : 1, "ratingGroup" : 2, "serviceInformation" : { "sgsnMccMnc" : { "mcc" : "999", "mnc" : "999" } }, "requestSubType" : "RESERVE" }, { "serviceContextId" : "32251@3gpp.org", "serviceId" : 2, "ratingGroup" : 32, "destinationId" : [ { "destinationIdType" : "DN", "destinationIdData" : "14165556789" } ], "serviceInformation" : { "nodeFunctionality" : "AS", "roleOfNode" : "ORIGINATING", "visitedNetworkIdentifier" : "s8hr.mnc999.mcc999.3gppnetwork.org" }, "requestSubType" : "RESERVE" } ] } }, "Roaming" : { "summary" : "Roaming voice call service (VCS).", "description" : "Request a reservation for charging a roaming voice call session. The serving VLR number is provided to enable rating based on Visited PLMN.", "value" : { "nfConsumerIdentification" : { "nodeFunctionality" : "OCF" }, "invocationTimeStamp" : "2020-12-13T15:28:32.123Z", "invocationSequenceNumber" : 1, "beginTimeStamp" : "2020-12-13T15:28:32Z", "subscriptionId" : [ "msisdn-14165551234", "imsi-001001000000001" ], "serviceRating" : [ { "serviceContextId" : "32276@3gpp.org", "serviceInformation" : { "vlrNumber" : "12125550000" }, "requestSubType" : "RESERVE" } ] } } } } } }, "responses" : { "200" : { "description" : "Rating succeeded (Class A)", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/RatingDataResponse" }, "examples" : { "ECUR (Class A)" : { "summary" : "Event Charging with Unit Reservation (ECUR) (Class A)", "description" : "Successful tariff rating of SMS.", "value" : { "invocationTimeStamp" : "2020-12-13T15:28:32.186Z", "invocationSequenceNumber" : 1, "serviceRating" : [ { "serviceContextId" : "32274@3gpp.org", "serviceId" : 1, "ratingGroup" : 100, "price" : { "amount" : { "currencyCode" : "CAD", "valueDigits" : 5, "exponent" : -10 } } } ] } }, "SCUR (Class A)" : { "summary" : "Session Charging with Unit Reservation (SCUR) (Class A)", "description" : "Successful tariff rating for a data session. Rate to apply is 0.75 PHP per megabyte.", "value" : { "invocationTimeStamp" : "2020-12-13T15:28:32.123Z", "invocationSequenceNumber" : 1, "serviceRating" : [ { "serviceContextId" : "32251@3gpp.org", "serviceId" : 1, "ratingGroup" : 2, "currentTariff" : { "currencyCode" : "PHP", "rateElement" : [ { "unitType" : "TOTAL_VOLUME", "unitSize" : { "valueDigits" : 1000000 }, "unitCost" : { "valueDigits" : 75, "exponent" : -3 } } ] } }, { "serviceContextId" : "32251@3gpp.org", "serviceId" : 2, "ratingGroup" : 32, "currentTariff" : { "currencyCode" : "PHP", "rateElement" : [ { "unitType" : "TOTAL_VOLUME", "unitSize" : { "valueDigits" : 1000000 }, "unitCost" : { "valueDigits" : 0 } } ] } } ] } } } } } }, "201" : { "description" : "Created", "headers" : { "Location" : { "schema" : { "description" : "RatingDataRef", "type" : "string", "format" : "uri" }, "required" : true } }, "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/RatingDataResponse" }, "examples" : { "IEC (Class B)" : { "summary" : "Immediate Event Charging (IEC) (Class B)", "description" : "Successful charging of an SMS.", "value" : { "invocationTimeStamp" : "2020-12-13T15:28:32.186Z", "invocationSequenceNumber" : 1, "serviceRating" : [ { "serviceContextId" : "32274@3gpp.org", "serviceId" : 4, "price" : { "amount" : { "currencyCode" : "CAD", "valueDigits" : 5, "exponent" : -10 } }, "grantedUnit" : { "serviceSpecificUnit" : 1 }, "resultCode" : "SUCCESS" } ] } }, "ECUR (Class B)" : { "summary" : "Event Charging with Unit Reservation (ECUR) (Class B)", "description" : "Successful reservation for an SMS.", "value" : { "invocationTimeStamp" : "2020-12-13T15:28:32.186Z", "invocationSequenceNumber" : 1, "serviceRating" : [ { "serviceContextId" : "32274@3gpp.org", "serviceId" : 4, "price" : { "amount" : { "currencyCode" : "CAD", "valueDigits" : 5, "exponent" : -10 } }, "grantedUnit" : { "serviceSpecificUnit" : 1 }, "resultCode" : "SUCCESS" } ] } }, "SCUR (Class B)" : { "summary" : "Session Charging with Unit Reservation (SCUR) (Class B)", "description" : "Successful reservation for a data session. Two services were requested and both were granted.", "value" : { "invocationTimeStamp" : "2020-12-13T15:28:32.123Z", "invocationSequenceNumber" : 1, "serviceRating" : [ { "serviceContextId" : "32251@3gpp.org", "serviceId" : 1, "ratingGroup" : 2, "grantedUnit" : { "totalVolume" : 100000000 }, "resultCode" : "SUCCESS" }, { "serviceContextId" : "32251@3gpp.org", "serviceId" : 2, "ratingGroup" : 32, "grantedUnit" : { "totalVolume" : 100000000 }, "resultCode" : "SUCCESS" } ] } }, "PARTIAL" : { "summary" : "Partial Success (SCUR)", "description" : "Reservation request succeeds for one service but is unsuccessful for another. The session may continue with the service which succeeded.", "value" : { "invocationTimeStamp" : "2020-12-13T15:28:32.123Z", "invocationSequenceNumber" : 1, "serviceRating" : [ { "serviceContextId" : "32251@3gpp.org", "serviceId" : 1, "ratingGroup" : 2, "grantedUnit" : { "totalVolume" : 100000000 }, "resultCode" : "SUCCESS" }, { "serviceContextId" : "32251@3gpp.org", "serviceId" : 2, "ratingGroup" : 32, "resultCode" : "QUOTA_LIMIT_REACHED" } ], "invocationResult" : { "error" : { "cause" : "QUOTA_LIMIT_REACHED", "title" : "Request denied due to insufficient credit", "invalidParam" : [ { "param" : "/serviceRating/1" } ] }, "failureHandling" : "CONTINUE" } } } } } } }, "400" : { "description" : "Bad request", "content" : { "application/problem+json" : { "schema" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/ProblemDetails" }, "examples" : { "UNKNOWN_CONTEXT" : { "summary" : "Unknown Service Context", "description" : "The request failed completely due to an unknown service context value.", "value" : { "cause" : "CHARGING_FAILED", "title" : "Incomplete or erroneous session or subscriber information", "invalidParams" : [ { "param" : "/serviceRating/0/serviceContextId", "reason" : "unknown context" } ] } } } } } }, "403" : { "description" : "Forbidden", "content" : { "application/problem+json" : { "schema" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/ProblemDetails" }, "examples" : { "QUOTA_LIMIT_REACHED" : { "summary" : "Out of Credit", "description" : "The request failed completely due to insuffcient credit to fulfill the reservation request.", "value" : { "cause" : "QUOTA_LIMIT_REACHED", "title" : "Request denied due to insufficient credit (usage applied)", "invalidParams" : [ { "param" : "/serviceRating/0" }, { "param" : "/serviceRating/1" } ] } } } } } }, "404" : { "description" : "Not Found", "content" : { "application/problem+json" : { "schema" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/ProblemDetails" }, "examples" : { "USER_UNKNOWN" : { "summary" : "Unknown Subscriber", "description" : "The request failed completely because the subscriber identity could not be matched with a known subscriber.", "value" : { "cause" : "USER_UNKNOWN", "title" : "Request denied because the subscriber identity is unrecognized", "invalidParams" : [ { "param" : "/subscriptionId/1", "reason" : "unknown imsi" } ] } } } } } }, "401" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/401" }, "410" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/410" }, "411" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/411" }, "413" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/413" }, "500" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/500" }, "503" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/503" }, "default" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/default" } }, "summary" : "Create rating data for a new event or session", "description" : "The rating data collection represents instances of rating requests." } }, "/ratingdata/{RatingDataRef}/update" : { "post" : { "operationId" : "updateRating", "tags" : [ "Individual Rating Data (Document)" ], "requestBody" : { "required" : true, "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/RatingDataRequest" }, "examples" : { "SCUR (Class B)" : { "summary" : "Session Charging with Unit Reservation (SCUR) (Class B)", "value" : { "nfConsumerIdentification" : { "nodeFunctionality" : "OCF" }, "invocationTimeStamp" : "2020-12-13T15:33:10.203Z", "invocationSequenceNumber" : 2, "beginTimeStamp" : "2020-12-13T15:33:10Z", "serviceRating" : [ { "serviceContextId" : "32251@3gpp.org", "serviceId" : 1, "ratingGroup" : 32, "requestSubType" : "DEBIT", "consumedUnit" : { "totalVolume" : 83256442 } }, { "serviceContextId" : "32251@3gpp.org", "serviceId" : 1, "ratingGroup" : 32, "requestSubType" : "RESERVE" } ] } } } } } }, "parameters" : [ { "name" : "RatingDataRef", "in" : "path", "description" : "A unique identifier for a rating data resource.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Updated Rating Data resource is returned", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/RatingDataResponse" }, "examples" : { "SCUR (Class B)" : { "summary" : "Session Charging with Unit Reservation (SCUR) (Class B)", "value" : { "invocationTimeStamp" : "2020-12-13T15:33:10.289Z", "invocationSequenceNumber" : 2, "serviceRating" : [ { "serviceContextId" : "32251@3gpp.org", "serviceId" : 1, "ratingGroup" : 32, "consumedUnit" : { "totalVolume" : 83256442 }, "resultCode" : "SUCCESS" }, { "serviceContextId" : "32251@3gpp.org", "serviceId" : 1, "ratingGroup" : 32, "grantedUnit" : { "totalVolume" : 100000000 }, "resultCode" : "SUCCESS" } ] } } } } } }, "400" : { "description" : "Bad request", "content" : { "application/problem+json" : { "schema" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/ProblemDetails" } } } }, "403" : { "description" : "Forbidden", "content" : { "application/problem+json" : { "schema" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/ProblemDetails" } } } }, "404" : { "description" : "Not Found", "content" : { "application/problem+json" : { "schema" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/ProblemDetails" } } } }, "401" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/401" }, "410" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/410" }, "411" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/411" }, "413" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/413" }, "500" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/500" }, "503" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/503" }, "default" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/default" } }, "summary" : "In session interim rating data update.", "description" : "Provides an interim update for on going session. May contain reservation requests and/or reports of used units." } }, "/ratingdata/{RatingDataRef}/release" : { "post" : { "operationId" : "endRating", "tags" : [ "Individual Rating Data (Document)" ], "requestBody" : { "required" : true, "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/RatingDataRequest" }, "examples" : { "ECUR (Class B)" : { "summary" : "Event Charging with Unit Reservation (ECUR) (Class B)", "value" : { "nfConsumerIdentification" : { "nodeFunctionality" : "OCF" }, "invocationTimeStamp" : "2020-12-13T15:38:45.490Z", "invocationSequenceNumber" : 2, "beginTimeStamp" : "2020-12-13T15:38:45Z", "oneTimeEvent" : true, "oneTimeEventType" : "PEC", "serviceRating" : [ { "serviceContextId" : "32274@3gpp.org", "serviceId" : 4, "destinationId" : [ { "destinationIdType" : "DN", "destinationIdData" : "14165556789" } ], "requestSubType" : "DEBIT", "consumedUnit" : { "serviceSpecificUnit" : 1 } } ] } }, "SCUR (Class B)" : { "summary" : "Session Charging with Unit Reservation (SCUR) (Class B)", "value" : { "nfConsumerIdentification" : { "nodeFunctionality" : "OCF" }, "invocationTimeStamp" : "2020-12-13T15:38:45.490Z", "invocationSequenceNumber" : 3, "beginTimeStamp" : "2020-12-13T15:38:45Z", "serviceRating" : [ { "serviceContextId" : "32251@3gpp.org", "serviceId" : 1, "ratingGroup" : 32, "requestSubType" : "DEBIT", "consumedUnit" : { "totalVolume" : 723954330 } } ] } } } } } }, "parameters" : [ { "name" : "RatingDataRef", "in" : "path", "description" : "A unique identifier for a rating data resource.", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Rating Data successfully released", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/RatingDataResponse" }, "examples" : { "ECUR (Class B)" : { "summary" : "Event Charging with Unit Reservation (ECUR)", "value" : { "invocationTimeStamp" : "2020-12-13T15:38:45.5340Z", "invocationSequenceNumber" : 2, "serviceRating" : [ { "serviceContextId" : "32274@3gpp.org", "serviceId" : 4, "price" : { "amount" : { "currencyCode" : "CAD", "valueDigits" : 5, "exponent" : -10 } }, "consumedUnit" : { "serviceSpecificUnit" : 1 }, "resultCode" : "SUCCESS" } ] } }, "SCUR (Class B)" : { "summary" : "Session Charging with Unit Reservation (SCUR) (Class B)", "value" : { "invocationTimeStamp" : "2020-12-13T15:38:45.536Z", "invocationSequenceNumber" : 3, "serviceRating" : [ { "serviceContextId" : "32251@3gpp.org", "serviceId" : 1, "ratingGroup" : 2, "consumedUnit" : { "totalVolume" : 723954330 }, "price" : { "currencyCode" : "CAD", "amount" : { "valueDigits" : 20, "exponent" : -10 } }, "resultCode" : "SUCCESS" } ] } } } } } }, "400" : { "description" : "Bad request", "content" : { "application/problem+json" : { "schema" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/ProblemDetails" } } } }, "403" : { "description" : "Forbidden", "content" : { "application/problem+json" : { "schema" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/ProblemDetails" } } } }, "404" : { "description" : "Not Found", "content" : { "application/problem+json" : { "schema" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/ProblemDetails" } } } }, "401" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/401" }, "410" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/410" }, "411" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/411" }, "413" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/413" }, "500" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/500" }, "503" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/503" }, "default" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/responses/default" } }, "summary" : "End of session rating data update.", "description" : "Indicates the end of an existing session. May contain reports of used units." } } }, "components" : { "securitySchemes" : { "oAuth2ClientCredentials" : { "type" : "oauth2", "flows" : { "clientCredentials" : { "tokenUrl" : "{nrfApiRoot}/oauth2/token", "scopes" : { "nrf-rating" : "Access to the Nrf_Rating API" } } } } }, "schemas" : { "RatingDataRequest" : { "type" : "object", "properties" : { "subscriptionId" : { "description" : "Identifies the charged party.", "type" : "array", "items" : { "type" : "string", "pattern" : "^(imsi-[0-9]{5,15}|msisdn-[0-9]{5,15}|nai-.+|gci-.+|gli-.+|iccid-89[0-9]{1,17}|.+)$" } }, "tenantIdentifier" : { "description" : "Identifier of the tenant.", "type" : "string" }, "mnSConsumerIdentifier" : { "description" : "Management service (MnS) consumer Identifier.", "type" : "string" }, "nfConsumerIdentification" : { "description" : "Contains a set of information identifying the network function (NF) consumer of the rating service.", "allOf" : [ { "$ref" : "#/components/schemas/NFIdentification" } ] }, "invocationTimeStamp" : { "description" : "The time at which the request is sent.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/DateTime" } ] }, "beginTimeStamp" : { "description" : "The time of the service activation request.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/DateTime" } ] }, "invocationSequenceNumber" : { "description" : "The sequence number of the rating service invocation by the network function (NF) consumer.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/Uint32" } ] }, "oneTimeEvent" : { "description" : "Indicates, if included, that this is event based rating and whether this is a one-time event. If true, this is a one-time event, that there will be no update or release.", "type" : "boolean" }, "oneTimeEventType" : { "description" : "Indicates the type of the one time event, i.e. Immediate or post event rating.", "anyOf" : [ { "type" : "string", "enum" : [ "IEC", "PEC" ] }, { "type" : "string" } ] }, "serviceContextId" : { "$ref" : "#/components/schemas/ServiceContextId" }, "serviceRating" : { "description" : "One or more service elements to be rated.", "type" : "array", "items" : { "$ref" : "#/components/schemas/ServiceRatingRequest" } } }, "required" : [ "nfConsumerIdentification", "invocationTimeStamp", "invocationSequenceNumber", "serviceContextId" ] }, "RatingDataResponse" : { "type" : "object", "properties" : { "invocationTimeStamp" : { "description" : "The time at which the response is sent.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/DateTime" } ] }, "invocationSequenceNumber" : { "description" : "The sequence number of the rating service invocation by the network function (NF) consumer.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/Uint32" } ] }, "invocationResult" : { "description" : "Holds the result of rating service invocation by the network function (NF) consumer.", "allOf" : [ { "$ref" : "#/components/schemas/InvocationResult" } ] }, "serviceRating" : { "description" : "One or more rated service elements.", "type" : "array", "items" : { "$ref" : "#/components/schemas/ServiceRatingResult" }, "minItems" : 1 } }, "required" : [ "invocationTimeStamp", "invocationSequenceNumber" ] }, "NFIdentification" : { "type" : "object", "properties" : { "nFName" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/NfInstanceId" }, "nFIPv4Address" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/Ipv4Addr" }, "nFIPv6Address" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/Ipv6Addr" }, "nFPLMNID" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/PlmnId" }, "nodeFunctionality" : { "$ref" : "#/components/schemas/NodeFunctionality" }, "nFFqdn" : { "type" : "string" } }, "required" : [ "nodeFunctionality" ] }, "NodeFunctionality" : { "description" : "The function of the node.", "anyOf" : [ { "type" : "string", "enum" : [ "CHF", "OC" ] }, { "type" : "string", "enum" : [ "AMF", "SMF", "SMSF", "PGW_C_SMF", "SGW", "I_SMF", "ePDG", "CEF", "NEF", "MnS_Producer", "SGSN", "V_SMF", "5G_DDNMF", "IMS_Node", "EES", "PCF", "UDM", "UPF" ] }, { "type" : "string" } ] }, "ServiceRatingRequest" : { "type" : "object", "properties" : { "serviceId" : { "description" : "Identifies the service for which the rating request was sent. This ID with the serviceContextId together forms a unique identification of the service.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/ServiceId" } ] }, "ratingGroup" : { "description" : "Identifies the charging key for the service.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/RatingGroup" } ] }, "originationId" : { "description" : "Identifies the origination(s), from which the requested service is directed.", "type" : "array", "items" : { "$ref" : "#/components/schemas/OriginationId" } }, "destinationId" : { "description" : "Identifies the destination(s), to which the requested service is directed.", "type" : "array", "items" : { "$ref" : "#/components/schemas/DestinationId" } }, "serviceContextId" : { "$ref" : "#/components/schemas/ServiceContextId" }, "serviceInformation" : { "description" : "The structure of serviceInformation is defined in the \"middle-tier\" documents and formally specified in TS 32.299. The content of this parameter corresponds to the service indicated by serviceContextId.", "allOf" : [ { "$ref" : "#/components/schemas/ServiceInformation" } ] }, "userInformation" : { "description" : "Information about the user and user equipment.", "allOf" : [ { "$ref" : "#/components/schemas/UserInformation" } ] }, "counter" : { "description" : "One or multiple Counter elements.", "type" : "array", "items" : { "$ref" : "#/components/schemas/Counter" } }, "basicPriceTimeStamp" : { "description" : "The timestamp of the last rating of the Basic Price, if applicable for the service indicated by the serviceId.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/DateTime" } ] }, "requestSubType" : { "description" : "Service rating request sub-type.", "anyOf" : [ { "type" : "string", "enum" : [ "AOC", "RESERVE", "DEBIT", "RELEASE" ] }, { "type" : "string" } ] }, "requestedUnit" : { "description" : "The number of requested units from the service.", "allOf" : [ { "$ref" : "#/components/schemas/RequestedUnit" } ] }, "consumedUnit" : { "description" : "The number of consumed units of the service.", "allOf" : [ { "$ref" : "#/components/schemas/ConsumedUnit" } ] }, "consumedUnitAfterTariffSwitch" : { "description" : "The number of consumed units of the service since previous request after tariff switch occurred. This parameter is mandatory if the tariff switch occurred since the previous request.", "allOf" : [ { "$ref" : "#/components/schemas/ConsumedUnit" } ] }, "uPFID" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/NfInstanceId" } }, "required" : [ "requestSubType" ] }, "ServiceRatingResult" : { "type" : "object", "properties" : { "serviceId" : { "description" : "Identifies the service for which the rating request was sent. This ID with the serviceContextId together forms a unique identification of the service.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/ServiceId" } ] }, "ratingGroup" : { "description" : "Identifies the charging key for the service.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/RatingGroup" } ] }, "serviceContextId" : { "$ref" : "#/components/schemas/ServiceContextId" }, "price" : { "$ref" : "#/components/schemas/Price" }, "grantedUnit" : { "description" : "The number of granted units for the service.", "allOf" : [ { "$ref" : "#/components/schemas/GrantedUnit" } ] }, "billingInfo" : { "description" : "Textual description for bill presentation.", "type" : "string" }, "basicPrice" : { "description" : "Contains a basic fee, that is applicable (e.g. only once per day). If the basicPrice is received by an NF consumer, the NF will deduct this price from the subscriber's account balance, and it will store the current system time internally as timestamp for the last charging of the basic price.", "allOf" : [ { "$ref" : "#/components/schemas/Price" } ] }, "counterPrice" : { "description" : "Contains information on how the NF consumer shall modify a specified counter of the subscriber in the ABMF.", "type" : "array", "items" : { "$ref" : "#/components/schemas/CounterPrice" } }, "impactOnCounter" : { "description" : "Contains information on how the counter has been modified as a result of the current online session. It is used by the CDF for inclusion in the CDRs.", "type" : "array", "items" : { "$ref" : "#/components/schemas/ImpactOnCounter" } }, "tariffSwitchTime" : { "description" : "Time period in seconds from the time included in beginTimeStamp of the request until the next tariff switch occurs. A value \"0\" means, that the tariff switch occurs immediately, i.e. the tariff information contained in nextMonetaryTariff is valid immediately.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/Uint32" } ] }, "currentTariff" : { "description" : "Tariff that is currently valid.", "allOf" : [ { "$ref" : "#/components/schemas/Tariff" } ] }, "nextTariff" : { "description" : "Tariff after the next tariff switch.", "allOf" : [ { "$ref" : "#/components/schemas/Tariff" } ] }, "expiryTime" : { "description" : "Time period in seconds from the time in beginTimeStamp of the request until the expiration of all tariff information contained in this response message. This attribute may be used e.g. if multiple tariff switches are foreseen, or if interworking between limited valid units and tariff switches needs to be ensured.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/Uint32" } ] }, "validUnits" : { "description" : "Defines for how many units the tariff is valid.", "allOf" : [ { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/Uint64" } ] }, "tariffAfterValidUnits" : { "description" : "Tariff after all valid units have been used. This attribute may be used to optimize service availability in scenarios with limited valid units.", "allOf" : [ { "$ref" : "#/components/schemas/Tariff" } ] }, "counterTariff" : { "description" : "One or multiple CounterTariff elements.", "type" : "array", "items" : { "$ref" : "#/components/schemas/CounterTariff" } }, "requestedCounter" : { "description" : "One or multiple CounterIDs. Only the counters identified in this list shall be included by the NF consumer in subsequent update requests within this session. The list is valid until a modified list is received by the NF or until the session ends.", "type" : "array", "items" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/Uint32" } }, "uPFID" : { "$ref" : "https://api.swaggerhub.com/domains/SigScale/TS29571_CommonData/1.2.1#/components/schemas/NfInstanceId" }, "finalUnitIndication" : { "$ref" : "#/components/schemas/FinalUnitIndication" }, "resultCode" : { "anyOf" : [ { "type" : "string", "enum" : [ "SUCCESS", "END_USER_SERVICE_DENIED", "QUOTA_MANAGEMENT_NOT_APPLICABLE", "QUOTA_LIMIT_REACHED", "END_USER_SERVICE_REJECTED", "USER_UNKNOWN", "RATING_FAILED" ] }, { "type" : "string" } ] } }, "required" : [ "resultCode" ] }, "OriginationId" : { "type" : "object", "properties" : { "originationIdType" : { "anyOf" : [ { "type" : "string", "enum" : [ "DN", "NAI" ] }, { "type" : "string" } ] }, "originationIdData" : { "type" : "string" } } }, "DestinationId" : { "type" : "object", "properties" : { "destinationIdType" : { "anyOf" : [ { "type" : "string", "enum" : [ "DN", "APN", "URL", "NAI" ] }, { "type" : "string" } ] }, "destinationIdData" : { "type" : "string" } } }, "ServiceContextId" : { "description" : "A unique identifier of the service specific document that applies to the request. This is an identifier allocated by the service provider/operator, by the service element manufacturer or by a standardization body and MUST uniquely identify a given service specific document. For offline charging, this identifies the service specific document (\"middle tier\" TS) on which associated CDRs should based.\nThe format of the Service-Context-Id is':'\n[extensions.MNC.MCC.Release.]@domain\nThe 3GPP specific values for