Recipes
1. Set record fields.
You can set as many fields as you need. curl -X POST \
-H "Content-Type: application/json" \
-H "QB-Token: 199b1d9ec0dedeb19d81283b3b2a32b80f012bba" \
-d '{
"score_value":665,
"progress":"0.12",
"expert_mode":false,
"game_mode_name":"deathmatch",
"user_location":"11.13, 45.52",
"date":"2019-09-21 21:21:00",
"completed_levels":[
1,
2,
3
]
}' \
"https://api.quickblox.com/data/ScoreTable.json"
2. Set a class.
Set a class for a new record. Here, the ScoreTable
class is specified. curl -X POST \
-H "Content-Type: application/json" \
-H "QB-Token: 199b1d9ec0dedeb19d81283b3b2a32b80f012bba" \
-d '{
"score_value":665,
"progress":"0.12",
"expert_mode":false,
"game_mode_name":"deathmatch",
"user_location":"11.13, 45.52",
"date":"2019-09-21 21:21:00",
"completed_levels":[
1,
2,
3
]
}' \
"https://api.quickblox.com/data/ScoreTable.json"
3. As a result, the API returns a new record.
{
"_id" : "5d866b53a28f9a5ad51cb562" ,
"_parent_id" : null ,
"completed_levels" : [
1 ,
2 ,
3
],
"created_at" : 1569090387 ,
"date" : "2019-09-21T21:21:00Z" ,
"expert_mode" : false ,
"game_mode_name" : "deathmatch" ,
"progress" : 0.12 ,
"score_value" : 665 ,
"updated_at" : 1569090387 ,
"user_avatar" : null ,
"user_id" : 96753878 ,
"user_location" : [
11.13 ,
45.52
],
"permissions" : {
"read" : {
"access" : "open"
},
"update" : {
"access" : "owner"
},
"delete" : {
"access" : "owner"
}
}
}
Create record with permissions
1. Set record fields
You can set as many fields as you need for a new record curl -X POST \
-H "Content-Type: application/json" \
-H "QB-Token: 199b1d9ec0dedeb19d81283b3b2a32b80f012bba" \
-d '{
"score_value":665,
"progress":"0.12",
"expert_mode":false,
"game_mode_name":"deathmatch",
"user_location":"11.13, 45.52",
"date":"2019-09-21 21:21:00",
"completed_levels":[
1,
2,
3
],
}' \
"https://api.quickblox.com/data/ScoreTable.json"
2. Use a `permissions` parameter to set operations allowed and access levels
curl -X POST \
-H "Content-Type: application/json" \
-H "QB-Token: 199b1d9ec0dedeb19d81283b3b2a32b80f012bba" \
-d '{
"score_value":665,
"progress":"0.12",
"expert_mode":false,
"game_mode_name":"deathmatch",
"user_location":"11.13, 45.52",
"date":"2019-09-21 21:21:00",
"completed_levels":[
1,
2,
3
],
"permissions": {}
}' \
"https://api.quickblox.com/data/ScoreTable.json"
3. Set CRUD operations
Set CRUD operations that can be performed on a record. Here, the read
, and update
operations are set. curl -X POST \
-H "Content-Type: application/json" \
-H "QB-Token: 199b1d9ec0dedeb19d81283b3b2a32b80f012bba" \
-d '{
"score_value":665,
"progress":"0.12",
"expert_mode":false,
"game_mode_name":"deathmatch",
"user_location":"11.13, 45.52",
"date":"2019-09-21 21:21:00",
"completed_levels":[
1,
2,
3
],
"permissions": {
"read": {},
"update": {}
}
}' \
"https://api.quickblox.com/data/ScoreTable.json"
4. Set access levels
Set an access level for a record. Here, the owner
, and open_for_groups
access levels are set. curl -X POST \
-H "Content-Type: application/json" \
-H "QB-Token: 199b1d9ec0dedeb19d81283b3b2a32b80f012bba" \
-d '{
"score_value":665,
"progress":"0.12",
"expert_mode":false,
"game_mode_name":"deathmatch",
"user_location":"11.13, 45.52",
"date":"2019-09-21 21:21:00",
"completed_levels":[
1,
2,
3
],
"permissions": {
"read": {
"access":"owner",
},
"update": {
"access":"open_for_groups"
}
}
}' \
"https://api.quickblox.com/data/ScoreTable.json"
5. Set a user group
Set a user group to determine who can make a required operation. Here, users with the world
tag can make a required operation. curl -X POST \
-H "Content-Type: application/json" \
-H "QB-Token: 199b1d9ec0dedeb19d81283b3b2a32b80f012bba" \
-d '{
"score_value":665,
"progress":"0.12",
"expert_mode":false,
"game_mode_name":"deathmatch",
"user_location":"11.13, 45.52",
"date":"2019-09-21 21:21:00",
"completed_levels":[
1,
2,
3
],
"permissions": {
"read": {
"access":"owner",
},
"update": {
"access":"open_for_groups",
"user_groups":[
"world"
]
}
}
}' \
"https://api.quickblox.com/data/ScoreTable.json"
6. As a result, the API returns a new record.
{
"_id" : "5d866b53a28f9a5ad51cb562" ,
"_parent_id" : null ,
"completed_levels" : [
1 ,
2 ,
3
],
"created_at" : 1569090387 ,
"date" : "2019-09-21T21:21:00Z" ,
"expert_mode" : false ,
"game_mode_name" : "deathmatch" ,
"progress" : 0.12 ,
"score_value" : 665 ,
"updated_at" : 1569090387 ,
"user_avatar" : null ,
"user_id" : 96753878 ,
"user_location" : [
11.13 ,
45.52
],
"permissions" : {
"read" : {
"access" : "owner"
},
"update" : {
"access" : "open_for_groups" ,
"user_groups" : [
"world"
]
},
"delete" : {
"access" : "owner"
}
}
}
To create a new record use a POST
request with application/json
or application/x-www-form-urlencoded
content
type of the POST body. Received values will be cast according to the class defined in QuickBlox Dashboard.
The field that is present in the class but not specified in the POST request will have a null
value.
Allowed permissions
Permission Syntax Example Open permissions.<CRUD_operation>.access permissions.read.access=open Owner permissions.<CRUD_operation>.access permissions.read.access=owner Open for users IDs permissions.<CRUD_operation>.access=open_for_users_ids permissions.<CRUD_operation>.ids=id_1,id_2,id_3,… permissions.update.access=open_for_users_ids permissions.update.ids=3,12 Open for groups permissions.<CRUD_operation>.access=open_for_groups permissions.<CRUD_operation>.groups=group_name_1,group_name_2 permissions.delete.access=open_for_groups permissions.delete.groups=experience,rate
Path Parameters
Custom object class name.
Body Parameters
Set value to the field defined in Custom Object class. Can be many 1..N.
Record permissions. Format:
permission.\<CRUD_operation>.access=\<value>
permission.\<CRUD_operation>.\<option>=\<value>
CRUD operations: create
, read
, update
, delete
.
CRUD access values: open
, owner
, open_for_users_ids
, open_for_groups
.
CRUD options: ids
, groups
.
A user or application session token. See
Authentication page to learn more about session tokens. Must be used either QB-Token or Authorization.
Responses
curl -X POST \
-H "Content-Type: application/json" \
-H "QB-Token: 199b1d9ec0dedeb19d81283b3b2a32b80f012bba" \
-d '{
"score_value":665,
"progress":"0.12",
"expert_mode":false,
"game_mode_name":"deathmatch",
"user_location":"11.13, 45.52",
"date":"2019-09-21 21:21:00",
"completed_levels":[
1,
2,
3
]
}' \
https://api.quickblox.com/data/ScoreTable.json
{
"_id" : "5d866b53a28f9a5ad51cb562" ,
"_parent_id" : null ,
"completed_levels" : [
1 ,
2 ,
3
],
"created_at" : 1569090387 ,
"date" : "2019-09-21T21:21:00Z" ,
"expert_mode" : false ,
"game_mode_name" : "deathmatch" ,
"progress" : 0.12 ,
"score_value" : 665 ,
"updated_at" : 1569090387 ,
"user_avatar" : null ,
"user_id" : 96753878 ,
"user_location" : [
11.13 ,
45.52
],
"permissions" : {
"read" : {
"access" : "open"
},
"update" : {
"access" : "owner"
},
"delete" : {
"access" : "owner"
}
}
}