deltasystems/teamwork-desk

此包已被废弃且不再维护。未建议替代包。
此包的最新版本(dev-master)无可用许可证信息。

Teamwork Desk API的PHP包装器

dev-master 2016-05-05 20:07 UTC

This package is auto-updated.

Last update: 2024-02-29 02:58:34 UTC


README

我完全是出于需要才编写了这个包。在编写本文档时,还没有其他针对此API的PHP包装器,Zapier不支持它,而且我没有发现有人讨论它。我们想要从Zendesk切换到Teamwork Desk,因为Teamwork Desk与Teamwork Projects有着良好的集成,并且Teamwork Desk提供的一些有用功能在Zendesk中不可用。

关于API,我在Teamwork Desk中监视网络使用时发现了一些看起来像是API的调用,并假设认证将与Teamwork Projects相同。经过一些测试,我发现API确实存在,官方Teamwork Desk文档可以在这里找到。欢迎提出更改和建议。

入门指南

定义两个常量,TEAMWORK_DESK_DOMAIN和TEAMWORK_DESK_KEY,分别使用您的Teamwork Desk域和API密钥。

<?php
define('TEAMWORK_DESK_DOMAIN',   'something.teamwork.com');
define('TEAMWORK_DESK_KEY',      'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');

接下来,有一些类您可以使用

$alert          = new Teamwork\Desk\Alert();
$customer       = new Teamwork\Desk\Customer();
$inbox          = new Teamwork\Desk\Inbox();
$plan           = new Teamwork\Desk\Plan();
$setting        = new Teamwork\Desk\Setting();
$ticket         = new Teamwork\Desk\Ticket();
$ticketPriority = new Teamwork\Desk\TicketPriority();
$ticketSource   = new Teamwork\Desk\TicketSource();
$ticketStatus   = new Teamwork\Desk\TicketStatus();
$ticketType     = new Teamwork\Desk\TicketType();
$user           = new Teamwork\Desk\User();

从那里,有一些常用方法

$ticket->getAll(['sortBy' => 'id']);
$ticket->get(12345);
$user->getByName('Stuart');

此外,您可以像这样访问对象的属性

echo $ticket->subject;
$ticketNumber = $ticket->id;

您可以这样创建对象

$inbox  = new Teamwork\Desk\Inbox();
$ticket = new Teamwork\Desk\Ticket();
$ticket->customerEmail = 'user@example.com';
$ticket->subject       = 'Server on fire!';
$ticket->message       = 'The server is actually on fire!';
$ticket->priority      = 'High';
$ticket->inboxId       = $inbox->getByName('Server Stuff');
$ticket->create();