PHP HubSpot API v3 SDK(Client) files and sample apps
composer require hubspot/api-clientSample Applications can be found in sample-apps folder
$hubSpot = \HubSpot\Factory::createWithApiKey('api-key');$hubSpot = \HubSpot\Factory::createWithAccessToken('access-token');$client = new \GuzzleHttp\Client([...]);
$hubSpot = \HubSpot\Factory::createWithAccessToken('access-token', $client);It provides an ability to turn on retry for failed requests with statuses 429 or 500. Please note that Apps using OAuth are only subject to a limit of 100 requests every 10 seconds.
$handlerStack = \GuzzleHttp\HandlerStack::create();
$handlerStack->push(
    \HubSpot\RetryMiddlewareFactory::createRateLimitMiddleware(
        \HubSpot\Delay::getConstantDelayFunction()
    )
);
        
$handlerStack->push(
    \HubSpot\RetryMiddlewareFactory::createInternalErrorsMiddleware(
        \HubSpot\Delay::getExponentialDelayFunction(2)
    )
);
$client = new \GuzzleHttp\Client(['handler' => $handlerStack]);
$hubSpot = \HubSpot\Factory::createWithAccessToken('access-token', $client);$response = $hubSpot->crm()->contacts()->basicApi()->getPage();$filter = new \HubSpot\Client\Crm\Contacts\Model\Filter();
$filter
    ->setOperator('EQ')
    ->setPropertyName('email')
    ->setValue($search);
$filterGroup = new \HubSpot\Client\Crm\Contacts\Model\FilterGroup();
$filterGroup->setFilters([$filter]);
$searchRequest = new \HubSpot\Client\Crm\Contacts\Model\PublicObjectSearchRequest();
$searchRequest->setFilterGroups([$filterGroup]);
// @var CollectionResponseWithTotalSimplePublicObject $contactsPage
$contactsPage = $hubSpot->crm()->contacts()->searchApi()->doSearch($searchRequest);$contactInput = new \HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectInput();
$contactInput->setProperties($_POST);
$contact = $hubSpot->crm()->contacts()->basicApi()->create($contactInput);$newProperties = new \HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectInput();
$newProperties->setProperties($_POST);
$hubSpot->crm()->contacts()->basicApi()->update($contactId, $newProperties);vendor/bin/phpspec run
vendor/bin/phpunit ./tests