fredbradley/topdesk

TOPdesk API 的 Laravel 服务提供者

v3.0.11 2024-07-15 10:57 UTC

README

Latest Version on Packagist Total Downloads StyleCI Status

这是一个 Laravel 的 TOPdesk API 包装器。使用 Laravel 的 HTTP Facade。如果您不使用 Laravel,请查看 版本 1 发布版,或者查看来自 Innovaat 的原始包。

最低要求

  • PHP 8.0 或更高版本

安装

通过 Composer

$ composer require fredbradley/topdesk

设置

请确保您理解 TOPdesk API 的配置,并且您的 TOPdesk 环境已经设置好以使用 API。更多信息可以在 developers.topdesk.com 找到。

将三个变量添加到您的 .env 文件中

TOPdesk_endpoint="" # Your TOPdesk url, ending in "`tas/`"
TOPdesk_app_username="" # Your username you wish to authenticate with
TOPdesk_app_password="" # Your application password for that username. 

指南

我们的 TOPdesk API 实现包含以下功能

  • 使用应用程序密码的简单登录。
  • 自动重试功能,在出现连接错误或状态代码 >= 500 时重试请求。我们遇到了 TOPdesk API 的各种不稳定性,希望这可以最小化这些缺点。
  • 为常用 api 端点直接调用功能,例如(createIncident($params)getIncidentById($id)getListOfIncidents()escalateIncidentById($id)deescalateIncidentById($id)getListOfDepartments()createDepartment($params)getListOfBranches()createBranch($params) 等)。
  • 使用 $api->request($method, $uri, $json = [], $query = []) 的简单语法访问所有其他端点。

现在您的 API 应该已经准备就绪,可以使用了

$incidents = TOPDesk::getListOfIncidents([
    'start' => 0,
    'page_size' => 10
]);

foreach($incidents as $incident) {
    var_dump($incident['number']);
}

已经将许多请求实现为 API 的直接功能。但是,并非所有这些功能都已实现。对于手动 API 请求,请使用 request() 函数

TOPDesk::request('GET', 'api/incidents/call_types', [
    // Optional array to be sent as JSON body (for POST/PUT requests).
], [
    // Optional (search) query parameters, see API documentation for supported values.
], [
    // Optional parameters for the Guzzle request itself.
    // @see http://docs.guzzlephp.org/en/stable/request-options.html
]);

文档

变更日志

请参阅 changelog 了解最近发生了哪些变化。

测试

$ composer test

贡献

请参阅 CONTRIBUTING.md 了解详情和待办事项列表。

安全

如果您发现任何安全相关的问题,请通过作者电子邮件而不是使用问题跟踪器。

鸣谢

许可证

MIT。有关更多信息,请参阅 许可证文件