ZohoCRM 模块 getRecords PHP

ZohoCRM Module getRecords PHP

我正在使用 ZohoCRM PHP SDK 尝试从 CRM 中提取所有 Account 记录并在本地操作它们(做一些报告)。基本代码如下所示,效果很好:

    $account_module = ZCRMModule::getInstance('Accounts');
    $response = $account_module->getRecords();
    $records = $response->getData();

    foreach ($records as $record) {
        // do stuff
    }

问题是 $records 对象只有 200 条记录(总数约为 3000 条)。我在(最少/很少记录的)SDK 文档中找不到任何文档显示如何分页或获得更大的结果集,并且由于某种原因,开发站点中的 Zoho 代码示例似乎没有使用相同的 SDK。

有谁知道如何对这些记录进行分页?

getRecords() method seems to accept 2 parameters. This is used within some of their examples。您应该能够将这些参数用于 set/control 分页。

$param_map = ["page" => "20", "per_page" => "200"];
$response = $account_module->getRecords($param_map);

@dakdad 是正确的,您可以将页面和每页值传递到 param_map。您还应该使用 $response->getInfo()->getMoreRecords() 来确定是否需要分页。这样的事情似乎有效:

$account_module = ZCRMModule::getInstance('Accounts');
$page = 1;
$has_more = true;

while ($has_more) {
    $param_map = ["page" => $page, "per_page" => "200"];
    $response = $account_module->getRecords($param_map);
    $has_more = $response->getInfo()->getMoreRecords();

    $records = $response->getData();
    foreach ($records as $record) {
        // do stuff
    }
    $page++;
}