asciisd / zoho

Zoho package for Laravel
36 stars 36 forks source link

Enhancement Request: Support for Pagination in getRecords Method and Implementation of Get Related Records API Call #47

Closed maxabba closed 2 months ago

maxabba commented 2 months ago

I am working on a project involving a data service server for a mobile app. I am using the Zoho API via the Asciisd\Zoho package, version 1.2.10, within a Laravel 10 environment and PHP 8.1 (Sail).

Issue 1: Limitation in searchRecordsByCriteria Method

I am currently encountering a limitation with the searchRecordsByCriteria method, which restricts the results to 2000 records as per Zoho API documentation. To circumvent this, I attempted to use the getRecords method to leverage pagination with the next_page_token parameter. However, the next_page_token parameter is not present in the response of the getRecords method.

Code Example:


use Asciisd\Zoho\Facades\ZohoManager;

$records = ZohoManager::useModule('Leads')->searchRecordsByCriteria('(City:equals:NY) and (State:equals:Alden)',11,200);
//$records count is 0 because on page 11 on perPage 200 the call exeded the api limit of 2000
$first_record = $records[0];

Problem Description:

The searchRecordsByCriteria method is limited to 2000 records. When using the getRecords method, the expected next_page_token for pagination is missing in the response, preventing me from retrieving subsequent pages of data.

Issue 2: Missing Method for Get Related Records

I also need to use the Get Related Records API call as described in the Zoho API documentation. However, there is no method available in the current library that facilitates this API call.

Problem Description:

There is no callable method in the library for the Get Related Records API.

Environment:

Library Version: 1.2.10 Framework: Laravel 10 PHP Version: 8.1 Development Environment: Sail

Priority:

No immediate priority. Request:

Can you please add support for these features? Specifically:

Ensure the next_page_token parameter is included in the response of the getRecords method. Implement a method to facilitate the Get Related Records API call.