frankkessler/incontact-laravel-oauth2-rest

使用OAuth2的inContact REST API包装器

v0.2.4 2016-09-23 02:50 UTC

README

Travis CI Build Status Coverage Status StyleCI Latest Stable Version

安装

要安装此包,请将以下内容添加到您的composer.json文件中

frankkessler/incontact-laravel-oauth2-rest: "0.2.*"

LARAVEL 5 特定安装任务

将以下内容添加到您的config/app.php文件中的providers数组

Frankkessler\Incontact\Providers\IncontactLaravelServiceProvider::class,

将以下内容添加到您的config/app.php文件中的aliases数组

'Incontact'    => Frankkessler\Incontact\Facades\Incontact::class,

运行以下命令以将项目配置文件和数据库迁移拉取到您的项目中

php artisan vendor:publish

运行迁移

php artisan migrate

##可选安装

如果使用Laravel,则默认启用日志记录。如果不启用,则在初始化Incontact类时将以下内容添加到$config参数中。(此类必须实现Psr\Log\LoggerInterface接口。)

'incontact.logger' => $class_or_class_name

#令牌设置

目前,此包仅支持OAuth2的用户名/密码流。

要开始使用,您必须在Incontact中设置一个应用程序。

  1. 导航到管理 -> API应用程序
  2. 点击“创建API应用程序”
  3. 选择“注册内部应用程序”
  4. 填写表格时请记住,您的OAUTH_CONSUMER_TOKEN将是[APPLICATION_NAME]@[VENDOR_NAME]
  5. 保存并找到您的业务单元,这将作为您的OAUTH_CONSUMER_SECRET。

现在您已经拥有了消费者令牌和消费者密钥,请将它们添加到您的.env文件中

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

示例

AdminApi

获取代理

$incontact = new \Frankkessler\Incontact\Incontact();

$result = $incontact->AdminApi()->agents();

foreach($result['agents'] as $record) {
    $agentId =  $record['AgentId'];
}

ReportingApi

通过联系人ID获取通话

$incontact = new \Frankkessler\Incontact\Incontact();

$result = $incontact->ReportingApi()->contact('9999999999');
                                      
foreach($result as $record) {
    $contactId = $record['contactId'];
}