如何使用Chargebee Python SDK列出超过100个客户?



我想列出Chargebee的所有客户,目前我有101个客户。我使用chargebee.Customer.list({'limit': 100})是因为在文档中它说"可选的,整数,default=10, min=1, max=100"

文档链接:https://apidocs.chargebee.com/docs/api/customers?prod_cat_ver=2#list_customers

我有100多个客户,但我仍然没有"next_offset"返回。

我可以问一下我怎样才能得到所有的客户吗?还是先给100个客户做补偿?

谢谢。

请问我怎样才能得到所有的客户?

根据Chargebee的列表操作文档(此处),必须重复调用API,直到响应对象中缺少next_offset字段。offset参数允许我们从我们离开的地方开始。

可以使用limit参数在一次呼叫中要求Chargebee提供更多客户,从而减少我们必须拨打的总呼叫数。

我包含了一个Python代码片段作为如何实现分页的示例。

import chargebee

def get_all_customers(params, limit=100, offset=None):
customers = list()
params['limit'] = limit
params['offset'] = offset
while True:
entries = chargebee.Customer.list(params)
customers.extend(entries.response)
if entries.next_offset:
params['offset'] = entries.next_offset
else:
break
return customers

def main():
chargebee.configure('<api_token>', '<site>')
customers = get_all_customers({"first_name[is]": "John"})
for customer in customers:
print(customer)

if __name__ == '__main__':
main()

我有100多个客户,但我仍然没有"next_offset"返回。

不幸的是,我们无法提供帮助,因为我们无法访问您的Chargebee环境和调试。

最新更新