INSTALLATION
To install this package, add the following to your composer.json file
frankkessler/incontact-laravel-oauth2-rest: "0.2.*"
LARAVEL 5 SPECIFIC INSTALLATION TASKS
Add the following to your config/app.php file in the providers array
Frankkessler\Incontact\Providers\IncontactLaravelServiceProvider::class,
Add the following to your config/app.php file in the aliases array
'Incontact' => Frankkessler\Incontact\Facades\Incontact::class,
Run the following command to pull the project config file and database migration into your project
php artisan vendor:publish
Run the migration
php artisan migrate
OPTIONAL INSTALLATION
Logging is enabled by default if using Laravel. If not, add the following to the $config parameter when initializing the Incontact class. (This class must implement the Psr\Log\LoggerInterface interface.)
'incontact.logger' => $class_or_class_name
TOKEN SETUP
Currently, this package only supports the username/password flow for oauth2.
To get started, you'll have to setup an Application in Incontact. 1. Navigate to Manage -> API Applications 2. Click "Create API Application" 3. Select "Register Internal Application" 4. Fill out the form keeping in mind that your OAUTH_CONSUMER_TOKEN will be [APPLICATION_NAME]@[VENDOR_NAME] 5. Save and find your business unit if which will be your OAUTH_CONSUMER_SECRET.
Now that you have your Consumer Token and Consumer Secret, add them to your .env file:
INCONTACT_OAUTH_DOMAIN=api.incontact.com
INCONTACT_OAUTH_CONSUMER_TOKEN=[APPLICATION_NAME]@[VENDOR_NAME]
INCONTACT_OAUTH_CONSUMER_SECRET=BUSINESS_UNIT_NUMBER
INCONTACT_OAUTH_SCOPES=RealTimeApi AdminApi ReportingApi
INCONTACT_OAUTH_USERNAME=YOUR_INCONTACT_USERNAME
INCONTACT_OAUTH_PASSWORD=YOUR_INCONTACT_PASSWORD
EXAMPLES
AdminApi
Get Agents
$incontact = new \Frankkessler\Incontact\Incontact();
$result = $incontact->AdminApi()->agents();
foreach($result['agents'] as $record) {
$agentId = $record['AgentId'];
}
ReportingApi
Get Call by Contact Id
$incontact = new \Frankkessler\Incontact\Incontact();
$result = $incontact->ReportingApi()->contact('9999999999');
foreach($result as $record) {
$contactId = $record['contactId'];
}