swithfr / api-client
Hubspot API客户端
5.0.2
2022-01-13 12:17 UTC
Requires
- php: >=7.3
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/psr7: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ~2.12
- phpspec/phpspec: ^6.1
- phpunit/phpunit: ^8.5
README
PHP HubSpot API v3 SDK(客户端)文件
安装
composer require hubspot/api-client
示例应用
请查看我们的示例应用
快速入门
使用HubSpot API密钥实例化API客户端,请使用工厂
$hubSpot = \HubSpot\Factory::createWithApiKey('api-key');
或使用OAuth2访问令牌
$hubSpot = \HubSpot\Factory::createWithAccessToken('access-token');
还可以将自定义客户端传递给工厂
$client = new \GuzzleHttp\Client([...]); $hubSpot = \HubSpot\Factory::createWithAccessToken('access-token', $client);
API客户端带有中间件,用于实现速率和并发限制。
它提供了在状态为429或500的失败请求上启用重试的能力。请注意,使用OAuth的应用程序每10秒只能有100个请求的限制。
$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);
获取自定义对象页面
$hubSpot->crm()->objects()->basicApi()->getPage(HubSpot\Crm\ObjectType::CONTACTS)
文件上传
$file = new \SplFileObject(“file path”); $response = $hubSpot->files()->filesApi()->upload($file, null, ‘/’, null, null, json_encode([ “access” => “PRIVATE”, “ttl” => “P2W”, “overwrite” => false, “duplicateValidationStrategy” => “NONE”, “duplicateValidationScope” => “EXACT_FOLDER” ]) );
贡献
运行规范测试
vendor/bin/phpspec run
运行单元测试
vendor/bin/phpunit ./tests