keepcloud / freshdesk-laravel

Freshdesk API(v2)的Laravel 7和8包

1.1 2022-03-16 14:08 UTC

This package is auto-updated.

Last update: 2024-09-16 20:04:53 UTC


README

Packagist

这是一个服务提供者,用于通过Laravel和Lumen应用程序中的freshdesk-php-sdk与Freshdesk API v2进行交互。

安装

要将此包添加到您的应用程序,请使用Composer

keepcloud/freshdesk-laravel添加到您的composer.json文件中

{
    "require": {
        "keepcloud/freshdesk-laravel": "^1.0"
    }
}

然后运行

composer update

然后您需要在应用程序中注册提供者。

config/app.php文件的providers键中注册提供者

    'providers' => array(
        // ...
        Keepcloud\Laravel\Freshdesk\FreshdeskServiceProvider::class,
    )

然后在config/app.php文件的aliases键中添加Freshdesk外观别名

    'aliases' => array(
        // ...
        'Freshdesk' => Keepcloud\Laravel\Freshdesk\FreshdeskFacade::class,
    )

配置

要自定义配置文件,请使用Artisan发布包配置。

php artisan vendor:publish

更新app/config/freshdesk.php文件中的设置。

return [
    'api_key' => 'your_freshdesk_api_key',
    'domain' => 'your_freshdesk_domain',
];

访问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。请阅读贡献指南

作者

该库由Edison Costa编写和维护

参考文献