Skip Headers
Oracle® Communications Services Gatekeeper RESTful Application Developer's Guide
Release 5.0

Part Number E16621-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
View PDF

16 WAP Push

This chapter describes the operations in the WAP Push interface of the RESTful Web Services provided in Oracle Communications Services Gatekeeper.

About the WAP Push Interface

Applications use the RESTful WAP Push interface to send a Wireless Application Protocol (WAP) Push message. The content of the message is coded as a (Password Authentication Protocol) PAP message.

The message payload must adhere to the following:

For links to the specifications, see

http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html.

The actual message is sent as an HTTP attachment. See "Headers for Multipart Messages with Attachments" for more information.

REST Service Descriptions Available at Run-time

When the Administration Server for your Services Gatekeeper domain is in the running state, the REST service descriptions of these operations can be found at

http://host:port/rest/push_message/index.html

where host and port are the host name and port of the machine on which Services Gatekeeper is installed.


Send Push Message

The Send Push Message operation sends a WAP Push message.

Authorization

Basic

HTTP Method

POST

URI

http://host:port/rest/push_message/messages

where host and port are the host name and port of the machine on which Services Gatekeeper is installed.

Request Header

The request headers depend on the type of message:

Message Part Content

The Message Part Content for this operation accepts the following parameters:

The Message Part Content for this operation is represented by the following JSON data structure, where the value part of each name/value pair indicates its data type:

{
  "destinationAddresses": ["String"],
  "pushId": "String",
  "replaceMethod": "all|pending-only",
  "requesterID": "String",
  "serviceCode": "String",
  "additionalProperties": [{
    "name": "String",
    "value": "String"
  }],
  "deliverAfterTimestamp": "Calendar",
  "deliverBeforeTimestamp": "Calendar",
  "progressNotesRequested": "Boolean",
  "replacePushId": "String",
  "resultNotificationEndpoint": "URI",
  "sourceReference": "String"
}

Response Header

Standard header fields. If the request fails, the Status-Line header field will contain the status code and the reason for the failure. See "Errors and Exceptions".

Response Body

The response body is a nested JSON object. It contains the result attribute with the following attributes and data objects:

Table 16-1 Possible Outcome Codes

Code Description

1000

OK

1001

Accepted for processing

2000

Bad request

2001

Forbidden

2002

Address error

2003

Address not found

2004

Push ID not found

2005

Capabilities mismatch

2006

Required capabilities not supported

2007

Duplicate Push ID

2008

Cancellation not possible

3000

Internal server error

3001

Not implemented

3002

Version not supported

3003

Not possible

3004

Capability matching not possible

3005

Multiple addresses not supported

3006

Transformation failure

3007

Specified delivery method not possible

3008

Capabilities not available

3009

Required network not available

3010

Required bearer not available

3011

Replacement not supported

4000

Service failure

4001

Service unavailable


The response body for this operation is represented by the following JSON data structure, where the value part of the name/value pair indicates its data type:

{"result": {
  "pushId": "String",
  "result": {
    "code": "String",
    "description": "String"
  },
  "additionalProperties": [{
    "name": "String",
    "value": "String"
  }],
  "replyTime": "Calendar",
  "senderAddress": "String",
  "senderName": "String"
}}

Result Notification Message Object

The resultNotificationMessage object delivered to the resultNotificationEndpoint address is a nested JSON object containing the following entries:

The notification of the result for this operation is represented by the following JSON data structure, where the value part of the name/value pair indicates its data type:

{"resultNotificationMessage": {
  "address": "String",
  "code": "String",
  "messageState": "rejected|pending|delivered|undeliverable|expired|aborted|timeout|cancelled|unknown",
  "pushId": "String",
  "additionalProperties": [{
    "name": "String",
    "value": "String"
  }],
  "description": "String",
  "eventTime": "Calendar",
  "receivedTime": "Calendar",
  "senderAddress": "String",
  "senderName": "String"
}}