You can use Koraki web API to create notifications programmatically. This lets you integrate Koraki with almost any system you currently use. You need to identify a triggering event of any other system (ex., Place order of your custom shopping cart application) to create a notification and use web Koraki API post notification method to generate a notification.
All the requests are required to have basic authorization header. You can obtain credentials (Client Id and Client Secret) of a Koraki application by logging into admin panel and going to Details tab of an application. Client id and client secret is joined together with a colon in between and then encoded using base-64 encoding method.
Authorization: Basic base64(client_id:client_secret)
All the responses are sent in JSON encoded format. Following header is also required to be sent with each request.
Accept: application/json
curl -X GET https://api.koraki.io/api/v1.0/Notifications
-H 'authorization: Basic <BASE 64 ENCODED TOKEN>'
-H 'content-type: application/json'
{"pageNumber": 0,"pageSize": 0,"pageCount": 0,"totalRecordCount": 0,"items": [{"status": "Created","notificationText": "string","thumbnailUrl": "string","variables": "string","location": "string","createdOn": "2018-09-16T18:48:14.714Z","type": "Normal","id": 0}]}
{"message": "string","isError": true,"details": "string","errors": ["string"]}
{"message": "string","isError": true,"details": "string","errors": ["string"]}
curl -X GET https://api.koraki.io/api/v1.0/Notifications/:id
-H 'authorization: Basic <BASE 64 ENCODED TOKEN>'
-H 'content-type: application/json'
{"status": "Created","notificationText": "string","thumbnailUrl": "string","variables": "string","location": "string","createdOn": "2018-09-21T08:09:21.955Z","type": "Normal","id": 0}
{"message": "string","isError": true,"details": "string","errors": ["string"]}
{"message": "string","isError": true,"details": "string","errors": ["string"]}
curl -X POST https://api.koraki.io/api/v1.0/Notifications
-H 'authorization: Basic <BASE 64 ENCODED TOKEN>'
-H 'content-type: application/json'
-d '{
"status": "Ready",
"variables": "{'key1' : 'value1'}",
"notificationText": "Alex joined i2CS, Inc. organization",
"localizedNotificationTexts" : {
"en" : "Alice from Melbourne bought an Apple",
"fr" : "Alice de Melbourne a acheté une pomme"
}
"iPAddress": "192.206.151.131",
"createdOn": "2018/12/26"
}'
{"status": "Created","notificationText": "string","thumbnailUrl": "string","variables": "string","location": "string","createdOn": "2018-09-16T18:48:14.731Z","type": "Normal","id": 0}
{"message": "string","isError": true,"details": "string","errors": ["string"]}
{"message": "string","isError": true,"details": "string","errors": ["string"]}
{"message": "string","isError": true,"details": "string","errors": ["string"]}
curl -X DELETE https://api.koraki.io/api/v1.0/Notifications/:id
-H 'authorization: Basic <BASE 64 ENCODED TOKEN>'
-H 'content-type: application/json'
​
{"message": "string","isError": true,"details": "string","errors": ["string"]}
{"message": "string","isError": true,"details": "string","errors": ["string"]}
{"message": "string","isError": true,"details": "string","errors": ["string"]}