XuqmGroup-Web/docs-site/docs/server/python-sdk.md
XuqmGroup 09891bf46e docs(deploy): 添加完整的部署文档和配置示例
- 新增 compose.production.yaml 和 compose.production.server.yaml 部署配置
- 添加 nginx.dev.xuqinmin.com.conf 和 nginx.sentry.xuqinmin.com.conf 反向代理配置
- 创建详细的部署指南文档 deploy/README.md,涵盖架构设计和部署步骤
- 添加前端访问文档 web/README.md,包含线上地址和接口说明
- 补充平台文档总览 README.md,整合各模块文档入口
- 配置多服务容器化部署,包括 tenant-service、im-service、push-service 等
- 设置外部数据库和 Redis 连接配置,确保服务间正确通信
- 配置 WebSocket 和 API 路由转发规则,支持实时通信和版本更新服务
2026-05-09 14:53:43 +08:00

4.3 KiB

Python Server SDK

XuqmGroup 服务端 Python SDK,按照腾讯云服务端 API 的分类方式封装了:

  • IM 账号、UserSig 生成与登录、消息、群组、好友、会话、黑名单
  • 管理端 Webhook、统计、操作日志
  • Push 注册与推送
  • Update 版本管理、RN Bundle、应用商店提审

安装

pip install xuqmgroup-server-sdk-python

初始化

from xuqm_im_server_sdk import XuqmImServerSdk

sdk = XuqmImServerSdk(
    base_url="https://dev.xuqinmin.com",
    app_key="your_app_key",
    app_secret="your_app_secret",
)

服务端 SDK 需要 app_secret 用于 HMAC 签名,app_secret 绝不下发到客户端。


UserSig

user_sig = sdk.generate_user_sig("user_001")
valid = sdk.verify_user_sig("user_001", user_sig)
login = sdk.login_with_user_sig("user_001", user_sig)

管理员账号可用于服务端 SDK / 管理端 REST API。


能力分类

分类 主要方法
登录 generate_user_sig, verify_user_sig, login, login_with_user_sig
账号 import_account, import_accounts, delete_account, get_profile, update_profile, search_accounts, check_account
消息 send_message, revoke_message, edit_message, fetch_history, fetch_group_history, search_messages
会话 list_conversations, set_conversation_pinned, set_conversation_muted, mark_read, set_draft, set_conversation_hidden, set_conversation_group, delete_conversation
好友 list_friends, add_friend, add_friends, remove_friend, remove_friends, remove_all_friends, set_friend_group, list_friend_groups, list_friends_by_group, check_friends
黑名单 list_blacklist, add_blacklist, remove_blacklist, check_blacklist
群组 list_groups, list_public_groups, search_groups, get_group, list_group_members, search_group_members, create_group, update_group, add_group_member, add_group_members, remove_group_member, remove_group_members, set_group_role, transfer_group_owner, leave_group, update_group_attributes, remove_group_attributes, mute_group_member, dismiss_group, send_group_join_request, list_group_join_requests, accept_group_join_request, reject_group_join_request, accept_group_join_requests, reject_group_join_requests
管理端 query_user_state, kick_users, batch_send_message, admin_set_msg_read, import_messages, admin_transfer_group_owner, admin_update_group_attributes, admin_remove_group_attributes, admin_group_read_receipts
Webhook list_webhooks, create_webhook, update_webhook, delete_webhook, verify_callback_signature, parse_callback_envelope
Push register_push_token, send_push, push_user_status, push_device_logs, test_offline_push
Update check_app_update, upload_app_version, publish_app_version, unpublish_app_version, gray_app_version, list_app_versions, check_rn_update, upload_rn_bundle, publish_rn_bundle, unpublish_rn_bundle, list_rn_bundles

发送消息

msg = sdk.send_message(
    to_id="user_002",
    chat_type="SINGLE",
    msg_type="TEXT",
    content="Hello from Python SDK!",
)
print(f"消息已发送: {msg['id']}")

发送群消息

msg = sdk.send_message(
    to_id="group_xxx",
    chat_type="GROUP",
    msg_type="TEXT",
    content="大家好",
)

撤回消息

sdk.revoke_message("message_id")

群管理

group = sdk.create_group(
    name="项目讨论",
    member_ids=["user_001", "user_002"],
)

sdk.add_group_member("group_xxx", "user_003")
sdk.remove_group_member("group_xxx", "user_003")

groups = sdk.list_groups()
members = sdk.list_group_members("group_xxx")

Push 推送

sdk.send_push(
    user_id="user_001",
    title="新消息",
    body="你有一条未读消息",
    payload={"chatId": "user_002"},
)

错误处理

SDK 在请求失败时会抛出 XuqmAPIError 异常:

from xuqm_im_server_sdk import XuqmAPIError

try:
    msg = sdk.send_message(to_id="user_002", chat_type="SINGLE", msg_type="TEXT", content="Hello")
except XuqmAPIError as e:
    print(f"API 错误: status={e.status}, code={e.code}, message={e.message}")

→ Server API 文档