zenichanin / freshdesk-laravel
Laravel 对 Freshdesk API (v2) 的包装
Requires
- illuminate/support: ~5.1
- mpclarkson/freshdesk-php-sdk: 0.3.*
Requires (Dev)
- laravel/laravel: ~5
- laravel/lumen: ~5
- phpunit/phpunit: ~4
This package is not auto-updated.
Last update: 2024-09-21 14:01:34 UTC
README
这是一个用于通过 Laravel 和 Lumen 应用程序中的 freshdesk-php-sdk 与 Freshdesk API v2 交互的服务提供者。
安装
要将此捆绑包添加到您的应用程序中,请使用 Composer。
将 mpclarkson/freshdesk-laravel
添加到您的 composer.json 文件中
{ "require": { "zenichanin/freshdesk-laravel": "dev-master" } }
然后运行
composer update
然后您需要在应用程序中注册提供者。
在 config/app.php
中的 providers
键中注册提供者
'providers' => array( // ... Mpclarkson\Laravel\Freshdesk\FreshdeskServiceProvider::class, )
然后在 config/app.php
中的 aliases
键中添加 Freshdesk 门面别名
'aliases' => array( // ... 'Freshdesk' => Mpclarkson\Laravel\Freshdesk\FreshdeskFacade::class, )
配置
要自定义配置文件,请使用 Artisan 发布包配置。
php artisan vendor:publish --provider="Mpclarkson\Laravel\Freshdesk\FreshdeskServiceProvider"
使用 环境变量 在您的 .env
文件中设置您的配置
FRESHDESK_KEY
阅读这篇文章以查找您的 API 密钥:https://support.freshdesk.com/support/solutions/articles/215517-how-to-find-your-api-key
FRESHDESK_DOMAIN
您的 Freshdesk 组织 URL 的子域部分。
访问 Freshdesk API
在控制器中,您可以如下访问 Freshdesk 资源
//Contacts $contacts = Freshdesk::contacts()->update($contactId, $data); //Agents $me = Freshdesk::agents()->current(); //Companies $company = Freshdesk::companies()->create($data); //Groups $deleted = Freshdesk::groups()->delete($groupId); //Tickets $ticket = Freshdesk::tickets()->view($filters); //Time Entries $time = Freshdesk::timeEntries()->all($ticket['id']); //Conversations $ticket = Freshdesk::conversations()->note($ticketId, $data); //Categories $newCategory = Freshdesk::categories()->create($data); //Forums $forum = Freshdesk::forums()->create($categoryId, $data); //Topics $topics =Freshdesk::topics()->monitor($topicId, $userId); //Comments $comment = Freshdesk::comments()->create($forumId); //Email Configs $configs = Freshdesk::emailConfigs()->all(); //Products $product = Freshdesk::products()->view($productId); //Business Hours $hours = Freshdesk::businessHours()->all(); //SLA Policy $policies = Freshdesk::slaPolicies()->all();
过滤
所有 GET
请求都接受一个可选的 array $query
参数来过滤结果。例如
//Page 2 with 50 results per page $page2 = Freshdesk::forums()->all(['page' => 2, 'per_page' => 50]); //Tickets for a specific customer $tickets = Freshdesk::tickets()->view(['company_id' => $companyId]);
请阅读 Freshdesk 文档以获取有关过滤 GET
请求的更多信息。
贡献
这是一个正在进行中的项目,欢迎提交 PR。请阅读 贡献指南。
作者
该库由 Matthew Clarkson 编写和维护,来自 Hilenium。