The AddCertificate API allows the Account Owner to add a certificate to be used for authenticating push notifications requests sent to a particular mobile application running on iOS or Android. The operation may only be called over HTTPS.
Apstrata allows a developer to send push notifications to iOS applications by abstracting the Apple Push Notification Service. Similarly, it allows a developer to send push notifications to Android applications by abstracting the Google Cloud Messaging for Android. In other words, apstrata serves as a push notifications provider for iOS and Andriod applications.
Apstrata makes it really simple to enable push notifications for your applications through a REST API. Here are the steps that need to be taken for this purpose:
- Create a configuration for a "mobile application" using the "AddCertificate" API (upload the required certificate and password as both Apple and Google require that push notifications requests be authenticated).
- Create channels and subscribe device tokens to them (every device has a unique token or identifier) or push notifications to a run-time specified set of devices ("ad-hoc")
- Send notifications to a channel (push notifications will be sent to all devices subscribed in the channel) or to the ad-hoc set of tokens
For iOS, each application has a push notifications certificate issued by Apple. For more details on that, please read this tutorial on how to create and add a certificate.
Specific Request Parameters
(Refer to Common Request Parameters)
The name of the store in which the channel is created
|applicationID||An identifier for the mobile application for which the certificate is to be added||Yes|
The certificate file as obtained from Apple. For the case of Android, you need to create a text file that contains the the API Key. This will change to be a plain text in future releases.
|password||For iOS, this field contains the value of the password associated with the certificate. For Android this field is not required.||Yes|
|development||If the certificate you are uploading is a production certificate, set this parameter value to "false", only valid for iOS||No||true||true, false|
Specific Response Elements
(Refer to Common Response Elements)
Specific Logical Errors
(Refer to Common Logical Error Codes)
Store name is invalid.
The store was not found
|PARAMETER_REQUIRED||One of the required parameters is missing||400|
|INVALID_REQUEST||The request is made over HTTP and not HTTPS||400|
|PERMISSION_DENIED||The request is made by a regular user and not by the account owner||403|
|DUPLICATE_DOCUMENT_KEY||The provided application ID already exists||400|
|INVALID_PARAMETER||The value provided for the platform parameter is not valid or is not supported||400|
Sample XML Response
Sample JSON Response