Package

Rossjcooper Laravel Hubspot

Adds a Laravel specific wrapper for the Hubspot client package

Package

rossjcooper/laravel-hubspot

View on GitHub →

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

  1. composer require rossjcooper/laravel-hubspot
  2. Get a HubSpot API Key from the Intergrations page of your HubSpot account.
  3. 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.
  4. php artisan vendor:publish --provider="Rossjcooper\LaravelHubSpot\HubSpotServiceProvider" --tag="config" will create a config/hubspot.php file.
  5. Add your HubSpot API key and private app access token into the .env file: HUBSPOT_ACCESS_TOKEN=yourApiKey
  6. If you use the private app access token, you should alo add HUBSPOT_USE_OAUTH2=true to your .env file

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

Rossjcooper Laravel Hubspot Related Articles

Building EasyReply: How We Used Laravel to Unify Customer Support image

Building EasyReply: How We Used Laravel to Unify Customer Support

Read article
Handle Webhooks in Laravel with Receiver image

Handle Webhooks in Laravel with Receiver

Read article
A simple form builder that stays out of your way image

A simple form builder that stays out of your way

Read article

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm

No Compromises

Joel and Aaron, the two seasoned devs from the No Compromises podcast, are now available to hire for your Laravel project. ⬧ Flat rate of $9500/mo. ⬧ No lengthy sales process. ⬧ No contracts. ⬧ 100% money back guarantee.

No Compromises

Acquaint Softtech

Acquaint Softtech offers AI-ready Laravel developers who onboard in 48 hours at $3000/Month with no lengthy sales process and a 100 percent money-back guarantee.

Acquaint Softtech

Pushsilver

Pushsilver is simple invoicing for freelancers and small studios — send polished invoices, automate reminders, and get paid on time without the bloat.

Pushsilver

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum