2015-06-22 3 views
2

API Hubspot позволяет вам получать список контактов, однако он позволяет использовать не более 100 за звонок.Получение полного списка контактов из API Hubspot

я, что с этим вызовом:

$contacts_batch1 = $contacts->get_all_contacts(array('count' => '100')); 

И тогда, если я хочу, чтобы получить следующие 100 Я делаю это:

$offset1 = $contacts_batch1->{'vid-offset'}; 

$contacts_batch2 = $contacts->get_all_contacts(array('count' => '100', 'vidOffset'=>$offset1)); 

Я пытаюсь получить все контакты без необходимости создайте новую переменную каждый раз, когда я захочу следующие 100. Мой первый вопрос будет состоять в том, как я могу получить смещение vid последнего набора, а затем как я могу поместить это как параметр в следующую переменную автоматически.

ответ

2

Ниже приведен пример получения всех контактов в один массив с использованием API-интерфейса HubSpot.

<?php 
require "haPiHP/class.contacts.php"; 
require "haPiHP/class.exception.php"; 
define("HUBSPOT_API_KEY", "<YOUR API KEY HERE>"); 

$contacts = new HubSpot_Contacts(HUBSPOT_API_KEY); 

$all_contacts = array(); 

do 
{ 
    $params = array("count" => 100); 
    if (isset($vidOffset)) 
    { 
     $params["vidOffset"] = $vidOffset; 
    } 

    echo "count=" . $params["count"] . (isset($params["vidOffset"]) ? ", vidOffset=" . $params["vidOffset"] : "") . "\n"; 

    $some_contacts = $contacts->get_all_contacts($params); 
    if ($some_contacts !== NULL) 
    { 
     $all_contacts = array_merge($all_contacts, $some_contacts->contacts); 
    } 
    else 
    { 
     break; 
    } 

    $vidOffset = $some_contacts->{'vid-offset'}; 

} while ($some_contacts->{'has-more'}); 

echo "Received " . count($all_contacts) . " contacts.\n"; 

?> 
Смежные вопросы