Polyscope - The agent-first dev environment for Laravel

Laravel Hubspot

rossjcooper/laravel-hubspot image

Laravel Hubspot stats

Downloads
415.8K
Stars
51
Open Issues
0
Forks
33

View on GitHub →

Adds a Laravel specific wrapper for the Hubspot client package

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 photo

Full-stack web developer specialising in Laravel, React, VueJs

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Rossjcooper Laravel Hubspot Related Articles

Handle Webhooks in Laravel with Receiver image

Handle Webhooks in Laravel with Receiver

Read article
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media
Blastup logo

Blastup

Blastup provides social media enhancement services including buying Instagram likes, followers, and views, with features like instant delivery and a variety of packages to suit different needs.

Blastup
DreamzTech logo

DreamzTech

Hire 6-10+ Yrs. experienced skilled Laravel Developers from DreamzTech. We ensure NDA protected, 100% quality delivery. Contact Us & Discuss Your Need.

DreamzTech
Honeybadger logo

Honeybadger

Simple developer-focused application monitoring for Laravel. Error tracking, log management, uptime monitoring, status pages, and more!

Honeybadger
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
Celebian logo

Celebian

Celebian is a social media marketing agency specializing in helping their clients go viral on TikTok. Whether you're looking to reach a bigger audience or gain more Tiktok followers, likes, and views, they've got you covered.

Celebian