Webhooks
Settings
You can enable Webhooks on TalkPlus Dashboard as follows:
Enable Webhook feature
Enter webhook handler endpoint
Select events that will trigger webhook
Endpoint
Endpoint must be able to handle HTTP POST request
Endpoint must be able to handle JSON format
If endpoint fails to respond, TalkPlus will re-attempt once after 5 seconds..
Header
TalkPlus HTTP POST webhook will contain the following headers:
User-Agent
TalkPlus
content-type
application/json
x-talkplus-signature
payload is signed with your app API key using SHA-256 and then encoded to Base64
Verification
To Verify that the request to your endpoint came from TalkPlus server, compare x-talkplus-signature
header value against the hash of response body.
responseBody := "{\"event\":\"channel_added\",\"appId\":\"34f633c9-b012-4ca9-b453-2a4a460f464a\",\"channel\":{\"id\":\"webhook_test\",\"name\":\"webhook_test\",\"imageUrl\":\"\",\"data\":{\"test\":\"1\"},\"ownerId\":\"test1\",\"type\":\"public\",\"category\":\"categoryA\",\"subcategory\":\"subcategoryB\",\"privateTag\":\"\",\"invitationCode\":\"\",\"isFrozen\":false,\"memberCount\":1,\"maxMemberCount\":100,\"hideMessagesBeforeJoin\":false,\"members\":[{\"id\":\"test1\",\"username\":\"test1\",\"profileImageUrl\":\"\",\"disablePushNotification\":false,\"data\":{\"test\":\"1\"},\"updatedAt\":1699606163973,\"createdAt\":1697797296688,\"memberInfo\":{},\"lastReadAt\":0,\"lastSentAt\":0}],\"bannedUsers\":[],\"lastSentAt\":1699606164578,\"updatedAt\":0,\"createdAt\":1699606164578,\"mutedUsers\":[],\"pushNotificationDisabled\":false,\"pushNotificationSoundAOS\":\"\",\"pushNotificationSoundIOS\":\"\",\"privateData\":null,\"unreadCount\":0,\"lastReadAt\":0,\"lastMessage\":null}}"
apiKey := "92935b03e231483fc2cf75d9020f7e492c8fd9c7481eb4c79620ace7fe207d81"
signatureFromHeader := "i7a/Z+7iS1P6kNpnmw6P0ZSmq83LGnrtacwaffTvIdo="
hash := hmac.New(sha256.New, []byte(apiKey))
hash.Write([]byte(responseBody))
computedSignature := base64.StdEncoding.EncodeToString(hash.Sum(nil))
fmt.Printf("signatures match: %v\n", signatureFromHeader == computedSignature)
const crypto = require('crypto')
const responseBody = '{"event":"channel_added","appId":"34f633c9-b012-4ca9-b453-2a4a460f464a","channel":{"id":"webhook_test","name":"webhook_test","imageUrl":"","data":{"test":"1"},"ownerId":"test1","type":"public","category":"categoryA","subcategory":"subcategoryB","privateTag":"","invitationCode":"","isFrozen":false,"memberCount":1,"maxMemberCount":100,"hideMessagesBeforeJoin":false,"members":[{"id":"test1","username":"test1","profileImageUrl":"","disablePushNotification":false,"data":{"test":"1"},"updatedAt":1699606163973,"createdAt":1697797296688,"memberInfo":{},"lastReadAt":0,"lastSentAt":0}],"bannedUsers":[],"lastSentAt":1699606164578,"updatedAt":0,"createdAt":1699606164578,"mutedUsers":[],"pushNotificationDisabled":false,"pushNotificationSoundAOS":"","pushNotificationSoundIOS":"","privateData":null,"unreadCount":0,"lastReadAt":0,"lastMessage":null}}'
const apiKey = '92935b03e231483fc2cf75d9020f7e492c8fd9c7481eb4c79620ace7fe207d81';
const signatureFromHeader = 'i7a/Z+7iS1P6kNpnmw6P0ZSmq83LGnrtacwaffTvIdo=';
const computedSignature = crypto.createHmac('sha256', apiKey).update(responseBody).digest('base64');
console.log('signatures match: ', signatureFromHeader == computedSignature);
import hmac
import hashlib
import base64
api_key = '92935b03e231483fc2cf75d9020f7e492c8fd9c7481eb4c79620ace7fe207d81'
response_body = u'{"event":"channel_added","appId":"34f633c9-b012-4ca9-b453-2a4a460f464a","channel":{"id":"webhook_test","name":"webhook_test","imageUrl":"","data":{"test":"1"},"ownerId":"test1","type":"public","category":"categoryA","subcategory":"subcategoryB","privateTag":"","invitationCode":"","isFrozen":false,"memberCount":1,"maxMemberCount":100,"hideMessagesBeforeJoin":false,"members":[{"id":"test1","username":"test1","profileImageUrl":"","disablePushNotification":false,"data":{"test":"1"},"updatedAt":1699606163973,"createdAt":1697797296688,"memberInfo":{},"lastReadAt":0,"lastSentAt":0}],"bannedUsers":[],"lastSentAt":1699606164578,"updatedAt":0,"createdAt":1699606164578,"mutedUsers":[],"pushNotificationDisabled":false,"pushNotificationSoundAOS":"","pushNotificationSoundIOS":"","privateData":null,"unreadCount":0,"lastReadAt":0,"lastMessage":null}}'
signature_from_header = 'i7a/Z+7iS1P6kNpnmw6P0ZSmq83LGnrtacwaffTvIdo='
# for python versions before v3.5.10
# digest = hmac.new(api_key,
# msg=response_data.encode('utf-8'),
# digestmod=hashlib.sha256
# ).digest()
# for python v3.5.10+,
# hmac.new function requires key to be bytes or bytearray object
digest = hmac.new(
api_key.encode('ascii'),
msg=response_body.encode('utf-8'),
digestmod=hashlib.sha256
).digest()
computed_signature = base64.b64encode(digest).decode()
print('signatures match: ', computed_signature == signature_from_header)
package org.example;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
public class Main {
public static void main(String[] args) {
String responseBody = "{\"event\":\"channel_added\",\"appId\":\"34f633c9-b012-4ca9-b453-2a4a460f464a\",\"channel\":{\"id\":\"webhook_test\",\"name\":\"webhook_test\",\"imageUrl\":\"\",\"data\":{\"test\":\"1\"},\"ownerId\":\"test1\",\"type\":\"public\",\"category\":\"categoryA\",\"subcategory\":\"subcategoryB\",\"privateTag\":\"\",\"invitationCode\":\"\",\"isFrozen\":false,\"memberCount\":1,\"maxMemberCount\":100,\"hideMessagesBeforeJoin\":false,\"members\":[{\"id\":\"test1\",\"username\":\"test1\",\"profileImageUrl\":\"\",\"disablePushNotification\":false,\"data\":{\"test\":\"1\"},\"updatedAt\":1699606163973,\"createdAt\":1697797296688,\"memberInfo\":{},\"lastReadAt\":0,\"lastSentAt\":0}],\"bannedUsers\":[],\"lastSentAt\":1699606164578,\"updatedAt\":0,\"createdAt\":1699606164578,\"mutedUsers\":[],\"pushNotificationDisabled\":false,\"pushNotificationSoundAOS\":\"\",\"pushNotificationSoundIOS\":\"\",\"privateData\":null,\"unreadCount\":0,\"lastReadAt\":0,\"lastMessage\":null}}";
String apiKey = "92935b03e231483fc2cf75d9020f7e492c8fd9c7481eb4c79620ace7fe207d81";
String signatureFromHeader = "i7a/Z+7iS1P6kNpnmw6P0ZSmq83LGnrtacwaffTvIdo=";
try {
Mac hmacSha256 = Mac.getInstance("HmacSHA256");
SecretKeySpec secretKey = new SecretKeySpec(apiKey.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
hmacSha256.init(secretKey);
byte[] hash = hmacSha256.doFinal(responseBody.getBytes(StandardCharsets.UTF_8));
String computedSignature = Base64.getEncoder().encodeToString(hash);
System.out.printf("Signatures match: %b\n", signatureFromHeader.equals(computedSignature));
} catch (NoSuchAlgorithmException | InvalidKeyException e) {
e.printStackTrace();
}
}
}
Webhook Events
Event
Trigger
message
message sent
message_deleted
message deleted
reaction_added
reaction added to a message
reaction_deleted
reaction deleted from a message
channel_added
channel created
channel_changed
channel updated
channel_removed
channel deleted
member_added
member joined channel
member_left
member left channel
member_muted
member muted in channel
member_unmuted
member unmuted in channel
member_banned
user banned from channel
member_unbanned
user unbanned from channel
user_blocked
user blocked
user_unblocked
user unblocked
Webhook Event Payloads
message
{
"event": "message",
"appId": "YOUR_APP_ID",
"channel":
{
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"imageUrl": "image url",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"data": {
"someMetaKey1": "someMetaValue1",
"someMetaKey2": "someMetaValue2"
},
"members":
[
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage":
{
"id": "sdf2l5s9j",
"channelId": "YOUR_CHANNEL_ID",
"userId": "user123",
"username": "user123",
"profileImageUrl": "http://cdn.test.com/123.jpg",
"type": "text",
"text": "Hello world",
"translations": {},
"data": {
"customField": "customData"
},
"createdAt": 1583921400
}
},
"sender":
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
},
"message":
{
"id": "sdf2l5s9j",
"channelId": "YOUR_CHANNEL_ID",
"userId": "user123",
"username": "user123",
"profileImageUrl": "http://cdn.test.com/123.jpg",
"type": "text",
"text": "Hello world",
"translations": {},
"data":
{
"customField": "customData"
},
"createdAt": 1583921400
}
}
message_deleted
{
"event": "message_deleted",
"appId": "YOUR_APP_ID",
"channel":
{
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"data": {
"someMetaKey1": "someMetaValue1",
"someMetaKey2": "someMetaValue2"
},
"members":
[
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage":
{
"id": "sdf2l5s9j",
"channelId": "YOUR_CHANNEL_ID",
"userId": "user123",
"username": "user123",
"profileImageUrl": "http://cdn.test.com/123.jpg",
"type": "text",
"text": "Hello world",
"translations": {},
"data":
{
"customField": "customData"
},
"createdAt": 1583921400
}
},
"sender": // might be empty
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
},
"message":
{
"id": "sdf2l5s9j",
"channelId": "YOUR_CHANNEL_ID",
"userId": "user123",
"username": "user123",
"profileImageUrl": "http://cdn.test.com/123.jpg",
"type": "text",
"text": "Hello world",
"translations": {},
"data":
{
"customField": "customData"
},
"createdAt": 1583921400
}
}
reaction_added
{
"event": "reaction_added",
"appId": "YOUR_APP_ID",
"channel":
{
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"data": {
"someMetaKey1": "someMetaValue1",
"someMetaKey2": "someMetaValue2"
},
"members":
[
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage":
{
"id": "sdf2l5s9j",
"channelId": "YOUR_CHANNEL_ID",
"userId": "user123",
"username": "user123",
"profileImageUrl": "http://cdn.test.com/123.jpg",
"type": "text",
"text": "Hello world",
"translations": {},
"data":
{
"customField": "customData"
},
"createdAt": 1583921400
}
},
"user":
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
},
"message":
{
"id": "sdf2l5s9j",
"channelId": "YOUR_CHANNEL_ID",
"userId": "user123",
"username": "user123",
"profileImageUrl": "http://cdn.test.com/123.jpg",
"type": "text",
"text": "Hello world",
"translations": {},
"data":
{
"customField": "customData"
},
"reactions": {
"happy": "user123"
},
"createdAt": 1583921400
},
"reaction": "happy"
}
reaction_deleted
{
"event": "reaction_deleted",
"appId": "YOUR_APP_ID",
"channel":
{
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"members":
[
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage":
{
"id": "sdf2l5s9j",
"channelId": "YOUR_CHANNEL_ID",
"userId": "user123",
"username": "user123",
"profileImageUrl": "http://cdn.test.com/123.jpg",
"type": "text",
"text": "Hello world",
"translations": {},
"data":
{
"customField": "customData"
},
"createdAt": 1583921400
}
},
"user":
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
},
"message":
{
"id": "sdf2l5s9j",
"channelId": "YOUR_CHANNEL_ID",
"userId": "user123",
"username": "user123",
"profileImageUrl": "http://cdn.test.com/123.jpg",
"type": "text",
"text": "Hello world",
"translations": {},
"data":
{
"customField": "customData"
},
"reactions": {
"happy": "user123"
},
"createdAt": 1583921400
},
"reaction": "sad"
}
channel_added
{
"event": "channel_added",
"appId": "YOUR_APP_ID",
"channel": {
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"members": [
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage": null
}
}
channel_changed
{
"event": "channel_changed",
"appId": "YOUR_APP_ID",
"channel": {
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"members": [
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage": null // null if there's no message in channel
}
}
channel_removed
{
"event": "channel_removed",
"appId": "YOUR_APP_ID",
"channel": {
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"members": [
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage": null // null if there's no message in channel
}
}
member_added
{
"event": "member_added",
"appId": "YOUR_APP_ID",
"channel": {
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"members": [
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage": null // null if there's no message in channel
},
"users": [
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
}
]
}
member_left
{
"event": "member_left",
"appId": "YOUR_APP_ID",
"channel": {
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"members": [
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage": null // null if there's no message in channel
},
"users": [
{
"id": "user456",
"username": "user456",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
}
]
}
member_muted
{
"event": "member_muted",
"appId": "YOUR_APP_ID",
"channel": {
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"data": {
"someMetaKey1": "someMetaValue1",
"someMetaKey2": "someMetaValue2"
},
"members": [
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"muteExpiresAt": 1716873953000,
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage": null // null if there's no message in channel
},
"users": [
{
"id": "user456",
"username": "user456",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
}
]
}
member_unmuted
{
"event": "member_unmuted",
"appId": "YOUR_APP_ID",
"channel": {
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"data": {
"someMetaKey1": "someMetaValue1",
"someMetaKey2": "someMetaValue2"
},
"members": [
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage": null // null if there's no message in channel
},
"users": [
{
"id": "user456",
"username": "user456",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
}
]
}
member_banned
{
"event": "member_banned",
"appId": "YOUR_APP_ID",
"channel": {
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"members": [
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage": null // null if there's no message in channel
},
"users": [
{
"id": "user456",
"username": "user456",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
}
]
}
member_unbanned
{
"event": "member_unbanned",
"appId": "YOUR_APP_ID",
"channel": {
"id": "YOUR_CHANNEL_ID",
"name": "YOUR_CHANNEL_NAME",
"ownerId": "user123",
"type": "public",
"invitationCode": "",
"isFrozen": false,
"hideMessagesBeforeJoin": false,
"category": "",
"subcategory": "",
"memberCount": 1,
"maxMemberCount": 100,
"members": [
{
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1603184094285,
"createdAt": 1603184094285,
"lastReadAt": 0,
"lastSentAt": 1603244275376
}
],
"mutedUsers": [],
"bannedUsers": [],
"bots": [],
"updatedAt": 0,
"createdAt": 0,
"unreadCount": 0,
"lastReadAt": 0,
"lastMessage": null // null if there's no message in channel
},
"users": [
{
"id": "user456",
"username": "user456",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
}
]
}
user_blocked
{
"event": "user_blocked",
"appId": "YOUR_APP_ID",
"user": {
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
},
"blockedUser": {
"id": "user456",
"username": "user456",
"profileImageUrl": "http://cnd.test.com/456.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
}
}
user_unblocked
{
"event": "user_unblocked",
"appId": "YOUR_APP_ID",
"user": {
"id": "user123",
"username": "user123",
"profileImageUrl": "http://cnd.test.com/123.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
},
"blockedUser": {
"id": "user456",
"username": "user456",
"profileImageUrl": "http://cnd.test.com/456.jpg",
"updatedAt": 1583924400,
"createdAt": 1583921400
}
}
Last updated