Download OpenAPI specification:Download
The definition of Errors:
NOT_AUTHORIZED
- You don't have the permission to access APIs. Maybe you're using wrong Client Key.
PERMISSION_DENIED
- You don't have the permission to execute the task.
INVALID_PARAM
- Your HTTP parameter is invalid or missing.
INVALID_REQUEST
- Your HTTP request is invalid.
LIMIT_EXCEEDED
- Your account or application limit reached.
DUPLICATION
- The item is existed.
NOT_FOUND
- We can not find your item.
UNKNOWN_ERROR
- Internal server error (An unknown error has occurred). Please contact with us in this case.
View the details of a single app
Return application object
Live Server
curl --header "Content-Type: application/json" \ --header "client-key: CLIENT-KEY" \ --request "GET" "https://api.pushdi.com/application"
Configure platform for a single app.
Support iOS
and ANDROID
via Rest API only. For other platforms, you have to use our Dashboard to setting.
platform | string Enum: "ios" "android" The platform identifier. |
fcm_key | string
|
apns_pem | string
|
apns_env | string
|
Return success status
Live Server
View the details of all attributes of a single app
Attribute list was retrieved successfully
Live Server
curl --header "Content-Type: application/json" \ --header "client-key: CLIENT-KEY" \ --request "GET" "https://api.pushdi.com/attribute"
Add a new attribute to one of your apps.
name required | string <= 50 characters ^[a-z0-9_]+$ Name of attribute |
type required | string Enum: "boolean" "string" "array" "number" Attribute type |
label | string <= 100 characters Label for this attribute |
Return success status
Live Server
Edit an attribute of one of your apps.
name required | string <= 50 characters ^[a-z0-9_]+$ Name of attribute |
new_name | string <= 50 characters ^[a-z0-9_]+$ New name for replacement |
label | string <= 100 characters New Label for replacement |
Return success status
Live Server
Delete an attribute of app.
name required | string <= 100 characters ^[a-z0-9_]+$ Name of attribute |
Return success status
Live Server
Add a realtime event data to use in trigger push notification.
custom_id required | string The unique key for your event data. |
your_event_field_1 | boolean Example: true |
your_event_field_2 | integer Example: 123 |
your_event_field_3 | string Example: 'your string' |
your_event_field_4 | array Example: ['your value 1', 'your value 2'] |
your_event_field_5.date | integer Example: 1569899799 - Unix Timestamp |
Return response status
Live Server
Register a new player to one of your apps.
If a player is already registered with the specified identifier, then this will update the existing player record instead of creating a new one.
device_type required | string Enum: "ios" "android" "other" The device's platform. |
device_id required | string The device identifie. |
device_token | string The device push token.
|
mobile_number | string^[+]*[0-9]{1,4}[/0-9]{10,15}$ The mobile number. Formatting for phone numbers entails the following:
Example: +84912345678 |
device_os | string Device operating system version. Example: 12.1.4 |
device_model | string Device operating system version. Example: iPhone5,1 |
app_version | string Your application's version. Example: 1.2.1 |
language | string Language code in the ISO Language Code (first 2 characters). Example: vi |
country | string Country code in the ISO 3166-1 Alpha 2 format. Example: vn |
custom_user_id | string A custom user ID. Example: 98765 |
any_parameter_name | string <lowercase> [ 2 .. 100 ] characters Default: "Your custom parameter" Custom parameter for the player.
Example:
|
Return player ID
Live Server
Update an existing player in one of your apps.
player_id required | string The player ID |
device_token | string The device push token.
|
app_version | string Your application's version. Example: 1.2.1 |
my_gender | string Your custom parameter |
my_age | integer Your custom parameter |
Return success status
Live Server
Update a player's session information.
This method should be called when a player opens your app after they are already registered.
This method will automatically increment the player's SESSION_COUNT
.
By default, if a player is inactive for 30 minutes or more, any future activity is attributed to a new session. Users that leave your site and return within 30 minutes are counted as part of the original session.
player_id required | string The player ID |
Return success status
Live Server
curl --header "Content-Type: application/json" \ --header "client-key: CLIENT-KEY" \ --request "POST" "https://api.pushdi.com/player/YOUR_PLAYER_ID/on_session"
View the details of multiple notifications.
title | string The message title of notification |
tag | string The tag of notification |
limit | integer Default: 10 The number of items per page |
page | integer Default: 1 The pagination page number |
start_on | integer The start date in |
end_on | integer The end date in |
Return notification list
Live Server
curl --header "Content-Type: application/json" \ --header "client-key: CLIENT-KEY" \ --request "GET" "https://api.pushdi.com/notification"
Send notification to segmentations or individual players.
options | object Push Scope object |
type required | string Default: "mobile_push" Enum: "mobile_push" "web_push" "sms" "facebook" The notification type |
headings | string
|
contents required | string The content of message |
status | string Default: "waiting" Enum: "new" "waiting" Status of notification. A new notification will wait for updating to |
platforms | Array of strings (NativePlatform) Items Enum: "ios" "android"
|
player_ids | array The filters by player ids. It is useful for sending realtime messages by your logic. Example:
|
filters | array The target filters. Formatting Filters:
|
data | array A custom map of data that is passed back to your app. Example:
|
tags | array Dynamic tags used for group notification. Example:
|
schedule | integer Default: 0 The schedule in |
Return notification ID
Live Server
Send multiple notifications to segmentations or individual players.
notifications | Array of objects (NewNotification) Array of notifications |
Return notification ID
Live Server
Update a notification information, work only for a new notification (notification has new
status).
notification_id required | string The ID of notification |
options | object Push Scope object |
type required | string Default: "mobile_push" Enum: "mobile_push" "web_push" "sms" "facebook" The notification type |
headings | string
|
contents required | string The content of message |
status | string Default: "waiting" Enum: "new" "waiting" Status of notification. A new notification will wait for updating to |
platforms | Array of strings (NativePlatform) Items Enum: "ios" "android"
|
player_ids | array The filters by player ids. It is useful for sending realtime messages by your logic. Example:
|
filters | array The target filters. Formatting Filters:
|
data | array A custom map of data that is passed back to your app. Example:
|
tags | array Dynamic tags used for group notification. Example:
|
schedule | integer Default: 0 The schedule in |
Return notification ID
Live Server
Cancel a notification of your app.
notification_id required | string The ID of notification |
Return success status
Live Server
curl --header "Content-Type: application/json" \ --header "client-key: CLIENT-KEY" \ --request "DELETE" "https://api.pushdi.com/notification/YOUR_NOTIFICATION_ID"
View the details of a single notification.
notification_id required | string The ID of notification |
Return notification object
Live Server
curl --header "Content-Type: application/json" \ --header "client-key: CLIENT-KEY" \ --request "GET" "https://api.pushdi.com/notification/YOUR_NOTIFICATION_ID"
Track when users open a notification.
opened | boolean Set to |
player_id | string Your player id. |
platform | string Your platform |
Return success status
Live Server
View the details of multiple segments.
limit | integer Default: 10 The number of items per page |
page | integer Default: 1 The pagination page number |
Return segmentation list
Live Server
curl --header "Content-Type: application/json" \ --header "client-key: CLIENT-KEY" \ --request "GET" "https://api.pushdi.com/segment"
Create segment to used in send notification.
name required | string <= 100 characters The segmentation title |
description | string <= 500 characters The segmentation description. |
filters required | array The target filters. Formatting Filters:
|
Return segmentation ID
Live Server
Update a segmentation of your app.
segment_id required | string The segmentation ID |
name required | string <= 100 characters The segmentation title |
description | string <= 500 characters The segmentation description. |
filters required | array The target filters. Formatting Filters:
|
Return success status
Live Server
Delete a segmentation of your app.
segment_id required | string The segmentation ID |
Return success status
Live Server
curl --header "Content-Type: application/json" \ --header "client-key: CLIENT-KEY" \ --request "DELETE" "https://api.pushdi.com/segment/YOUR_SEGMENT_ID"
View the details of a segmentation.
segment_id required | string The segmentation ID |
Return segmentation object
Live Server
curl --header "Content-Type: application/json" \ --header "client-key: CLIENT-KEY" \ --request "GET" "https://api.pushdi.com/segment/YOUR_SEGMENT_ID"