PingOne Platform APIs - Early Access

Push Delivery Settings

This information is provided as part of the early-access program. API details described here might change before the official release of the feature.

You can use the pushDeliverySettings endpoint to create a custom sender for push notifications.

This allows you to use a gateway of your own to send the push data to push notification services such as APNs and FCM, rather than having PingOne communicate directly with the push notification services.

If you define such a gateway, you just have to provide PingOne with the authentication credentials for your gateway rather than having to provide your credentials for the push notification service.

You can define up to three custom push senders.

Push delivery data model

Property Type Required? Mutable? Description

authentication

Object

Required

Mutable

Contains the information for authenticating with the provider.

authentication.assertion

String

Required

Mutable

The assertion to use if authentication.grantType is set to JWT_BEARER. Must be a valid JWT.

authentication.authToken

String

Required

Mutable

The authentication token for the custom provider account.
Required when authentication.method=BEARER

authentication.authUrl

String

Required

Mutable

The URL of the authorization server that provides the access token.
Required when authentication.method=OAUTH2

authentication.clientAuthenticationMethod

String

N/A

Read-only

The method used for sending credentials for OAuth2. Returned in responses for custom providers that require OAuth 2 authentication. For client ID/secret-based authentication, the value returned is BASIC_AUTH_HEADER. For JWT-based authentication, the value returned is BODY.

authentication.clientId

String

Required

Mutable

The client’s public identifier.
Required when authentication.grantType is set to CLIENT_CREDENTIALS.

authentication.clientSecret

String

Required

Mutable

The client’s secret.
Required when authentication.grantType is set to CLIENT_CREDENTIALS.

authentication.grantType

String

Optional

Mutable

The grant type used. Relevant for custom providers that require OAuth 2 authentication. Set to JWT_BEARER for JWT-based authentication, and to CLIENT_CREDENTIALS for authentication based on client ID and secret. If not specified in the request, the default value is CLIENT_CREDENTIALS.

authentication.headerName

String

Required

Mutable

The name of the custom header used for authentication.
Required when authentication.method=CUSTOM_HEADER

authentication.headerValue

String

Required

Mutable

The value to use for the custom header used for authentication.
Required when authentication.method=CUSTOM_HEADER

authentication.method

String

Required

Mutable

The custom provider account’s authentication method. Possible values:

* BASIC - username/password

* BEARER - bearer token

* OAUTH2 - OAuth 2

* CUSTOM_HEADER - authentication using a custom header

authentication.password

String

Required

Mutable

The password for the custom provider account.
Required when authentication.method=BASIC

authentication.scopes

Array

Optional

Mutable

When authentication.method is set to OAUTH2, use scopes to specify the capabilities that the issued token should have, for example, ["push:send"].

authentication.username

String

Required

Mutable

The username for the custom provider account.
Required when authentication.method=BASIC

name

String

Required

Mutable

The name you want to use for the provider.

provider

String

Required

Immutable

Must be set to CUSTOM_PROVIDER.

requests.body

String

Required

Mutable

The body for the request sent to the push gateway. Must include the mandatory ${push-data} variable, which represents the data provided by PingOne so that you can make the appropriate API calls to the push notification service to send the push notifications to your users. You can also include the optional ${push-provider} variable to specify the push notification service, such as APNS, FCM, or HMS.

requests.deliveryMethod

String

Required

Mutable

The notification’s delivery method. Must be set to PUSH.

requests.headers

Array

Optional

Mutable

The headers to include for the request, for example, { "content-type":"application/json" }.

requests.method

String

Required

Mutable

The type of HTTP request method. For push senders, must be set to POST.

requests.url

String

Required

Mutable

The URL of the gateway for the provider, for example, https://pushgateway.example.com