我有一个小的 python 脚本,它反复向 Volusion API 发出请求以从 Orders 表中提取列。
我反复发送我的 HTTP 请求,因为 Volusion 每次只返回前 200 条记录。我一直发送,直到收到一个空的 XML 响应——告诉我我已获得所有记录。
现在为了再次运行相同的查询,我必须手动登录 Volusion 并在“Volusion API:Run Generic\Orders”中“重置”运行。你知道如何通过他们的 API 重置它吗?
稍微澄清一下这个问题......我认为 volusion 实际上一次只返回 100 条记录。每次调用他们的 api,都会为您提供接下来的 100 条记录,使之前的 100 条记录不可用。最终,您将到达记录集的末尾,而 api 将不会返回任何内容。要再次开始从生成并保存在其 product/import-export/api 部分中的 api 调用中获取结果,您必须手动登录并重置导出。注意:重置实际上不会删除任何记录。这让我在第一次重置我的 api 时感到畏缩。
为了回答您的问题,我已就此联系 Volusion 并被告知“不”。我不确定我是否曾与任何认识的人交谈过。每个人似乎都处于技术支持的低端。但是,如果通过 Volusion 店面通过更多销售添加新记录,它们将在您的代码下一次调用 api 时返回。太棒了,虽然这并不理想,但它适用于初始导入。
解决方法:您可以全天使用条件(例如 orderID = 2344、2345 等)进行 api 调用。因此,将您的 orderID 导入本地数据库,使用它们循环并使用条件进行 api 调用。它很慢。我设置了一个在晚上运行的作业,并更新我的本地数据库,获取一些返回的项目信息和其他订单修改。
请注意: Volusion 通常会在晚上将其站点关闭以进行维护(意料之中)。他们的 API 集成很慢(也是意料之中的)。它不会使通过 API 调用获得的所有通过手动导出可用的数据(例如返回的数量)。我认为这很严重。在我看来,没有退货细节的销售数据是不完整的。我会说 Volusion 的 API 集成缺乏必要的文档,并且确实重新宣传了他们的 API 集成广告。
他们的合作伙伴能够调用未通过 api 向公众提供的数据。我不知道确切的细节。我不确定 Volusion 是否为合作伙伴制作自定义模式,或者他们是否已经找到了 URL hack。我非常感谢有关如何通过 Volusion 的 api 获取退货数量的信息。