enriquejlicona / zendesk-laravel
Laravel 对 zendesk/zendesk_api_client_php 包的包装
Requires
- php: >=5.4.0
- illuminate/support: ~5.4|^6.0|^7.0|^8.0|^9.0
- zendesk/zendesk_api_client_php: ^2.0
README
此包提供与 Zendesk API 的集成。它支持创建工单、检索和更新工单、删除工单等。
该包简单地提供了一个 Zendesk
门面,该门面作为对 zendesk/zendesk_api_client_php 包的包装。
注意:目前仅支持基于令牌的认证。
安装
您可以使用 Composer 安装此包:
composer require huddledigital/zendesk-laravel
您还必须安装服务提供者。
Laravel 5.5+ 用户:此步骤可以跳过,因为该包支持自动发现。
// config/app.php 'providers' => [ ... Huddle\Zendesk\Providers\ZendeskServiceProvider::class, ... ];
如果您想使用门面,也必须安装它。
// config/app.php 'aliases' => [ .. 'Zendesk' => Huddle\Zendesk\Facades\Zendesk::class, ];
配置
要发布配置文件到 app/config/zendesk-laravel.php
,请运行
php artisan vendor:publish --provider="Huddle\Zendesk\Providers\ZendeskServiceProvider"
使用 环境变量 设置您的配置,无论是您的 .env
文件还是您的服务器控制面板
ZENDESK_SUBDOMAIN
您的 Zendesk 组织 URL 的子域部分。
例如,http://huddledigital.zendesk.com 使用 huddledigital
ZENDESK_USERNAME
认证账户的用户名。
ZENDESK_TOKEN
API 访问令牌。您可以在 https://SUBDOMAIN.zendesk.com/agent/admin/api/settings
创建一个。
ZENDESK_DRIVER
(可选)
将此设置为 null
或 log
以防止直接从您的环境中调用 Zendesk API。
用法
门面
Zendesk
门面作为 Zendesk\API\Client
类的一个实例的包装器。该类上可用的任何方法(这里查看文档)都可通过门面使用。例如
// Get all tickets Zendesk::tickets()->findAll(); // Create a new ticket Zendesk::tickets()->create([ 'subject' => 'Subject', 'comment' => [ 'body' => 'Ticket content.' ], 'priority' => 'normal' ]); // Update multiple tickets Zendesk::ticket([123, 456])->update([ 'status' => 'urgent' ]); // Delete a ticket Zendesk::ticket(123)->delete();
依赖注入
如果您不想使用门面,您可以直接在您的类中注入 Huddle\Zendesk\Services\ZendeskService
,而无需在 config/app.php
中添加别名。然后,您可以使用该对象的所有相同方法,就像您在门面上使用它们一样。
<?php use Huddle\Zendesk\Services\ZendeskService; class MyClass { public function __construct(ZendeskService $zendesk_service) { $this->zendesk_service = $zendesk_service; } public function addTicket() { $this->zendesk_service->tickets()->create([ 'subject' => 'Subject', 'comment' => [ 'body' => 'Ticket content.' ], 'priority' => 'normal' ]); } }
此包遵循 MIT 许可证。