datana-gmbh/zendesk-api

2.0.1 2024-01-31 10:43 UTC

This package is auto-updated.

Last update: 2024-08-30 01:44:30 UTC


README

使用方法

安装

composer require datana-gmbh/zendesk-api

设置

use Zendesk\API\HttpClient;

$subdomain = 'company'
$username  = 'username'
$token  = '...'

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

工单

在你的代码中,你应该对Datana\Zendesk\Api\TicketsApiInterface进行类型提示

创建工单

use Datana\Zendesk\Api\Domain\Value\Ticket;
use Datana\Zendesk\Api\TicketsApi;
use Zendesk\API\HttpClient;

$client = new HttpClient(/* ... */);

$ticketsApi = new TicketsApi($client);

$ticket = new Ticket(/* ... */);
$responseAsBool = $ticketsApi->create($ticket);

带有附件的工单创建

use Datana\Zendesk\Api\Domain\Value\Ticket;
use Datana\Zendesk\Api\TicketsApi;
use Datana\Zendesk\Api\AttachmentsApi;
use Zendesk\API\HttpClient;

$client = new HttpClient(/* ... */);

$attachmentsApi = new AttachmentsApi($client);

$upload = $attachmentsApi->create(/** ... */)

$ticketsApi = new TicketsApi($client);

$ticket = new Ticket(/* ... */ );
$responseAsBool = $ticketsApi->create($ticket);

自定义字段定义

<?php

declare(strict_types=1);

namespace App\Bridge\Zendesk\CustomFields;

use Datana\Zendesk\Api\Domain\Value\CustomFieldInterface;

final class SampleCustomField implements CustomFieldInterface
{
    public function id(): int
    {
        return 1231332332;
    }

    public function value(): mixed
    {
        return 'sample value';
    }
}