GetResponse API v3: GET / contacts не возвращает все контакты - PullRequest
0 голосов
/ 31 января 2019

Хотя добавление контактов через API (POST / контакты) работает нормально, я не получаю все активные контакты, используя GET / контакты (см. https://apidocs.getresponse.com/v3/resources/contacts).

public function getContacts()
{
    return $this->get('contacts', [
        'query' => [
            'campaignId' => $this->campaign
        ],
        'fields' => 'name,email',
        'perPage' => $this->perPage
    ]);
}

Как это исправить?

1 Ответ

0 голосов
/ 05 февраля 2019

$perPage ограничено 1000:

public function getContacts($page = 1)
{
    return $this->get('contacts', [
        'query' => [
            'campaignId' => $this->campaign
        ],
        'fields' => 'name,email',
        'sort' => [
            'createdOn' => 'desc'
        ],
        'perPage' => $this->perPage, // max. 1000
        'page' => $page
    ]);
}

public function getAllContacts()
{
    $page = 1;
    $allContacts = [];
    while ($contacts = $this->getContacts($page++)) {
        array_push($allContacts, ...$contacts);
    }
    return $allContacts;
}
...