tencent cloud

Feedback

Webhook for Online and Offline Status of Audio-Video Group Members

Last updated: 2024-06-14 10:18:33

    Feature Overview

    This webhook allows you to view the online and offline status (such as record logs) of an audio-video group in real time or synchronize the information to other systems on the app backend.

    Reminders

    To use this webhook, you need to purchase the Premium edition and enable the List of online audio-video group members feature on the Group feature configuration page in the console. After the feature is enabled in the console, the list of the latest 1,000 online members of an audio-video group will be stored and the list can be pulled on clients. If the feature is disabled in the console, the list cannot be pulled on clients, and only the list of the 30 latest group members can be pulled.
    To enable this webhook, you must configure a webhook URL and toggle on the corresponding protocol. For more information on the configuration method, see Webhook Configuration.
    During this webhook event, the Chat backend initiates an HTTP POST request to the app backend.
    After receiving the webhook request, the app backend must check whether the SDKAppID contained in the request URL is the SDKAppID of the app.
    For more security considerations, see the Security Considerations section in Webhook Overview.

    Webhook Triggering Scenarios

    App users abnormally exit after entering the audio-video group, and the network is disconnected for over 20 seconds.
    App users abnormally exit after entering the audio-video group and go online after the network is disconnected for over 20 seconds.
    App users first join the audio-video group. When a user joins the same audio-video group from multiple App terminals, the callback is triggered only once.
    App user's last active exit from the audio-video group. When a user has multiple App terminals in the audio-video group, the callback is triggered when the last terminal exits.

    Webhook Triggering Timing

    After a user enters the audio-video group, the Offline event is triggered due to heartbeat timeout caused by network disconnection, and the Online event is triggered when the user goes online 20s after the timeout. If the user logs in with multiple devices and joins the same audio-video group concurrently, the Offline event will be triggered when all the devices go offline concurrently. The Online event will be triggered when any device goes back online (only one Online event will be triggered even if multiple devices go back online).

    API Calling Description

    Sample request URL

    In the following sample, the webhook URL configured in the app is https://www.example.com. Example:
    https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json

    Request parameters

    Parameter
    Description
    https
    The request protocol is HTTPS, and the request method is POST.
    www.example.com
    Callback URL
    SdkAppid
    The SDKAppID assigned by the Chat console when the app is created
    CallbackCommand
    Fixed value: Group.CallbackOnMemberStateChange.
    contenttype
    Fixed value: JSON.

    Sample request

    {
    "CallbackCommand": "Group.CallbackOnMemberStateChange", // Webhook command
    "GroupId": "@TGS#2J4SZEAEL", // Group ID
    "EventType": "Offline", // Event type: Offline (disconnected); Online (reconnected)
    //Event Cause: HeartbeatInterrupt (Heartbeat Interruption), HeartbeatRecover (Heartbeat Recovery), Join (First Entry into Group), Quit (Last Exit from Group)
    "MemberList": [ // List of members who left the group
    {
    "Member_Account": "jared"
    },
    {
    "Member_Account": "tommy"
    }
    ]
    }

    Request fields

    Field
    Type
    Description
    CallbackCommand
    String
    Webhook command
    GroupId
    String
    ID of the group that generates group messages
    EventType
    String
    Event type: Offline (disconnected); Online (reconnected)
    EventCause
    String
    Event cause: HeartbeatInterrupt (heartbeat interruption), HeartbeatRecover (heartbeat recovery), Join (first entry into group), Quit (last exit from group)
    MemberList
    Array
    List of members triggering the event

    Sample response

    A response is returned after the app backend synchronizes the data.
    {
    "ActionStatus": "OK",
    "ErrorInfo": "",
    "ErrorCode": 0 // The value `0` indicates that the response result is ignored.
    }

    Response fields

    Field
    Type
    Required
    Description
    ActionStatus
    String
    Yes
    Request result. OK: Successful; FAIL: Failed
    ErrorCode
    Integer
    Yes
    Error code. The value 0 indicates that the response result is ignored.
    ErrorInfo
    String
    Yes
    Error information

    References

    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support