Install the latest version with
$ composer require shiftplanning/humanity-php-sdk
Make sure to loade composer autoload file.
<?php
use \Humanity\Entity\Company;
use \Humanity\Entity\Employee;
use \Humanity\Humanity;
// Load Humanity SDK for PHP via composer
$config = [
'provider' => [
'clientId' => '...',
'clientSecret' => '...',
'redirectUri' => '...',
'scopes' => [
Company::SCOPE_VIEW,
Employee::SCOPE_VIEW
],
],
];
// Create new instance of humanity class
$humanity = new Humanity($config);
Obtained access token will be saved for you in _SESSION variable.
// Obtain access token
$humanity->obtainAccessToken();
// Get access token instance
$accessToken = $humanity->getAccessToken();
printf('Access token: %s<br/>', $accessToken->accessToken);
Invoking Humanity::me() will return Employee entity instance
$me = $humanity->me();
printf('Hello, %s<br/>', $me->display_name);
Retrieve data
// Get Company repository instance
$companyRepository = $humanity->getCompanyRepository();
// Retrieve company data for current logged employee
$company = $companyRepository->get($me->company_id);
printf('Company: %s<br/>', $company->name);
// Get Employee repository instance
$employeeRepository = $humanity->getEmployeeRepository();
// Retrieve employees data for company.
$employees = $employeeRepository->getByCompany($company->company_id);
echo 'Employees: ';
echo '<ul>';
// Iterating employees collection
foreach ($employees as $employee) {
printf('<li>%s</li>', $employee->display_name);
}
echo '</ul>';