使用nexmo的api为django开发人员提供的实用程序
dj-nexmo的Python项目详细描述
DJ下一个
Nexmo API是awesome-但是使用nexmo的开发人员需要一次又一次地解决一些问题。 这个django应用程序在Nexmo Client Library for Python之上提供了django特定的功能!当前包含:
- 用于验证和重新组合sms消息部分的修饰程序。
- 用于以国际和国内格式呈现电话号码的模板筛选器。
如何安装
目前,dj-nexmo
只支持python 3.4+,django 2.0+。我们maybackport到django 1.x,但是我们不打算backport到python 2。
首先,pip install dj-nexmo
在您的设置中将"djnexmo"
添加到INSTALLED_APPS
。
运行python manage.py migrate djnexmo
创建必要的模型。
配置
NEXMO_API_KEY
此可选设置应设置为nexmo api密钥,您可以从仪表板获取该密钥。
NEXMO_API_SECRET
此可选设置应设置为nexmo api secret,您可以从仪表板获取该设置。
NEXMO_SIGNATURE_SECRET
此可选设置应设置为您的nexmo签名密钥,您可以通过联系nexmo支持人员获得该密钥。 如果要验证传入的短信,则需要此设置。
NEXMO_SIGNATURE_METHOD
此可选设置应设置为nexmo签名方法,当您 获取您的nexmo签名机密。
NEXMO_APPLICATION_ID
此可选设置应设置为nexmo语音应用程序的ID。
NEXMO_PRIVATE_KEY
此可选设置应设置为nexmo语音应用程序的私钥,或包含 你的私钥。
使用nexmo客户端
dj-nexmo
根据上述设置配置nexmoClient
对象。你可以
通过从djnexmo
包导入来使用它:
fromdjnexmoimportclientclient.send_sms({'to':'447700900301','from':'447700900414','text':'Hello from DJ Nexmo!'})
收到短信
dj-nexmo
提供了一个视图装饰器,它将确保只有在sms的所有部分
可用。
# This will automatically check the signature of the incoming request.# The view will only be called once all parts of the SMS have arrived.@sms_webhookdefsms_registration(request):# Your parsed & merged SMS message will be available as `request.sms`:sms=request.sms# Don't do any long processing here - you should return a 200 response as soon as possible....returnHttpResponse("OK")
格式化电话号码
dj-nexmo
添加了几个用于格式化电话号码的模板过滤器,包装了
phonenumbers库。
{% load phonenumbers %} International: {{ "447700900486" | international }} => +44 7700 900486 Local Format: {{ "447700900486" | national }} => 07700 900486
即将推出:
- 一种管理命令,用于清除数据库中未接收到所有部分的旧消息部分。
- 用于验证来自nexmo api的其他webhook的decorator。
许可证
这段代码是开源的,在apache许可下发布。这意味着它可以免费使用 出于商业或非商业目的,您可以进行任何您想要或需要的更改。
贡献!
我们:心:贡献——如果你想帮助贡献这个项目,请联系我们! 如果你想做什么特别重要的事情,我们建议你提出一个问题 先和我们讨论一下。如果你有什么想看的,请提出一个问题 我也是!如果你发现一个bug,请创建一个问题-任何你能提供的帮助提供一个小的代码示例 证明你所看到的问题是非常有用的,意味着我们应该能够解决 你的问题快点解决!