A.2 Error and Informational response schema

29.2503GPPNu reference point between SCEF and PFDF for sponsored data connectivityRelease 16TS

This subclause defines the JSON schema for the body of HTTP responses in case of errors or success. The schema is based on IETF draft-newton-json-content-rules [12] and is defined below:

# jcr-version 0.7

# ruleset-id 3gpp.nuapplication.info

; A JCR for the error/successful response body

; Errors information

$errors-root = @{root} { $errors }

; Success information

$success-root = @{root} {

$success-message,

$success-path ?,

$success-info ?

}

; Resource fields definitions

; The list of errors returned in responses sent by the PCEF/TDF

$errors = "errors" : [

{

$error-type,

$error-message,

$error-tag ?,

$error-path ?,

$error-info ?

} +

]

; The error type for an error. It can be one of ‘application’, ‘interface’, ‘server’ and ‘other’.

$error-type = "error-type" : ( "application" | "interface" | "server" | "other" )

; The error text message

$error-message = "error-message" : string

; The error tag for a specific error

$error-tag = "error-tag" : string

; A JSON pointer path to the error resource

$error-path = "error-path" : string

; Any additional information for the error

$error-info = "error-info" : {

$pfd-reports ?,

// : any *

}

; Report fields definitions

; The list of pfd reports sent to the SCEF

$pfd-reports = "pfd-reports" : [

{

$application-ids,

$pfd-failure-code,

$caching-time

} +

]

; The application identifiers for the PFDs

$application-ids = "application-ids" : [string+]

; The string format for the pfd failure code

$pfd-failure-code =: (

"MALFUNCTION" |

"RESOURCES_LIMITATION" |

"TOO_SHORT_ALLOWED_DELAY" |

"PARTIAL_FAILURE" |

"OTHER_REASON"

)

; The caching time for the PFDs

$caching-time = "caching-time" : uint64

; The successful text message

$success-message = "success-message" : string

; A JSON pointer path to the success resource

$success-path = "success-path" : string

; Any additional information for the success.

$success-info = "success-info" : { // : any *}