# App websocket API
Pour se connecter
```json
{
"type": "connectGame",
"status": "ok",
"token": theToken,
"data": {
gameId: String/Number,
username: String,
password: String,
},
}
```
retour du serveur
```json
{
"type": "connectGame",
"status": "ok",
"token": null,
"data": {
"token": String,
"roles": [
{
"name": String,
"image": String,
"summary": String
}
]
},
}
```
Pour set un role préféré
```json
{
"type": "setRole",
"status": "ok",
"token": theToken,
"data": {
roleName: String,
},
}
```
Quand il faut reload un page l'app recoit
```json
{
"type": "reloadPage",
"status": "ok",
"token": null,
"data": {},
}
```
```json
{
"type": "getHomePage", // le nom de l'action qui requiert un envoi
"emitter": String, // a voir peut-etre un token
"date": Date,
"data": {
"characterName": String,
"characterPhoto": String, // null pour l'instant
"characterRole": String,
"characterSummaryRole": String,
"characterHints": JSONArray,
"scenarioTitle": String,
"scenarioSummary": String
"characterProperties":{
"alive": boolean,
"protected": boolean,
"poisoned": boolean,
}
},
}
```
```json
{
"type": "getMyPlayer", // le nom de l'action qui requiert un envoi
"emitter": String, // a voir peut-etre un token
"date": Date,
"data": {
"CharacterRole": Role,
},
}
```
```json
{
type: "getObjectPage", // le nom de l'action qui requiert un envoi
emitter: String, // a voir peut-etre un token
date: Date,
data: {
objectName: String
},
}
```
Pour récupérer les données sur un personnage (envoyé depuis l'app)
```json
type: "getPlayerData", // le nom de l'action qui requiert un envoi
emitter: String, // a voir peut-etre un token
date: Date,
data: {
playerRoleName: String
},
```
```json
{
"type": "getMyActions", // le nom de l'action qui requiert un envoi
"emitter": String, // a voir peut-etre un token
"date": Date,
"data": {
"characterActions": {
"Pickpocket": {
"possible": Boolean //Si les prérequis sont remplis, if false = display errorMesage on clic
"errorMessage": "Vous n'avez plus de point d'action",
// DEPRECATED "summary": "Vous volez qq bouhaha",
"description": "blablabla" //accessible en cliquant sur un bouton plus d'infos
}
},
"gameCharacters": List,
"gameObjects": List,
"gameRooms": List
},
}
```
```json
{
"type": "makeAction",
"status": "ok",
"token": null,
"data": {
"actionName":String
}
}
```
Quand un joueur a fait une demande d'action le serveur envoie :
```json
{
"type": "makeAction",
"status": "ok",
"token": null,
"data": {
"choices": [
{
"message": "Veuillez choisir le joueur qui va faire un potin",
"possibilities": [ "toto", "tutu", "titi"],
"min": 1,
"max": 1
},
{
"message": "Veuillez choisir le joueur sur qui sera le potin",
"possibilities": [ "toto", "tutu", "titi"],
"min": 1,
"max": 1
}
]
}
}
```
ou une erreur si l'action n'est pas possible
retour en fin d'action
```json
{
"type": "actionResult",
"status": "ok",
"token": null,
"data": {
"actionName": String,
"choices": [
["titi"],
["toto"]
]
}
}
```
```json
{
type: "getEventsPage", // le nom de l'action qui requiert un envoi
emitter: String, // a voir peut-etre un token
date: Date,
data: {
events:
[
]
},
}
```
Récupère la page les personnages avec une liste des noms des personnages
```json
{
type: "getPlayersPage", // le nom de l'action qui requiert un envoi
emitter: String, // a voir peut-etre un token
date: Date,
data: {
charactersName: List String,
},
}
```
Récupère une page précise d'un personnage avec son rôle et ce que mon personnage pense de lui
```json
{
type: "getPlayerData", // le nom de l'action qui requiert un envoi
emitter: String, // a voir peut-etre un token
date: Date,
data: {
characterRole: String,
characterThoughts: String
},
}
```
```json
{
type: "getMyInventoryPage", // le nom de l'action qui requiert un envoi
emitter: String, // a voir peut-etre un token
date: Date,
data: {
characterObject: String List,
},
}
```
```json
{
type: "getObjectPage", // le nom de l'action qui requiert un envoi
emitter: String, // a voir peut-etre un token
date: Date,
data: {
objectPhoto: String,
objectDescription: String
},
}
```
Quand le serveur envoie une notification
```json
{
"type": "notification",
"status": "ok",
"token": "null",
"data": {
"type": String //warn, info, announce, death
"message": String
}
}