Push Notifications API

Overview of push notifications API methods

post
Send Push Notification

https://api.codemash.io/:version/notifications/push
Send a mobile notification message.
Request
Response
Request
Path Parameters
version
required
string
The version of the API endpoint. Current latest v1.
Headers
Authorization
required
string
Your project's secret key.
x-cm-projectid
required
string
Your project's ID. Can be passed as a query parameter.
Body Parameters
templateId
required
string
The ID of push notification template to use.
roles
optional
array
Roles of users to set as recipients.
users
optional
array
An array of user IDs to be set as recipients.
devices
optional
array
An array of device IDs to be set as recipients.
isNonPushable
optional
boolean
If set as true, creates a silent notification without popping up at the recipient's device.
tokens
optional
object
Key-value pair (string: string) object of custom tokens.
postpone
optional
integer
Amount of milliseconds to postpone sending the notification.
respectTimeZone
optional
boolean
If creating a postponed notification and the recipient's devices have timezone set, then postpones according to the device's timezone.
Response
200: OK
Returns an ID of created notification group.
{
Result: ""
}
401: Unauthorized
Returns if the user does not have a valid permission to call this method.
500: Internal Server Error
.NET
Node
PHP
.NET
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.SendPushNotificationAsync(
new SendPushNotificationRequest
{
TemplateId = Guid.Parse("{TEMPLATE_ID}"),
Users = new List<string> { "{USER_ID}" }
}
);
Node
PHP
use Codemash\CodemashClient;
use Codemash\CodemashPushNotification;
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function sendPushNotification()
{
$responseData = $this->codemashPushNotification->sendNotification([
'templateId' => '{TEMPLATE_ID}',
'users' => [
'{USER_ID}',
'{USER_ID}',
'{USER_ID}',
],
]);
}
}

get
Get Notification

https://api.codemash.io/:version/notifications/push/:id
Gets a push notification.
Request
Response
Request
Path Parameters
version
required
string
The version of the API endpoint. Current latest v1.
id
required
string
The ID of a notification to get.
Headers
Authorization
required
string
Your project's secret key.
x-cm-projectid
required
string
Your project's ID. Can be passed as a query parameter.
Response
200: OK
Returns an ID of created notification group.
{
Result: ""
}
401: Unauthorized
Returns if the user does not have a valid permission to call this method.
500: Internal Server Error
.NET
Node
PHP
.NET
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.GetNotificationAsync(
new GetNotificationRequest
{
Id = "{NOTIFICATION_ID}"
}
);
Node
PHP
use Codemash\CodemashClient;
use Codemash\CodemashPushNotification;
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function getNotification()
{
$responseData = $this->codemashPushNotification->getNotification([
'id' => '{NOTIFICATION_ID}',
]);
}
}

get
Get Notifications

https://api.codemash.io/:version/notifications/push
Gets many push notifications.
Request
Response
Request
Path Parameters
version
required
string
The version of the API endpoint. Current latest v1.
Headers
Authorization
required
string
Your project's secret key.
x-cm-projectid
required
string
Your project's ID. Can be passed as a query parameter.
Query Parameters
userId
optional
string
The ID of a user whose notifications to get.
deviceId
optional
string
The ID of a device whose notifications to get.
Response
200: OK
Returns an ID of created notification group.
{
Result: ""
}
401: Unauthorized
Returns if the user does not have a valid permission to call this method.
500: Internal Server Error
.NET
Node
PHP
.NET
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.GetNotificationsAsync(
new GetNotificationsRequest
{
UserId = "{USER_ID}"
}
);
Node
PHP
use Codemash\CodemashClient;
use Codemash\CodemashPushNotification;
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function getNotifications()
{
$responseData = $this->codemashPushNotification->getNotifications([
'userId' => '{USER_ID}',
]);
}
}

If you do not specify user ID or device ID, the method will return notifications directed to the calling user. To get any user's or device's notifications, the calling user need's to have the appropriate permission for that.

get
Get Notifications Count

https://api.codemash.io/:version/notifications/push/count
Gets total and total unread notifications.
Request
Response
Request
Path Parameters
version
required
string
The version of the API endpoint. Current latest v1.
Headers
Authorization
required
string
Your project's secret key.
x-cm-projectid
required
string
Your project's ID. Can be passed as a query parameter.
Query Parameters
userId
optional
string
The ID of a user whose notifications to get.
deviceId
optional
string
The ID of a device whose notifications to get.
Response
200: OK
Returns an ID of created notification group.
{
"result": {
"totalCount": 20,
"totalUnread": 2
}
}
401: Unauthorized
Returns if the user does not have a valid permission to call this method.
500: Internal Server Error
.NET
Node
PHP
.NET
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.GetNotificationsCountAsync(
new GetNotificationsCountRequest
{
UserId = "{USER_ID}"
}
);
Node
PHP
use Codemash\CodemashClient;
use Codemash\CodemashPushNotification;
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function getNotificationsCount()
{
$responseData = $this->codemashPushNotification->getNotificationCount([
'userId' => '{USER_ID}',
]);
}
}

If you do not specify user ID or device ID, the method will return notifications directed to the calling user. To get any user's or device's notifications, the calling user need's to have the appropriate permission for that.

patch
Read Notification

https://api.codemash.io/:version/notifications/push/:notificationId/read
Marks a particular push notification as read.
Request
Response
Request
Path Parameters
version
required
string
The version of the API endpoint. Current latest v1.
id
required
string
The ID of a notification to delete.
Headers
Authorization
required
string
Your project's secret key.
x-cm-projectid
required
string
Your project's ID. Can be passed as a query parameter.
Body Parameters
notificationId
required
string
The ID of notification to mark as read.
userId
optional
string
The ID of the user at which this notification was directed.
deviceId
optional
string
The ID of device at which this notification was directed.
Response
200: OK
Returns an ID of created notification group.
{
Result: ""
}
401: Unauthorized
Returns if the user does not have a valid permission to call this method.
500: Internal Server Error
.NET
Node
PHP
.NET
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.ReadNotificationAsync(
new MarkNotificationAsReadRequest
{
NotificationId = "{NOTIFICATION_ID}"
}
);
Node
PHP
use Codemash\CodemashClient;
use Codemash\CodemashPushNotification;
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function readNotification()
{
$responseData = $codemashPushNotification->readNotification([
'id' => '{NOTIFICATION_ID}',
]);
}
}

If you do not specify user ID or device ID, the method will assume that notification was directed to a calling user. If you want to set other user's notification as read, you need to have the appropriate permission for that.

delete
Delete Notification

https://api.codemash.io/:version/notifications/push/:id
Deletes a particular push notification.
Request
Response
Request
Path Parameters
version
required
string
The version of the API endpoint. Current latest v1.
id
required
string
The ID of a notification to delete.
Headers
Authorization
required
string
Your project's secret key.
x-cm-projectid
required
string
Your project's ID. Can be passed as a query parameter.
Response
200: OK
Returns an ID of created notification group.
{
Result: ""
}
401: Unauthorized
Returns if the user does not have a valid permission to call this method.
500: Internal Server Error
.NET
Node
PHP
.NET
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.DeleteNotificationAsync(
new DeleteNotificationRequest
{
Id = "{NOTIFICATION_ID}"
}
);
Node
PHP
use Codemash\CodemashClient;
use Codemash\CodemashPushNotification;
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function deleteNotification()
{
$responseData = $codemashPushNotification->deleteNotification([
'id' => '{NOTIFICATION_ID}',
]);
}
}