User Presence
Friday, September 7, 2018 1:25 AMYou programmatically check the online status and current activity of users on your app.
Path: | /v1/{appId}/users/{userId}/sessions |
Methods: | GET |
{userId}
is your internal unique identifier for the user.
Getting a user's online status
GET https://api.talkjs.com/v1/{appId}/users/{userId}/sessions
Response structure is as follows:
[
{
"isTyping": boolean,
"currentConversationId": string | null
},
...
]
If you create a TalkJS session on every page, which we recommend, then you may see multiple session objects in the response: one for the TalkJS background session, and one for each visible TalkJS UI (an Inbox, a Chatbox or a popup widget).
Examples
User 6789 is offline:
// request:
GET https://api.talkjs.com/v1/YOUR_APP_ID/users/6789/sessions
// response:
[]
User 6789 is logged into your site, but not looking at a TalkJS UI:
// request:
GET https://api.talkjs.com/v1/YOUR_APP_ID/users/6789/sessions
// response:
[
{
"isTyping": false,
"currentConversationId": null
}
]
User 6789 is logged into your site and looking at conversation 1234 in the Inbox, currently busy typing a message:
// request:
GET https://api.talkjs.com/v1/YOUR_APP_ID/users/6789/sessions
// response:
[
{
"isTyping": false,
"currentConversationId": null
},
{
"isTyping": true,
"currentConversationId": "1234"
}
]