API
Orchestration
Virtual member orchestration APIs.
Auth: Authorization: Bearer sbot_…
GET
Bot Token/api/v1/bots/listChatVirtualMemberslistChatVirtualMemberslistChatVirtualMembers (Value-added Capability)
List dispatchable members in group. Requires bot to be active member; not open by default, apply via support.
- Required query:
chat_id(群会话 ID) - Optional query:
limit(1-200, default 50),offset(0-1000, default 0),cursor; use cursor for deep pages, without a nonzero offset - Returns:
{ items: [{ virtual_user_id, name, username, avatar, joined_at }], pagination: { total, limit, offset, has_more, next_cursor, roster_epoch, roster_version } } - total is the display count, not the currently eligible count. Follow has_more / next_cursor even when items is empty
- 403: current bot or group authorization is invalid; 409: roster unavailable or cursor version expired; restart from the first page
POST
Bot Token/api/v1/bots/simulateSendMessagesimulateSendMessagesimulateSendMessage (Value-added Capability)
Send text, photo, document, audio, video, or location messages in a group as a selected dispatchable member. Access requirements match `listChatVirtualMembers`; current eligibility is checked again before the message commits.
- Required for every message:
chat_idandvirtual_user_idfromlistChatVirtualMembers - Message type: optional
type, defaulttext; acceptstext,photo/image,document/file,audio,video, andlocation - Text:
textis required and must contain 1-1000 characters - Media:
file_idis required; optionalcaptionis limited to 1000 characters; useduration,width,height,performer,title, andthumbnail_urlwhere applicable - Location:
latitude(-90..90) andlongitude(-180..180) are required; optionalname(≤200) andaddress(≤500) - Optional for all types:
reply_to_message_id(≤128); obtain mediafile_idthrough upload credentials and the complete endpoint first - Returns: the same message object shape as the corresponding send endpoint
- 400: invalid fields; 403: grant revoked, bot or identity removed, disabled, or muted; 409: roster unavailable. Listing is not a send authorization; success is returned after message commit
