seyvillas / freshdesk-php-sdk
Freshdesk API (v2) 的 PHP SDK
0.3.7
2021-03-04 14:27 UTC
Requires
- php: >=5.6
- guzzlehttp/guzzle: >=4.0,<7.0
Requires (Dev)
- evert/phpdoc-md: ~0.2.0
- phpunit/phpunit: 4.8.*
README
看起来 mpclarkson/freshdesk-php-sdk 仓库已经有一段时间没有活动了,因此我们决定继续实现一些必要功能,例如附件上传等。
这是一个支持 PHP 5.5+ 的 Freshdesk API v2 SDK。
如果您有任何问题,请与我联系或在 GitHub 上创建一个问题。
快速开始
require __DIR__ . '/vendor/autoload.php';
use \Freshdesk\Api;
$api = new Api("your_freshdesk_api_key", "your_freshdesk_domain");
$all = $api->tickets->all();
$some = $api->tickets->all(['page' => 2]);
$new = $api->tickets->create($data);
$updated = $api->tickets->update($data);
$api->tickets->delete($id);
$existing = $api->tickets->view($id);
//Responses are simple arrays, e.g.:
$id = $existing['id'];
$first = $all[0];
安装
要将此库集成到您的应用程序中,请使用 Composer。
将 seyvillas/freshdesk-php-sdk 添加到您的 composer.json 文件
{
"require": {
"seyvillas/freshdesk-php-sdk": "dev-master"
}
}
然后运行
php composer.phar install
API 概览
完整文档可在此处找到
入门指南
创建新的 API 实例非常简单。您只需要 Freshdesk API 密钥和您的 Freshdesk 域名。
require __DIR__ . '/vendor/autoload.php'; use \Freshdesk\Api; $api = new Api("your_freshdesk_api_key", "your_freshdesk_domain");
资源
每个资源可用的方法都可通过 api 的公共属性访问,例如
//Contacts $contacts = $api->contacts->update($contactId, $data); //Agents $me = $api->agents->current(); //Companies $company = $api->companies->create($data); //Groups $deleted = $api->groups->delete($groupId); //Tickets $ticket = $api->tickets->view($filters); //Attachments $api->attachments->delete($attachmentId); //Time Entries $time = $api->timeEntries->all($ticket['id']); //Conversations $ticket = $api->conversations->note($ticketId, $data); //Categories $newCategory = $api->categories->create($data); //Forums $forum = $api->forums->create($categoryId, $data); //Topics $topics = $api->topics->monitor($topicId, $userId); //Comments $comment = $api->comments->create($forumId); //Email Configs $configs = $api->emailConfigs->all(); //Products $product = $api->products->view($productId); //Business Hours $hours = $api->businessHours->all(); //SLA Policy $policies = $api->slaPolicies->all();
响应
所有响应都是数据数组。请参阅 Freshdesk 的文档以获取更多信息。
过滤
所有 GET 请求都接受一个可选的 array $query 参数来过滤结果。例如
//Page 2 with 50 results per page $page2 = $this->forums->all(['page' => 2, 'per_page' => 50]); //Tickets for a specific customer $tickets = $this->tickets->view(['company_id' => $companyId]);
请参阅 Freshdesk 文档以获取有关过滤 GET 请求的更多信息。
贡献
这是一个正在进行中的项目,欢迎提交 PR。请阅读贡献指南。
几乎所有 API 调用都可用,除了 Freshdesk 尚未实现的 Solutions 和 Surveys。
- 解决方案
- 调查
- 上传附件文件
- 通过 ID 删除附件文件
- 更多测试。永远都不嫌多!
- 更好的文档
作者
此库最初由 Matthew Clarkson 编写和维护,来自 Hilenium。现在由 SeyVillas 开发者继续维护。