net2grid/zendesk_api_client_php

Zendesk REST API的PHP客户端。请参阅http://developer.zendesk.com/api-docs


README

Build Status Latest Stable Version Total Downloads Code Climate License

API客户端版本

这是我们的PHP API客户端的第二版。第一版的API客户端可以在v1分支上找到。

API版本支持

此客户端仅支持Zendesk的API v2。有关更多信息,请参阅我们的API文档

要求

  • PHP 5.5+

安装

可以使用Composer安装Zendesk PHP API客户端。

Composer

composer.json中指定以下内容

{
  "require": {
    "net2grid/zendesk_api_client_php": "dev-master"
  }
}

从V1升级到V2

如果您正在从v1版本的客户端升级,我们已编写了一份升级指南,突出了一些主要差异。

配置

配置是通过Zendesk\API\HttpClient的一个实例完成的。该块是必需的,如果不传递,将抛出错误。

// load Composer
require 'vendor/autoload.php';

use Zendesk\API\HttpClient as ZendeskAPI;

$subdomain = "subdomain";
$username  = "email@example.com"; // replace this with your registered email
$token     = "6wiIBWbGkBMo1mRDMuVwkw1EPsNkeUj95PIz2akv"; // replace this with your token

$client = new ZendeskAPI($subdomain);
$client->setAuth('basic', ['username' => $username, 'token' => $token]);

用法

基本操作

// Get all tickets
$tickets = $client->tickets()->findAll();
print_r($tickets);

// Create a new ticket
$newTicket = $client->tickets()->create([
    'subject'  => 'The quick brown fox jumps over the lazy dog',
    'comment'  => [
        'body' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, ' .
                  'sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'
    ],
    'priority' => 'normal'
]);
print_r($newTicket);

// Update a ticket
$client->tickets()->update(123,[
    'priority' => 'high'
]);

// Delete a ticket
$client->tickets()->delete(123);

附件

$attachment = $client->attachments()->upload([
    'file' => getcwd().'/tests/assets/UK.png',
    'type' => 'image/png',
    'name' => 'UK.png' // Optional parameter, will default to filename.ext
]);

侧加载

侧加载允许您在单个请求中检索相关记录。有关更多信息,请参阅[文档]。(https://developer.zendesk.com/rest_api/docs/core/side_loading)。

以下是一个使用客户端进行侧加载的示例。

$tickets = $client->tickets()->sideload(['users', 'groups'])->findAll();

分页

Zendesk API提供了一种获取请求的下一页的方法,并在Zendesk开发者文档中有记录。

要这样做,请将其作为选项传递给您的请求。

$tickets = $this->client->tickets()->findAll(['per_page' => 10, 'page' => 2]);

允许的选项包括

  • 每页
  • 页码
  • 排序顺序

版权和许可证

版权 2013-至今 Zendesk

根据Apache许可证2.0版(“许可证”)许可;除非适用法律要求或书面同意,否则不得使用此文件,除非符合许可证。您可以在以下位置获得许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”提供,不提供任何明示或暗示的保证或条件。有关许可证的具体语言管理许可和限制,请参阅许可证。