muhammadn / laravel-zammad
Laravel官方zammad-api-client-php库的包装器
0.0.10
2018-06-19 18:05 UTC
Requires
Requires (Dev)
README
Laravel官方Zammad PHP API库的包装器
此包装器依赖于官方的Zammad PHP客户端
安装
需求
API客户端需要composer。有关安装,请参阅其文档。此外,API客户端需要PHP 5.6或更高版本。
集成到您的项目
在您的laravel项目根目录下运行以下命令以安装包装器
composer require muhammadn/laravel-zammad
为您的Laravel安装添加Zammad凭据
编辑您的.env文件(位于您的laravel项目根目录)并添加您的用户名、密码和zammad安装的url
ZAMMAD_USERNAME='your_zammad_email'
ZAMMAD_PASSWORD='zammad_password'
ZAMMAD_URL='https://your-zammad-instance'
### Optional parameters
# Sets on behalf if you want to use API **as another user**
# which is different than your ZAMMAD_USERNAME above
ZAMMAD_ON_BEHALF_USER='otheruser@user.com'
# Sets the debug mode
ZAMMAD_DEBUG=true
# Sets the API client timeout to Zammad API
ZAMMAD_TIMEOUT=15
配置您的laravel提供者以使用此包装器
编辑config/app.php并在提供者部分添加
'providers' => [ .... all the other providers .... Muhammadn\LaravelZammad\ZammadServiceProvider::class, ],
配置您的laravel Facade以使用此包装器
编辑config/app.php并在别名部分添加
'aliases' => [ ... all the other facades ... 'LaravelZammad' => Muhammadn\LaravelZammad\ZammadFacade::class, ]
如何使用此包装器
示例代码
use LaravelZammad; class MyController extends Controller { public function index(LaravelZammad $zammad) { // get all tickets $data = $zammad::all('ticket'); // get all tickets with pagination // example below for page 4, 50 entries at a time. $data = $zammad::all('ticket', 4, 50); // get ticket of specific id $data = $zammad::find('ticket', 34); // To view the data (all values) $data->getValues(); // Get single value $data->getValue('title'); // get articles from ticket $ticket = $zammad::find('ticket', 34); $articles = $ticket->getTicketArticles(); // get first article content $article_content = $articles[0]->getValues(); // Search the data $data = $zammad::search('ticket', 'text that you want to search') // get search results with pagination // example below for page 4, 50 entries at a time. $data = $zammad::search('ticket', 'text you want to search', 4, 50); // Add new ticket $ticket_values = ['title' => 'Test Ticket', 'owner_id' => 1] $data = $zammad::create('ticket', $ticket_values) // Update a ticket $ticket_values = ['title' => 'Test Ticket', 'owner_id' => 1] $data = $zammad::update('ticket', $ticket_id, $ticket_values) // Delete a ticket $data = $zammad::delete('ticket', $ticket_id) } }
用户示例代码
use LaravelZammad; class MyController extends Controller { public function index(LaravelZammad $zammad) { // get all users $data = $zammad::all('user'); // get all users with pagination // example below for page 4, 50 entries at a time. $data = $zammad::all('user', 4, 50); // get user of specific id $data = $zammad::find('user', 34); // To view the data (all values) $data->getValues(); // Get single value $data->getValue('title'); // Search the data $data = $zammad::search('user', 'text that you want to search') // get search results with pagination // example below for page 4, 50 entries at a time. $data = $zammad::search('user', 'text you want to search', 4, 50); // Add new User $user_values = ['email' => 'user@user.com', 'owner_id' => 1] $data = $zammad::create('user', $user_values) // Update a user $user_values = ['email' => 'user@user.com', 'owner_id' => 1] $data = $zammad::update('user', $user_id, $user_values) // Delete a user $data = $zammad::delete('user', $user_id) } }
组示例代码
use LaravelZammad; class MyController extends Controller { public function index(LaravelZammad $zammad) { // get all groups $data = $zammad::all('group'); // get all groups with pagination // example below for page 4, 50 entries at a time. $data = $zammad::all('group', 4, 50); // get group of specific id $data = $zammad::find('group', 34); // To view the data (all values) $data->getValues(); // Get single value $data->getValue('title'); // Add new Group $group_values = ['name' => 'ZammadGroup'] $data = $zammad::create('group', $group_values) // Update a group $group_values = ['name' => 'ZammadGroup2'] $data = $zammad::update('group', $group_id, $group_values) // Delete a group $data = $zammad::delete('group', $group_id) } }
票务状态示例代码
use LaravelZammad; class MyController extends Controller { public function index(LaravelZammad $zammad) { // get all ticket states $data = $zammad::all('ticket_state'); // get all ticket states with pagination // example below for page 4, 50 entries at a time. $data = $zammad::all('ticket_state', 4, 50); // get ticket state of specific id $data = $zammad::find('ticket_state', 34); // To view the data (all values) $data->getValues(); // Get single value $data->getValue('title'); // Add new ticket state $state_values = ['name' => 'delayed', 'active' => true] $data = $zammad::create('ticket_state', $state_values) // Update a ticket state $state_values = ['name' => 'boarding', 'active' => true] $data = $zammad::update('ticket_state;, $state_id, $state_values) // Delete a ticket state $data = $zammad::delete('ticket_state', $state_id) } }
票务优先级示例代码
use LaravelZammad; class MyController extends Controller { public function index(LaravelZammad $zammad) { // get all ticket priorities $data = $zammad::all('ticket_priority'); // get all ticket states with pagination // example below for page 4, 50 entries at a time. $data = $zammad::all('ticket_prioriry', 4, 50); // get ticket priority of specific id $data = $zammad::find('ticket_priority', 34); // To view the data (all values) $data->getValues(); // Get single value $data->getValue('title'); // Add new ticket priority $priority_values = ['name' => '4 urgent', 'active' => true] $data = $zammad::create('ticket_priority', $priority_values) // Update a ticket priority $priority_values = ['name' => '5 very very urgent', 'active' => true] $data = $zammad::update('ticket_priority', $priority_id, $priority_values) // Delete a ticket state $data = $zammad::delete('ticket_priority', $priority_id) } }
票务文章示例代码
public function index(LaravelZammad $zammad) { // get ticket article of specific id $data = $zammad::find('ticket_article', 34); // To view the data (all values) $data->getValues(); // Get single value $data->getValue('title'); // Add ticket article $ticket_article_values = ['ticket_id' => 1, 'type_id' => 5, 'sender_id' => 2] $data = $zammad::create('ticket_article', $ticket_article_values) // Update a ticket article $ticket_article_values = ['ticket_id' => 2, 'type_id' => 3, 'sender_id' => 7] $data = $zammad::update('ticket_article', $ticket_article_id, $ticket_article_values) // Delete a ticket article $data = $zammad::delete('ticket_article', $ticket_article_id)
组织示例代码
use LaravelZammad; class MyController extends Controller { public function index(LaravelZammad $zammad) { // get all organizations $data = $zammad::all('organization'); // get all organizations with pagination // example below for page 4, 50 entries at a time. $data = $zammad::all('organization', 4, 50); // get organization of specific id $data = $zammad::find('organization', 34); // To view the data (all values) $data->getValues(); // Get single value $data->getValue('title'); // Search the data $data = $zammad::search('organization', 'text that you want to search') // get search results with pagination // example below for page 4, 50 entries at a time. $data = $zammad::search('organization', 'text you want to search', 4, 50); // Add organization $organization_values = ['name' => 'Zammad', 'active' => true] $data = $zammad::create('organization', $organization_values) // Update an organization $organization_values = ['name' => 'Zammad', 'active' => true] $data = $zammad::update('organization', $organization_id, $organization_values) // Delete an organization $data = $zammad::delete('organization', $organization_id) } }