Skip to content

API REST V1.0 Alpha

dcrausaz edited this page Mar 11, 2013 · 27 revisions

The API of the gamification plateform is described here.

Note: Arguments marked with a* are not mandatory

#Admin Side

General

Login with APIKey

POST /admin/apiKey

Values send:

{
     apiKey: ""
}

Values received : Request 200 OK or Request 404,500 error

{
     result: ""
}

Logout

GET /admin/closeAPIKey

Values received : Request 200 OK or Request 404,500 error

{
     
}

Game Engine

Create game engine

POST /admin/createGE

Values send:

{
     name: "",
     description: ""
}

Values received : Request 200 OK or Request 404,500 error

{
     name: "",
     description: "",
     APIKey: "",
     secureKey: ""
}

Delete game engine

DELETE /admin/deleteGE/{game-engine-ID}

Values received : Request 200 OK or Request 404,500 error

{

}

Manage badges

Create a new badge

POST /admin/badge

Values send:

{
     name: "",
     description: "",
     URLBadge : ""
}

Values received : Request 201 Create, Request 404 Not Found or Request 500 Internal Server Error

Location: admin/badge/{id}

{
     id: {id}, 
     name: "",
     description: "",
     URLBadge : ""
}

Update a badge

PUT /admin/badge/{id}

Values send:

{
     name: "",
     description: "",
     URLBadge : ""
}

Values received : Request 200 OK, Request 404 Not Found or Request 500 Internal Server Error

{
     id: {id}, 
     name: "",
     description: "",
     URLBadge : ""
}

Delete a badge

DELETE /admin/badge/{id}

Values received : Request 200 OK, Request 404 Not Found or Request 500 Internal Server Error

{

}

Obtain the list of badges

GET /admin/list_badges

Values received : Request 200 OK, Request 404 Not Found or Request 500 Internal Server Error

{
     badges: [{
          id: {id}
          name: "",
          URLBadge: "",
          rules: [{
               id: "",
               name: "",
               type: "",
               value: "",
               levelName* : ""
          }]
     }]
}

Manage levels

Create a level

POST /admin/level

Values send:

{
     name: ""
}

Values received : Request 201 Create, Request 404 Not Found or Request 500 Internal Server Error

Location: admin/level/{id}

{
     id: {id},
     name: ""
}

Update a level

PUT /admin/level/{id}

Values send:

{
     name: ""
}

Values received : Request 200 OK, Request 404 Not Found or Request 500 Internal Server Error

{
     id: {id},
     name: ""
}

Delete a level

DELETE /admin/level/{id}

Values received : Request 200 OK, Request 404 Not Found or Request 500 Internal Server Error

{

}

Obtain the list of levels

GET /admin/level_list

Values received : Request 200 OK, Request 404 Not Found or Request 500 Internal Server Error

{
     levels: [{
          id: {id}
          name: "",
          rules: [{
               id: "",
               name: "",
               type: "",
               value: "",
               badgeName: ""
          }]
     }]
}

Manage rules

Create a new rule

POST /admin/rule

Values send:

{
     badgeID: "",
     name: "",
     type: "",
     value: "",
     levelID*: ""
}

Values received : Request 201 Create, Request 404 Not Found or Request 500 Internal Server Error

Location: admin/rule/{id}

{
     id: {id},
     name: "",
     badgeID: "",
     type: "",
     value: "",
     levelID*: ""
}

Update a rule

PUT /admin/rule/{id}

Values send:

{
     badgeID: "",
     name: "",
     type: "",
     value: "",
     levelID*: ""
}

Values received : Request 200 OK, Request 404 Not Found or Request 500 Internal Server Error

{
     id: {id},
     name: "",
     badgeID: "",
     type: "",
     value: "",
     levelID*: ""
}

Delete a level

DELETE /admin/rule/{id}

Values received : Request 200 OK, Request 404 Not Found or Request 500 Internal Server Error

{

}

Obtain the list of rules

GET /admin/rules_list

Values received : Request 200 OK, Request 404 Not Found or Request 500 Internal Server Error

{
     rules: [{
          id: {id}
          name: "",
          type: "",
          badge: {
               id: "",
               name: "",
               URLBadge: ""
          },
          level: {
               id: "",
               name: "",
          }
     }]
}
Clone this wiki locally