如何在Nexmo中检索可用的电话号码?

时间:2019-05-26 03:41:31

标签: python python-3.x nexmo

我想使用不带所有参数的模式搜索来检索所有可用的电话语音电话号码(仅电话号码)。

我尝试了nexmo给出的api代码。它可以工作,但是我只得到了有限的电话号码,而且我也得到了很多其他参数,我不想。这是我正在使用的2个api调用:

phnumbers = client.get_available_numbers("US", {"features": "VOICE"})
phnumbers = client.get_available_numbers("US", {"pattern": "007", "search_pattern": 2})

我只想列出可用电话号码。我不在乎是否是1000。不确定是否有办法限制返回的数字。目前使用以下参数获取数量有限的数字:

{'count': 394773, 'numbers': [{'country': 'US', 'msisdn': '12014790696', 'cost': '0.90', 'type': 'mobile-lvn', 'features': ['VOICE', 'SMS']}

那是一个数字。我只想告诉它给我所有的语音号码,并将它们放在列表中...在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我看了看文档,我认为不可能只取回电话号码(也称为msisdn)。

相反,对于每个数字,您都会得到包括国家,成本,类型等...的信息,如文档所说,其中的一部分是“可用数字及其详细信息的分页数组”

如果查看响应,您会看到您获得count作为第一个键/值对,在您的示例中,计数为394773,这是可用于搜索条件的总数您在提出请求时指定的。

现在,我不知道所有的原因,但是发送回一个有效载荷为394773数字的响应可能会使系统负担过多。


您可以做什么:


根据我的测试,如果您将size指定为100,那么您将获得每页100条记录的响应,并且您拥有index参数,可用于分页(上面的任何内容) size为100,则只有10条记录。

因此,如果您的搜索查询数量为394773,则使用size = 100,我们有3947 + 1页(最后一页(index = 3948)只有73条记录),您必须获取它们一一对应,总共3948个请求都通过了适当的索引值。

当然,如果您传递更具体的搜索查询,则可以减少count

我了解您想要的东西,并且我不为Nexmo工作,而且,在阅读了文档之后,我认为仅一次请求就不可能收回一切。您只需要在搜索查询中更具体。


文件:


Retrieve inbound numbers that are available for the specified country.