https://github.com/devjack/zendeskremoteobject
This library provide a REST client to ZenDesk remote call.
https://github.com/devjack/zendeskremoteobject
Last synced: 2 months ago
JSON representation
This library provide a REST client to ZenDesk remote call.
- Host: GitHub
- URL: https://github.com/devjack/zendeskremoteobject
- Owner: devjack
- Created: 2014-01-21T07:26:57.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-01-28T02:35:25.000Z (over 11 years ago)
- Last Synced: 2025-01-30T15:49:30.697Z (4 months ago)
- Language: PHP
- Homepage:
- Size: 535 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ZenDesk Remote
This library provide a REST client to ZenDesk remote call.
This project is based on [RestRemoteObject](https://github.com/fourmation/RestRemoteObject) which allow to control a REST API with objects.[](https://travis-ci.org/fourmation/ZenDeskRemoteObject)
[](https://coveralls.io/r/fourmation/ZenDeskRemoteObject)
[](https://packagist.org/packages/fourmation/zendesk-remote-object)
[](https://packagist.org/packages/fourmation/zendesk-remote-object)## Installation
```sh
php composer.phar require "fourmation/zendesk-remote-object:0.6.*"
```## Architecture
This project use Zend\ServiceManager to create entities or services. Each new entities or service calls must use the ServiceManager.
Each entity and service pilot a remote rest proxy to call remote API. To know how to do remote call, read the ZenDeskRemoteObject documentation.## Usage example
All examples are in the `examples/` folder.
* retrieve current user :
```php
$userService = $serviceManager->get('ZenDesk\Service\UserService');
$user = $userService->me();var_dump($user->getName()); // current user name
```* update the user :
```php
$user->setName('Vincent Blanchon');
$user->save();
```* create user :
```php
$user = new ZenDesk\Entity\User();
$user->setName('Vincent Blanchon');
$user->setEmail('[email protected]');$service = $serviceManager->get('ZenDesk\Service\UserService');
$service->persist($user);var_dump($user->getId());
```* create ticket :
```php
$ticket = new ZenDesk\Entity\Ticket();
$ticket->setSubject('My first ticket');
$ticket->setDescription('French will win the soccer world cup');
$ticket->setStatus('pending');$service = $serviceManager->get('ZenDesk\Service\TicketService');
$service->persist($ticket);var_dump($ticket->getId()); // there is now an id
```## Zend Framework 2 integration
A `Module.php` file is provided, you can also use this project like a Zend Framework 2 module.
## Features list
Entity :
* User : create, update, delete, get tickets, suspend
* Ticket : create, update, delete, add comments, get tags, close
* TicketField : create, update, delete
* UserField : create, update, delete
* OrganizationField : create, update, delete
* Trigger : create, update, delete
* Automation : create, update, delete
* Macro : create, update, delete
* View : create, update, delete, get ticketsService :
* User : get, get current, list, search, autocomplete
* Ticket : get, list, list recent, search
* TicketField : get, list
* UserField : get, list
* OrganizationField : get, list
* Tags : list
* Trigger : list, get
* Automation : list, get
* Macro : get, list
* View : get, list, list active
* Search : user, ticket