- 新增 XuqmGroup 部署文档,包含部署方案、架构建议和部署步骤 - 添加安全设计规范,涵盖密码安全、AppSecret验证和服务端API认证 - 补充平台REST API规范,定义Server-to-Server调用接口和错误码 - 创建Java IM服务端SDK计划文档,规划Maven包发布和接口实现
3.9 KiB
3.9 KiB
Python Server SDK
XuqmGroup 服务端 Python SDK,按照腾讯云服务端 API 的分类方式封装了:
- IM 账号、消息、群组、好友、会话、黑名单
- 管理端 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绝不下发到客户端。
能力分类
| 分类 | 主要方法 |
|---|---|
| 登录 | login |
| 账号 | 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 |
| 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}")