Vonage Python SDK:一个 SDK 覆盖 20 多项通信 API

vonage-python-sdk 在 GitHub 上有 212 Star。

Vonage 开源了这个 Python SDK,用来在 Python 应用里调用 Vonage 的通信 API。短信发送、语音通话、视频会话、号码验证、消息推送,用这一套装就能搞定。

1、这玩意儿是干嘛的

简单来说,它就是一个 Python 版的 Vonage API 客户端。你需要先注册一个 Vonage 账号,拿到 API Key 和 Secret,然后在 Python 代码里初始化客户端,就能调用各种通信服务。

这个 SDK 采用 monorepo 架构。顶层包叫 vonage,下面每个 API 都有独立的子包,比如 vonage_smsvonage_voicevonage_video 等。安装主包时,这些子包会一并装进来。

正文顶部截图

2、架构是怎么设计的

Vonage 把这个 SDK 拆成了多个独立的 Python 包。当你 import vonage 时,拿到的是一个总入口。具体的 API 调用方法通过这个总入口的属性来访问,比如 vonage.sms.send()vonage.voice.create_call()

大部分 API 调用都需要配合对应子包里的数据模型。比如发短信需要 vonage_sms 里的 SmsMessage,查询账户定价需要 vonage_account 里的 GetCountryPricingRequest。这种设计让每个 API 的数据结构都通过类型系统做了约束,调用时不容易传错参数。

所有 API 响应都封装成了 Pydantic 模型。转成字典用 model_dump(),转成 JSON 字符串用 model_dump_json()

目前 SDK 已经迭代到 4.x 版本。相对于 3.x,接口结构变化不小。如果你在用旧版本,项目文档里提供了 v3 到 v4 的迁移指南。

3、支持哪些 API

这个 SDK 覆盖的 API 数量不少。目前已经支持的包括:

Account API(账户余额查询、充值、密钥管理、全球定价查询)、Application API(应用创建和管理)、Messages API(SMS、WhatsApp、Messenger、Viber、RCS 等多渠道消息发送)、SMS API(纯短信通道)、Voice API(语音通话、TTS、音频流、DTMF、NCCO 呼叫控制)、Video API(视频会话、直播、录制、SIP 接入、字幕、Experience Composer)、Verify API(验证码服务,含静默认证)、Verify API Legacy(老版本验证接口)、Number Insight API(号码信息查询,基础/标准/高级三档)、Numbers API(号码搜索、购买、注销、更新)、Subaccounts API(子账户和余额转账)、Users API(用户数据管理)、Identity Insights API(身份洞察和欺诈检测)、Network Number Verification API(基于运营商的号码验证)、Network Sim Swap API(SIM 卡更换检测)。

README区域截图

4、怎么用起来

安装:

pip install vonage

基本用法分三步:创建 Auth 实例,配置 HttpClientOptions,初始化 Vonage 客户端。

from vonage import Vonage, Auth, HttpClientOptions

auth = Auth(api_key='your_api_key', api_secret='your_api_secret')
options = HttpClientOptions(api_host='api.nexmo.com', timeout=30)
vonage = Vonage(auth=auth, http_client_options=options)

发一条短信:

from vonage_sms import SmsMessage

message = SmsMessage(to='1234567890', from_='YourApp', text='Hello')
response = vonage.sms.send(message)
print(response.model_dump(exclude_unset=True))

Voice API 的调用方式类似。你可以创建语音通话、播放 TTS、转接 NCCO、管理通话状态。Video API 则支持创建会话、生成客户端 Token、管理直播和录制。

5、适合哪些人用

  • 需要在 Python 后端集成短信验证码或语音通知的开发者
  • 做视频通话、直播或在线会议功能的团队
  • 需要号码验证、SIM 卡更换检测等反欺诈能力的业务
  • 已经在用 Vonage 通信服务,想标准化 Python 端调用方式的项目

这套 SDK 目前还不支持 asyncio。如果你的项目重度依赖异步编程,可能需要自己包装一层异步接口。

ython 端调用方式的项目

这套 SDK 目前还不支持 asyncio。如果你的项目重度依赖异步编程,可能需要自己包装一层异步接口。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐