Starting a new Activity¶
Before starting an activity, a client must have first created a session. For more information on creating sessions, please refer to the appropriate section on session management.
To start an actvitiy, clients should make a POST
request to the create_activity
link of the current session:
Content-Type: application/json
POST /api/session/activities
{
"kind": "Game",
"type": "urn:my-company:my-game:1"
}
Host: https://localsite.trackmanrange.com
A successful response should look like the following:
{
"id": "6bbf9452-5c98-4835-b660-8fa2c26c6103",
"kind": "Game",
"type": "urn:my-company:my-game:1",
"createdAt": "2018-03-08T12:55:10.1754358Z",
"expiresAt": "2018-03-08T13:10:10.1794462Z",
"players": [
{
"id": "205568d6-094f-4c44-9896-7fd187fcbedb",
"sessionId": "36b0a34c-0a55-4a5c-8cf9-184697c95d8e",
"name": "LuckyStrike"
}
],
"bays": [],
"_links": {
"self": {
"method": "GET",
"href": "https://localsite.trackmanrange.com/api/activities/6bbf9452-5c98-4835-b660-8fa2c26c6103"
},
"events": {
"method": "GET",
"href": "https://localsite.trackmanrange.com/api/activities/6bbf9452-5c98-4835-b660-8fa2c26c6103/events"
},
"strokes": {
"method": "GET",
"href": "https://localsite.trackmanrange.com/api/activities/6bbf9452-5c98-4835-b660-8fa2c26c6103/strokes"
},
"sessions": {
"method": "GET",
"href": "https://localsite.trackmanrange.com/api/activities/6bbf9452-5c98-4835-b660-8fa2c26c6103/sessions"
},
"post_message": {
"method": "POST",
"href": "https://localsite.trackmanrange.com/api/activities/6bbf9452-5c98-4835-b660-8fa2c26c6103/messages"
},
"end_activity": {
"method": "DELETE",
"href": "https://localsite.trackmanrange.com/api/activities/6bbf9452-5c98-4835-b660-8fa2c26c6103"
},
"leave_activity": {
"method": "DELETE",
"href": "https://localsite.trackmanrange.com/api/activities/6bbf9452-5c98-4835-b660-8fa2c26c6103/me"
},
"invite": {
"method": "POST",
"href": "https://localsite.trackmanrange.com/api/activities/6bbf9452-5c98-4835-b660-8fa2c26c6103/invitations"
},
"invitations": {
"method": "GET",
"href": "https://localsite.trackmanrange.com/api/activities/6bbf9452-5c98-4835-b660-8fa2c26c6103/invitations"
},
"target": {
"method": "PUT",
"href": "https://localsite.trackmanrange.com/api/activities/6bbf9452-5c98-4835-b660-8fa2c26c6103/target"
},
"club": {
"method": "PUT",
"href": "https://localsite.trackmanrange.com/api/activities/6bbf9452-5c98-4835-b660-8fa2c26c6103/club"
}
}
}
The following table describes the meaning of all the activity links:
Link | Description |
---|---|
club | Changes the current player's selected club |
end_activity | Ends the activity and sends a notification to all players in the activity |
events | Returns a list of all the events that occured in the activity |
invitations | Returns a list of all pending invitations in the activity |
invite | Sends an invitation to another player to join the activity |
leave_activity | Removes the current player from the activity but does not end the activity |
post_message | Sends a client-specific message to everyone in the activity |
sessions | Returns a list of players that are part of the activity |
strokes | Returns a list of all strokes that were shot during the activity |
target | Changes the current player's selected target |
Events¶
Bellow is a list of activity events that are sent through the Websocket channel
Activity Events¶
ActivityStarted¶
Informational message that is sent whenever a new activity is created.