datana-gmbh/zendesk-api

API for Zendesk

This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.

Maintainers

👁 OskarStark

Package info

github.com/datana-gmbh/zendesk-api

pkg:composer/datana-gmbh/zendesk-api

Statistics

Installs: 8 376

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

2.0.1 2024-01-31 10:43 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 28a196e2d8a4a63716aa74e31a1a7e65cd89ad4b

  • Silas Joisten <silasjoisten.woop@proton.me>

This package is auto-updated.

Last update: 2024-12-30 02:44:52 UTC


README

Usage

Installation

composer require datana-gmbh/zendesk-api

Setup

use Zendesk\API\HttpClient;

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

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

Tickets

In your code you should type-hint to Datana\Zendesk\Api\TicketsApiInterface

Create a ticket

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);

Create a ticket with attachments

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);

Custom field definition

<?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';
 }
}