定制 hutsi/yii2-zendesk 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hutsi/yii2-zendesk

Composer 安装命令:

composer require hutsi/yii2-zendesk

包简介

Yii2 zendesk plugin

README 文档

README

Yii2 plugin for zendesk service support (https://www.zendesk.com)

How to use:

Add the following line to composer.json, require section

"require": {
    "hutsi/yii2-zendesk": ">=3.3",
} 

Add a component to your main.php config file

'components' =>
    'zendesk' => [
        'class' => 'hutsi\zendesk\Client',
        'apiKey' => 'YOUR_API_KEY',
        'user' => 'YOUR_USER',
        'baseUrl' => 'https://SUBDOMAIN.zendesk.com/api/v2',
        'password' => 'YOUR_PASSWORD',
        'authType' => 'basic'
    ]
]

The most simple example is: Create an instance of Zendesk Client

$client = new hutsi\zendesk\Client();

Execute

$results = $client->execute('GET', '/users.json', []);

OR

$results = $client->get('/users.json', []);

Another variant is to use build-in plugin functions to work with Users, Tickets, Search, Attachments instances. In your form handler use:

use yii\helpers\StringHelper;
use hutsi\zendesk\Attachment;
use hutsi\zendesk\Search;
use hutsi\zendesk\Ticket;
use hutsi\zendesk\User;
use Yii;
use yii\web\UploadedFile;

If you wants to use upload, you should use a well-known \yii\web\UploadedFile instanse

$uploadedFile = new UploadedFile(['tempName' => 'YOUR_FILE_TEMPNAME', 'name' => 'YOUR_FILE_NAME]);

Then - create and save zendesk Attachment instance from UploadedFile

$zAttachment = new Attachment(['uploadedFile' => $uploadedFile]);
$token = $zAttachment->save();

You can also use zendesk search API for existing Users of your zendesk account If there are no such users - let's create it

$search = new Search(['query' => ['email' => '"user@example.com"']]);
if ($zUsers = $search->users()) {
    $zUser = $zUsers[0];
} else {
    $zUser = new User(['email' => 'user@example.com');
    $zUser->save();
}

And finally, it's time to create a Ticket instance

$zTicket = new Ticket([
    'requester_id' => $zUser->id,
    'requester' => [
        'email' => $zUser->email
    ],
    'subject' => StringHelper::truncate('Problem: Authorization', 100),
    'comment' => [
        'body' => 'Authorization not works!'
    ],
]);

If we had an uploads - attach them to a ticket comment field

$zTicket->comment['uploads'] = isset($token) && $token ? [$token] : null;
$zTicket->save();

Thats all.

hutsi/yii2-zendesk 适用场景与选型建议

hutsi/yii2-zendesk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.77k 次下载、GitHub Stars 达 6, 最近一次更新时间为 2015 年 09 月 16 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 hutsi/yii2-zendesk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 hutsi/yii2-zendesk 我们能提供哪些服务?
定制开发 / 二次开发

基于 hutsi/yii2-zendesk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1.77k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 3
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-v3
  • 更新时间: 2015-09-16