API integration
Your backend system can integrate and interact with Social+ via REST API. Here is the step-by-step guide on how to retrieve admin access token to utilize Social+ API.
Backend API Integration for Firebase
1. Generate admin token

2. Test your API
curl --location --request GET 'https://api.us.amity.co/api/v3/roles' \
--header 'Authorization: Bearer <ADMIN_TOKEN>'
Response:
{
"roles": [
// All roles in your system will be shown here
],
"paging": {}
}
3. Visit API Docs: api-docs.amity.co
Backend API Integration for PHP
1. Generate admin token

2. Test your API
curl --location --request GET 'https://api.us.amity.co/api/v3/roles' \
--header 'Authorization: Bearer <ADMIN_TOKEN>'
Response:
{
"roles": [
{
"roleId": "72a5edc9-5bc4-440d-a5f0-7772232c4a58",
"displayName": "User",
"createdAt": "2021-10-08T08:21:53.770Z",
"updatedAt": "2021-10-31T15:39:48.645Z",
"permissions": [],
"isDeleted": false
},
{
"roleId": "5d22ad07-b13d-408c-afa6-a82678e53aaf",
"displayName": "Admin-super",
"createdAt": "2021-10-07T10:54:52.425Z",
"updatedAt": "2021-10-31T17:23:41.779Z",
"permissions": [
"EDIT_USER",
"ASSIGN_USER_ROLE",
"BAN_USER",
"CREATE_ROLE",
"EDIT_ROLE",
"DELETE_ROLE",
"EDIT_CHANNEL",
"EDIT_CHANNEL_RATELIMIT",
"MUTE_CHANNEL",
"CLOSE_CHANNEL"
],
"isDeleted": false
},
{
"roleId": "moderator",
"displayName": "moderator",
"createdAt": "2021-05-20T04:42:55.090Z",
"updatedAt": "2021-10-31T16:14:54.872Z",
"permissions": [
"CREATE_ROLE",
"DELETE_ROLE",
"EDIT_ROLE",
"CREATE_COMMUNITY_CATEGORY",
"EDIT_COMMUNITY_CATEGORY",
"DELETE_COMMUNITY_CATEGORY",
"DELETE_COMMUNITY",
"EDIT_COMMUNITY",
"EDIT_COMMUNITY_USER",
"ADD_COMMUNITY_USER",
"BAN_COMMUNITY_USER",
"REMOVE_COMMUNITY_USER",
"EDIT_COMMUNITY_POST",
"DELETE_COMMUNITY_POST",
"REVIEW_COMMUNITY_POST",
"EDIT_COMMUNITY_COMMENT",
"DELETE_COMMUNITY_COMMENT",
"EDIT_USER_FEED_POST",
"DELETE_USER_FEED_POST",
"EDIT_USER_FEED_COMMENT",
"DELETE_USER_FEED_COMMENT",
"EDIT_CHANNEL_USER",
"BAN_USER_FROM_CHANNEL",
"ADD_CHANNEL_USER",
"REMOVE_CHANNEL_USER",
"EDIT_CHANNEL",
"MUTE_CHANNEL",
"MUTE_USER_INSIDE_CHANNEL",
"DELETE_MESSAGE",
"EDIT_MESSAGE",
"Channel/BanUser",
"Channel/MuteUser",
"Channel/MuteChannel",
"Channel/RateLimitUser",
"Channel/RateLimitChannel",
"Channel/ManageMessages",
"Channel/ManageUsers",
"User/ExemptFromFilters",
"User/ExemptFromRateLimits",
"User/ExemptFromMute",
"User/ExempFromBlacklist",
"User/ExempFromRepetitionCheck",
"Post/ManagePosts",
"Post/ManageComments",
"Community/ManageCommunities",
"MANAGE_NOTIFICATION_NETWORK_SETTING"
],
"isDeleted": false
},
{
"roleId": "global-admin",
"displayName": "global-admin",
"createdAt": "2021-05-20T04:42:55.088Z",
"updatedAt": "2021-10-20T07:06:24.247Z",
"permissions": [
"CREATE_ROLE",
"DELETE_ROLE",
"EDIT_ROLE",
"CREATE_COMMUNITY_CATEGORY",
"EDIT_COMMUNITY_CATEGORY",
"DELETE_COMMUNITY_CATEGORY",
"DELETE_COMMUNITY",
"EDIT_COMMUNITY",
"EDIT_COMMUNITY_USER",
"ADD_COMMUNITY_USER",
"BAN_COMMUNITY_USER",
"REMOVE_COMMUNITY_USER",
"EDIT_COMMUNITY_POST",
"DELETE_COMMUNITY_POST",
"REVIEW_COMMUNITY_POST",
"EDIT_COMMUNITY_COMMENT",
"DELETE_COMMUNITY_COMMENT",
"EDIT_USER_FEED_POST",
"DELETE_USER_FEED_POST",
"EDIT_USER_FEED_COMMENT",
"DELETE_USER_FEED_COMMENT",
"BAN_USER",
"EDIT_USER",
"EDIT_CHANNEL_USER",
"BAN_USER_FROM_CHANNEL",
"ADD_CHANNEL_USER",
"REMOVE_CHANNEL_USER",
"EDIT_CHANNEL",
"MUTE_CHANNEL",
"MUTE_USER_INSIDE_CHANNEL",
"EDIT_CHANNEL_RATELIMIT",
"DELETE_MESSAGE",
"EDIT_MESSAGE",
"Channel/BanUser",
"Channel/MuteUser",
"Channel/MuteChannel",
"Channel/RateLimitUser",
"Channel/RateLimitChannel",
"Channel/ManageMessages",
"Channel/ManageUsers",
"Channel/GlobalAccess",
"User/ExemptFromFilters",
"User/ExemptFromRateLimits",
"User/ExemptFromMute",
"User/ExempFromBan",
"User/ExempFromBlacklist",
"User/ExempFromWhitelist",
"User/ExempFromRepetitionCheck",
"Post/ManagePosts",
"Post/ManageComments",
"Community/ManageCommunities",
"MANAGE_NOTIFICATION_NETWORK_SETTING"
],
"isDeleted": false
},
{
"roleId": "super-moderator",
"displayName": "super-moderator",
"createdAt": "2021-05-20T04:42:55.086Z",
"updatedAt": "2021-10-31T15:47:24.036Z",
"permissions": [
"CREATE_ROLE",
"DELETE_ROLE",
"EDIT_ROLE",
"CREATE_COMMUNITY_CATEGORY",
"EDIT_COMMUNITY_CATEGORY",
"DELETE_COMMUNITY_CATEGORY",
"DELETE_COMMUNITY",
"EDIT_COMMUNITY",
"EDIT_COMMUNITY_USER",
"ADD_COMMUNITY_USER",
"BAN_COMMUNITY_USER",
"REMOVE_COMMUNITY_USER",
"EDIT_COMMUNITY_POST",
"REVIEW_COMMUNITY_POST",
"DELETE_COMMUNITY_POST",
"EDIT_COMMUNITY_COMMENT",
"DELETE_COMMUNITY_COMMENT",
"EDIT_USER_FEED_POST",
"DELETE_USER_FEED_POST",
"EDIT_USER_FEED_COMMENT",
"DELETE_USER_FEED_COMMENT",
"EDIT_CHANNEL_USER",
"BAN_USER_FROM_CHANNEL",
"ADD_CHANNEL_USER",
"REMOVE_CHANNEL_USER",
"EDIT_CHANNEL",
"MUTE_CHANNEL",
"MUTE_USER_INSIDE_CHANNEL",
"DELETE_MESSAGE",
"EDIT_MESSAGE",
"Channel/BanUser",
"Channel/MuteUser",
"Channel/MuteChannel",
"Channel/RateLimitUser",
"Channel/RateLimitChannel",
"Channel/ManageMessages",
"Channel/ManageUsers",
"Channel/GlobalAccess",
"User/ExemptFromFilters",
"User/ExemptFromRateLimits",
"User/ExemptFromMute",
"User/ExempFromBan",
"User/ExempFromBlacklist",
"User/ExempFromRepetitionCheck",
"Post/ManagePosts",
"Post/ManageComments",
"Community/ManageCommunities",
"MANAGE_NOTIFICATION_NETWORK_SETTING"
],
"isDeleted": false
}
],
"paging": {}
}
3. Implement your PHP code
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.sg.amity.co/api/v3/roles',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <YOUR_ADMIN_TOKEN>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
4. Visit API Docs: api-docs.amity.co