rossjcooper/laravel-hubspot
| Install | |
|---|---|
composer require rossjcooper/laravel-hubspot |
|
| Latest Version: | 6.0.0 |
| PHP: | >=8.0 |
| License: | MIT |
| Last Updated: | Oct 2, 2023 |
| Links: | GitHub · Packagist |
HubSpot PHP API Client Wrapper for Laravel
This is a wrapper for the Hubspot/hubspot-api-php package and gives the user a Service Container binding and facade of the HubSpot\Discovery\Discovery class.
Installation
composer require rossjcooper/laravel-hubspot- Get a HubSpot API Key from the Intergrations page of your HubSpot account.
- Laravel 5.4 or earlier, in your
config/app.phpfile:- Add
Rossjcooper\LaravelHubSpot\HubSpotServiceProvider::classto your providers array. - Add
'HubSpot' => Rossjcooper\LaravelHubSpot\Facades\HubSpot::classto your aliases array.
- Add
php artisan vendor:publish --provider="Rossjcooper\LaravelHubSpot\HubSpotServiceProvider" --tag="config"will create aconfig/hubspot.phpfile.- Add your HubSpot API key and private app access token into the
.envfile:HUBSPOT_ACCESS_TOKEN=yourApiKey - If you use the private app access token, you should alo add
HUBSPOT_USE_OAUTH2=trueto your.envfile
Usage
You can use either the facade or inject the HubSpot class as a dependency:
Facade
// Echo all contacts first and last names
$response = HubSpot::crm()->contacts()->basicApi()->getPage();
foreach ($response->getResults() as $contact) {
echo sprintf(
"Contact name is %s %s." . PHP_EOL,
$contact->getProperties()['firstname'],
$contact->getProperties()['lastname']
);
}
Route::get('/', function (HubSpot\Discovery\Discovery $hubspot) {
$response = $hubspot->crm()->contacts()->basicApi()->getPage();
foreach ($response->getResults() as $contact) {
echo sprintf(
"Contact name is %s %s." . PHP_EOL,
$contact->getProperties()['firstname'],
$contact->getProperties()['lastname']
);
}
});
// Create a new contact
$contactInput = new \HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectInputForCreate();
$contactInput->setProperties([
'email' => 'example@example.com'
]);
$contact = $hubspot->crm()->contacts()->basicApi()->create($contactInput);
For more info on using the actual API see the main repo Hubspot/hubspot-api-php
Testing
We're using the brilliant Orchestra Testbench to run unit tests in a Laravel based environment. If you wish to run tests be sure to have a HubSpot API key inside your .env file and run composer run test
Current unit test access the HubSpot API and expect to see the demo contacts/leads that HubSpot provides to its developer accounts.
Issues
Please only report issues relating to the Laravel side of things here, main API issues should be reported here
Related Packages
Mollie API client wrapper for Laravel & Mollie Connect provider for Laravel Soci...