CallHub API的Python API包装器

callhub-python-wrapper的Python项目详细描述


CallHub Python包装器

Build StatusCoverage StatusPyPI - Downloads

Python的CallHub API客户端包装器

为CallHub API的几个重要函数创建一个干净的(er)python接口。在

project-logo

安装

pip install callhub-python-wrapper

需要python3.5或更高版本

特点

  • 内置(可选)速率限制,考虑CallHub对不同功能的不同速率限制
  • 上传带有CallHub中不存在的字段的联系人时,可以更好地处理错误
  • 抽象出使用CallHub的API的一些乏味的部分。当上传联系人时,CallHub希望您将CSV列映射到CallHub中每个字段的id,这很难也很容易搞乱。这个包装器通过匹配字段名来处理所有这些。在
  • 执行大容量获取时自动处理分页
  • 使用异步请求来提高重复调用的速度(在get_contacts中实现)

在最新版本中实施

  • 批量创建联系人
  • 获取代理排行榜
  • 获取所有字段和标识(包括自定义字段)
  • 批量获取联系人和字段
  • 创建单个联系人
  • 获取DNC列表上的所有电话号码
  • 获取所有DNC列表
  • 在DNC列表中添加/删除编号
  • 创建和删除DNC列表
  • 获取活动
  • 创建电话簿
  • 创建/获取/删除webhook

目前正在制定路线图

  • 创建/获取团队
  • 在团队中添加/删除代理
  • 创建/删除代理
  • 导出活动

使用

初始化
from callhub import CallHub

# Note the required argument for API domain: Depending on your CallHub account, you
# may have a different API domain below (EG. "https://api-na1.callhub.io")
callhub = CallHub("https://api.callhub.io", api_key="123456789ABCDEF")
联系人和电话簿
^{pr2}$
DNC列表
# Get names and ids of all do-not-contact lists
callhub.get_dnc_lists()

# Get all phone numbers marked do-not-contact and the do-not
# contact list(s) that they are associated with
callhub.get_dnc_phones()

# Create a DNC list
list_id = callhub.create_dnc_list("My DNC List Name")

# Delete a DNC list
callhub.remove_dnc_list(list_id)

# Add phone number 555-555-5555 to DNC list id 123456789
results, errors = callhub.add_dnc(["15555555555"], "123456789")

# Add multiple phone numbers to DNC list id 12345689
results, errors = callhub.add_dnc(["15555555555","15554443333"], "123456789")

# Remove number(s) from all DNC lists
errors = callhub.remove_dnc(["15554443333"])

# Remove number(s) from specific DNC list id
errors = callhub.remove_dnc(["15555555555"], "123456789")

性能说明

这充分利用了CallHub内置的bulk-create-API端点,因此作为一个普通的管理员用户,上传联系人的电子表格的速度应该相当。请注意,bulk iu create只能每70秒调用一次,以符合此端点上的特殊CallHub ratelimit。在

用10个数字调用add_dnc/remove_dnc比用一个数字调用add_dnc/remove_dnc快十倍

如果使用此库对大多数函数(例如add_dnc)进行循环调用,则可以预期性能约为0.5-1个请求/秒。这是因为所有函数都要等到收到服务器的响应后才退出。在

但是,如果使用联系人列表调用这些函数,则可以获得更快的性能(而不是每次调用一个联系人时调用10次)。这是因为每一个执行许多类似重复API调用的函数都会利用异步请求进行重复调用(发出大量请求,然后等待该请求池完成)。因此,对于大量的数字,我们可以实现每秒向DNC列表中添加5-10个数字的实际速度(CallHub的API限制为20/s)。在

使用get_contacts获取联系人可能需要一段时间

CallHub在使用get_contacts时,每个api请求只给我们10个联系人,所以希望这个库以大约100个联系人/秒的速度获取联系人。这大约需要17分钟来获取100K个联系人!在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
来自偏移量的java JavaPairInputStream流   gzip Java TarInputStream读取tar的文件名。包含另一个tar的gz文件。gz文件   如何在Linux shell脚本中确定和使用实际的java路径   java请求太多FirebaseError   java错误json解析   java在localserver上发送安卓应用程序的输出   JavaSpring:启动和停止webapplication时更新DBtable条目   java如何使用JavaFX在矩形处设置文本?   java SQL查询在Hibernate中出现异常   java我无法使用javamail代码通过outlook(hotmail帐户)配置发送邮件,但在gmail中工作正常   java是不同的持久性。测试运行/JPA装置的xml属性   无头Eclipse的java导出战   使用ContentVersionStrategy的java Spring引导缓存禁止使用gzip进行资源压缩   java如何获取计算机的设备令牌?   图像文件的java ImageInfo不包含有效值   继承强制在Java中使用基类方法