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.
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
You can use either the facade or inject the HubSpot class as a dependency:
// 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
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.
Please only report issues relating to the Laravel side of things here, main API issues should be reported here