Clickatell HTTP库
项目描述
Bellville, A Clickatell Python Library
A Python Clickatell HTTP library
>>> from clickatell.api import Clickatell >>> from clickatell import constants as cc >>> clickatell = Clickatell('username','password','api_id', ... sendmsg_defaults={ ... 'callback': cc.YES, ... 'msg_type': cc.SMS_DEFAULT, ... 'deliv_ack': cc.YES, ... 'req_feat': cc.FEAT_ALPHA + \ ... cc.FEAT_NUMER + \ ... cc.FEAT_DELIVACK ... }) >>> clickatell.sendmsg(recipients=['27123456789'], \ ... sender='27123456789', text='hello world') [ERR: 301, No Credit Left] >>>
下一步,为您的Clickatell账户获取一些信用。
入门指南
确保您拥有Clickatell账户,他们将为您提供10条免费短信,您可以使用这些短信进行测试。但是,即使未送达的消息也会计入您的信用,如果您打算实际使用这10条短信,请确保您使用库100%正确。使用他们提供的用户名、密码和api_id。
如果您想使用代码,以下内容应该足够
$ python setup.py install
如果您想开发代码,请执行以下操作
$ virtualenv --no-site-packages ve/ $ source ve/bin/activate (ve)$ pip -E ve/ install -r requirements.pip (ve)$ python setup.py develop ...
来自
测试
此项目使用Nose进行测试,master分支应该始终保持稳定
(ve)$ pip install nose (ve)$ nosetests ...
使用Bellville
一些代码示例,说明这个工具是如何工作的。
发送单条短信
>>> from clickatell.api import Clickatell >>> clickatell = Clickatell('username','password','api_id') >>> [resp] = clickatell.sendmsg(recipients=['27123456789'], ... sender='27123456789', ... text='hello world') >>> resp IDResponse: ce7f181a44a4a5b7e43fe2b9a0b1f0c1 >>> resp.value # Clickatell's apiMsgId value 'ce7f181a44a4a5b7e43fe2b9a0b1f0c1' >>>
向多个收件人发送短信
>>> [resp1, resp2] = clickatell.sendmsg(recipients=[ ... '27123456781', ... '27123456782'], ... sender='27123456789', ... text='hello world') >>> resp1.value # the apiMsgId 'ce7f181a44a4a5b7e43fe2b9a0b1f0c1' >>> resp1.extra # the extra values returned for the response {'To': '27123456781'} >>> resp2.value 'ce7f181a44a4a5b7e43fe2b9a0b1f0c2' >>> resp2.extra {'To': '27123456782'} >>>
检查短信状态
Clickatell允许您通过轮询其服务器来检查短信状态。然而,他们还允许您使用HTTP回调,他们将状态实时发布到您的服务器。 这要快得多,也更有效。
>>> status = clickatell.querymsg( \ ... apimsgid='ce7f181a44a4a5b7e43fe2b9a0b1f0c1') >>> status.value 'ce7f181a44a4a5b7e43fe2b9a0b1f0c1' >>> status.extra {'Status': '002'} >>>
检查您的Clickatell账户余额
>>> clickatell.getbalance() 0.67000000000000004 >>>
检查MSISDN的覆盖范围
>>> clickatell.check_coverage('27219107700') ERRResponse: This prefix is not currently supported. Messages sent to this prefix will fail. Please contact support for assistance. >>> resp = clickatell.check_coverage('2776*******') >>> resp OKResponse: This prefix is currently supported. Messages sent to this prefix will be routed. Charge: 1 >>> resp.value 'This prefix is currently supported. Messages sent to this prefix will be routed.' >>> resp.extra {'Charge': '1'} >>>
检查短信费用
>>> resp = clickatell.getmsgcharge( \ apimsgid='ce7f181a44a4a5b7e43fe2b9a0b1f0c1') >>> resp.value 'ce7f181a44a4a5b7e43fe2b9a0b1f0c1' >>> resp.extra {'status': '002', 'charge': '1'} >>>
发送短信批量
batch.sendmsg()方法的响应与clickatell.sendmsg()的响应相同。
>>> batch = clickatell.batch(sender='27123456789', ... template='Hello #field1# #field2#') >>> with batch: ... batch.sendmsg(to='27123456781', context={ ... 'field1': 'Foo 1', ... 'field2':'Bar 1' ... }) ... batch.sendmsg(to='27123456782', context={ ... 'field1': 'Foo 2', ... 'field2':'Bar 2' ... }) ... ERRResponse: 301, No Credit Left ERRResponse: 301, No Credit Left >>> # shucks
要使with语句工作,您需要Python 2.6或更高版本。如果手动启用,它可以在Python 2.5中工作
>>> from __future__ import with_statement
如果您不想使用上下文管理器,您可以使用batch_id参数手动调用batch.start()和batch.end()。
>>> batch = clickatell.batch(sender='27123456789', ... template='Hello #field1# #field2#') >>> batch_id = batch.start() >>> batch.sendmsg(to='...', batch_id=batch_id, context={...}) >>> batch.sendmsg(to='...', batch_id=batch_id, context={...}) >>> batch.sendmsg(to='...', batch_id=batch_id, context={...}) >>> batch.end(batch_id)
向多个收件人发送快捷消息
>>> with clickatell.batch(sender='27123456789', ... template='Hello world!') as batch: ... [apimsgid1, apimsgid2, apimsgid3] = batch.quicksend(recipients=[ ... '27123456781', ... '27123456782', ... '27123456783', ... ]) ... >>> apimsgid1 ERRResponse: 301, No Credit Left To: 27123456781 >>> apimsgid2 ERRResponse: 301, No Credit Left To: 27123456782 >>> apimsgid3 ERRResponse: 301, No Credit Left To: 27123456783 >>>
待办事项
尚未实施的功能包括
队列消息的删除
MMS 推送
WAP 推送服务指示
令牌凭证支付
8位消息
项目详情
下载文件
下载您平台对应的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
python-clickatell-0.1.3.tar.gz (12.6 kB 查看哈希)
构建分布
python_clickatell-0.1.3-py2.6.egg (26.5 kB 查看哈希)
关闭
python-clickatell-0.1.3.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b988661757c7427b5df1be15d8b8955ea1f9b7ea07a736661fab5ef7eb2860d4 |
|
MD5 | 937e7f0f62a12633d5ea92dce0ba483d |
|
BLAKE2b-256 | e83c7b0c9fa6652d27682d1c20853d4b5766f5437aa690a7d5c4edcd729ab4a5 |
关闭
python_clickatell-0.1.3-py2.6.egg 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 46f7d7ca7baf8af0106cc6b3ab4d7b14f29809bb000b5cc6c63a90d0633e73af |
|
MD5 | f91d3978deb4f78f4b8b159a4ccbe79d |
|
BLAKE2b-256 | a6a627e5951c163178464757a0dde335a9c58c8e742d810548d60d4c9136235e |