By default the service will listen on localhost port 8080, to change this edit the file BBC.Test.PushBullet/Properties/launchSettings.json and change the applicationUrl attribute under "BBC.Test.PushBullet":
"BBC.Test.PushBullet":{"commandName": "Project", "launchBrowser": true, "launchUrl": "api/v1/users", "environmentVariables":{"ASPNETCORE_ENVIRONMENT": "Development" }, "applicationUrl": "http://localhost:8080/" } Run from the command line by running the following commands from the project root directory
$ cd BBC.Test.PushBullet $ dotnet restore $ dotnet build $ dotnet runTo register a user send a POST request to the /api/v1/users/ with following body (note both fields are mandatory):
{"username": "bbcUser1", "accessToken": "<push bullet API key>" } If successful, the created user object will be returned, status code will be 200:
{"username": "bbcUser1", "accessToken": "<push bullet API key>" "createTime": "2018-04-08T23:40:40", "numbOfNotificationsPush": 0 } If the user already exists you will see, status code will be 400:
{"timestamp": "2018-04-09T20:11:48.825+0000", "status": 400, "message": "User chris already exists", "path": "/api/v1/users/" } To list users, send a GET request to /api/v1/users. Example response is shown below, status code will be 200:
[{"username": "bbcUser1", "accessToken": "<push bullet API key>" "createTime": "2018-04-09T00:04:27", "numOfNotificationsPush": 0 } ] To send a notification to a user, send a POST request to /api/v1/notifications/{username}. For example:
POST /api/v1/notifications/chris{"title": "Hello", "body": "Test Message" } Both title and body are required fields. Below is an example success response, status code will be 200:
{"title": "Hello", "body": "Test Message", "identity": "ujC1DgwXeeGsjAsdxpxtRY" } The identity field is the PushBullet iden field for the push.
If the user does not exist, the following will be displayed, status code will be 404:
{"timestamp": "2018-04-09T20:25:01.085+0000", "status": 404, "message": "User chris1 does not exist", "path": "/api/v1/notification/chris1" } If the push notification fails, an error will displayed indicating the reason for failure, status code will be 500:
{"timestamp": "2018-04-09T20:14:57.527+0000", "status": 500, "message": "<Error Message>", "path": "/api/v1/notification/<username>" }