A.3 MSGS_MSGDelivery API

29.5383GPPApplication Programming Interfaces (API) specificationEnabling MSGin5G ServiceRelease 18Stage 3TS

openapi: 3.0.0

info:

title: MSGS_MSGDelivery

version: 1.0.0

description: |

API for MSGG MSGin5G Server Message Delivery Service.

© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).

All rights reserved.

externalDocs:

description: >

3GPP TS 29.538 V17.1.0; Enabling MSGin5G Service; Application Programming Interfaces (API)

specification; Stage 3

url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.538/

servers:

– url: ‘{apiRoot}/msgs-msgdelivery/v1’

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501

security:

– {}

– oAuth2ClientCredentials:

– msgs-msgdelivery

paths:

/deliver-as-message:

post:

summary: AS deliver message to MSGin5G Server

tags:

– AS Message delivery

requestBody:

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/ASMessageDelivery’

responses:

‘200’:

description: OK, AS Message delivery successful

content:

application/json:

schema:

$ref: ‘#/components/schemas/MessageDeliveryAck’

‘400’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

/deliver-ue-message:

post:

summary: UE deliver message to MSGin5G Server

tags:

– UE Message delivery

requestBody:

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/UEMessageDelivery’

responses:

‘200’:

description: OK, UE Message delivery successful

content:

application/json:

schema:

$ref: ‘#/components/schemas/MessageDeliveryAck’

‘400’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

/deliver-report:

post:

summary: AS or UE deliver status report to MSGin5G Server

tags:

– AS/UE status report delivery

requestBody:

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/DeliveryStatusReport’

responses:

‘200’:

description: OK, status report delivery successfully

content:

application/json:

schema:

$ref: ‘#/components/schemas/MessageDeliveryAck’

‘400’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

components:

securitySchemes:

oAuth2ClientCredentials:

type: oauth2

flows:

clientCredentials:

tokenUrl: ‘{nrfApiRoot}/oauth2/token’

scopes:

msgs-msgdelivery: Access to the MSGS_MSGDelivery API

schemas:

#

# STRUCTURED DATA TYPES

#

ASMessageDelivery:

description: Contains the AS message delivery data

type: object

required:

– oriAddr

– destAddr

– msgId

– stoAndFwInd

properties:

oriAddr:

$ref: ‘TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address’

destAddr:

$ref: ‘TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address’

appId:

type: string

msgId:

type: string

secCred:

type: string

delivStReqInd:

type: boolean

payload:

type: string

priority:

$ref: ‘#/components/schemas/Priority’

segInd:

type: boolean

segParams:

$ref: ‘#/components/schemas/MessageSegmentParameters’

stoAndFwInd:

type: boolean

stoAndFwParams:

$ref: ‘#/components/schemas/StoreAndForwardParameters’

latency:

type: integer

UEMessageDelivery:

description: Contains the UE message delivery data

type: object

required:

– oriAddr

– destAddr

– msgId

– stoAndFwInd

properties:

oriAddr:

$ref: ‘TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address’

destAddr:

$ref: ‘TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address’

appId:

type: string

msgId:

type: string

secCred:

type: string

delivStReqInd:

type: boolean

payload:

type: string

segInd:

type: boolean

segParams:

$ref: ‘#/components/schemas/MessageSegmentParameters’

stoAndFwInd:

type: boolean

stoAndFwParams:

$ref: ‘#/components/schemas/StoreAndForwardParameters’

MessageDeliveryAck:

description: Contains the message delivery ack data

type: object

required:

– oriAddr

– msgId

properties:

oriAddr:

$ref: ‘TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address’

msgId:

type: string

status:

$ref: ‘#/components/schemas/DeliveryStatus’

failureCause:

type: string

MessageSegmentParameters:

description: Contains the message segment parameters data

type: object

properties:

segId:

type: string

totalSegCount:

type: integer

segNumb:

type: integer

lastSegFlag:

type: boolean

StoreAndForwardParameters:

description: Contains the store and forward parameters data

type: object

properties:

exprTime:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’

DeliveryStatusReport:

description: Contains the delivery status report data

type: object

required:

– oriAddr

– destAddr

– msgId

– delivSt

properties:

oriAddr:

$ref: ‘TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address’

destAddr:

$ref: ‘TS29538_MSGG_L3GDelivery.yaml#/components/schemas/Address’

msgId:

type: string

secCred:

type: string

failureCause:

type: string

delivSt:

$ref: ‘#/components/schemas/ReportDeliveryStatus’

#

# SIMPLE DATA TYPES

#

#

# ENUMERATIONS

#

DeliveryStatus:

anyOf:

– type: string

enum:

– DELY_FAILED

– DELY_STORED

– type: string

description: >

This string provides forward-compatibility with future

extensions to the enumeration but is not used to encode

content defined in the present version of this API.

description: |

Possible values are:

– DELY_FAILED: Indicates that the message delivery is failed.

– DELY_STORED: Indicates that the message is stored for deferred delivery.

ReportDeliveryStatus:

anyOf:

– type: string

enum:

– REPT_DELY_SUCCESS

– REPT_DELY_FAILED

– type: string

description: >

This string provides forward-compatibility with future

extensions to the enumeration but is not used to encode

content defined in the present version of this API.

description: |

Possible values are:

– REPT_DELY_SUCCESS: Indicates that the report delivery is successful.

– REPT_DELY_FAILED: Indicates that the report delivery is failed.

Priority:

anyOf:

– type: string

enum:

– HIGH

– MIDDLE

– LOW

– type: string

description: >

This string provides forward-compatibility with future

extensions to the enumeration but is not used to encode

content defined in the present version of this API.

description: |

Possible values are:

– HIGH: Indicates the messages should be sent in high priority.

– MIDDLE: Indicates the messages should be sent in middle priority.

– LOW: Indicates the messages should be sent in low priority.