This is a wrapper for the hubspot/hubspot-php package and gives the user a Service Container binding and facade of the SevenShores\Hubspot\Factory::create('api-key')
function.
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.php
file:- Add
Rossjcooper\LaravelHubSpot\HubSpotServiceProvider::class
to your providers array. - Add
'HubSpot' => Rossjcooper\LaravelHubSpot\Facades\HubSpot::class
to your aliases array.
- Add
php artisan vendor:publish --provider="Rossjcooper\LaravelHubSpot\HubSpotServiceProvider" --tag="config"
will create aconfig/hubspot.php
file.- Add your HubSpot API key into the your
.env
file:HUBSPOT_API_KEY=yourApiKey
You can use either the facade or inject the HubSpot class as a dependency:
// Echo all contacts first and last names
$response = HubSpot::contacts()->all();
foreach ($response->contacts as $contact) {
echo sprintf(
"Contact name is %s %s." . PHP_EOL,
$contact->properties->firstname->value,
$contact->properties->lastname->value
);
}
Route::get('/', function (Rossjcooper\LaravelHubSpot\HubSpot $hubspot) {
$response = $hubspot->contacts()->all();
foreach ($response->contacts as $contact) {
echo sprintf(
"Contact name is %s %s." . PHP_EOL,
$contact->properties->firstname->value,
$contact->properties->lastname->value
);
}
});
For more info on using the actual API see the main repo hubspot/hubspot-php
We're using the brilliant Orchestra Testbench v4 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 ./vendor/bin/phpunit
Current unit test access the HubSpot API and expect to see the demo contacts/leads that HubSpot provides to its developer accounts.
Please only report issues relating to the Laravel side of things here, main API issues should be reported here