zenichanin/freshdesk-laravel

Laravel 对 Freshdesk API (v2) 的包装

安装次数: 7,585

依赖: 0

建议者: 0

安全性: 0

星标: 1

关注者: 0

分支: 45

类型:laravel-package

0.3.0 2016-10-19 00:08 UTC

This package is not auto-updated.

Last update: 2024-09-21 14:01:34 UTC


README

Build Status Scrutinizer Code Quality SensioLabsInsight Packagist

这是一个用于通过 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

参考