plustime-it / 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|^10.0
- zendesk/zendesk_api_client_php: 2.*
This package is auto-updated.
Last update: 2024-09-12 05:02:58 UTC
README
此包提供了与 Zendesk API 的集成。它支持创建工单、检索和更新工单、删除工单等。
该包仅提供了一个 Zendesk
门面,作为对 zendesk/zendesk_api_client_php 包的包装。
注意:当前仅支持基于令牌的认证。
安装
您可以使用 Composer 安装此包
composer require plustime-it/zendesk-laravel
您还必须安装服务提供者。
Laravel 5.5+ 用户:此步骤可以跳过,因为该包支持自动发现。
// config/app.php 'providers' => [ ... PlusTimeIT\Zendesk\Providers\ZendeskServiceProvider::class, ... ];
如果您想使用门面,也必须安装它。
// config/app.php 'aliases' => [ .. 'Zendesk' => PlusTimeIT\Zendesk\Facades\Zendesk::class, ];
配置
要发布配置文件到 app/config/zendesk-laravel.php
,请运行
php artisan vendor:publish --provider="PlusTimeIT\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();
依赖注入
如果您不想使用门面,您可以跳过在 config/app.php
中添加别名,而是将 PlusTimeIT\Zendesk\Services\ZendeskService
注入到您的类中。然后您可以使用此对象上与门面相同的所有方法。
<?php use PlusTimeIT\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 许可 的约束。