PHPackages                             muhammadn/laravel-zammad - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. muhammadn/laravel-zammad

ActiveLibrary[API Development](/categories/api)

muhammadn/laravel-zammad
========================

Laravel wrapper for official zammad-api-client-php library

0.0.10(7y ago)53.1k↓100%[1 issues](https://github.com/muhammadn/laravel-zammad/issues)MITPHP

Since Jun 16Pushed 7y ago1 watchersCompare

[ Source](https://github.com/muhammadn/laravel-zammad)[ Packagist](https://packagist.org/packages/muhammadn/laravel-zammad)[ RSS](/packages/muhammadn-laravel-zammad/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (11)Used By (0)

laravel-zammad
==============

[](#laravel-zammad)

Laravel wrapper around the official Zammad PHP API Library

This wrapper depends on the official [Zammad PHP Client](https://github.com/zammad/zammad-api-client-php)

Installation
------------

[](#installation)

### Requirements

[](#requirements)

The API client needs [composer](https://getcomposer.org/). For installation have a look at its [documentation](https://getcomposer.org/download/). Additionally, the API client needs PHP 5.6 or newer.

### Integration into your project

[](#integration-into-your-project)

Run the following command within the root folder of your laravel project to install the wrapper:

```
composer require muhammadn/laravel-zammad

```

### Add Zammad credentials for your Laravel installation

[](#add-zammad-credentials-for-your-laravel-installation)

Edit your .env file (at the root folder of your laravel project) and add your username, password and url of your zammad installation

```
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

```

### Configure your laravel providers to use this wrapper

[](#configure-your-laravel-providers-to-use-this-wrapper)

Edit config/app.php and add in providers section:

```
    'providers' => [
        .... all the other providers ....
        Muhammadn\LaravelZammad\ZammadServiceProvider::class,
    ],
```

### Configure your laravel Facade to use this wrapper

[](#configure-your-laravel-facade-to-use-this-wrapper)

Edit config/app.php and add in aliases section:

```
    'aliases' => [
        ... all the other facades ...
        'LaravelZammad' => Muhammadn\LaravelZammad\ZammadFacade::class,
    ]
```

How to use this wrapper
-----------------------

[](#how-to-use-this-wrapper)

Example code:

```
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)
    }
}
```

Example code for users:

```
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)
    }
}
```

Example code for groups:

```
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)
    }
}
```

Example code for ticket state:

```
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)
    }
}
```

Example code for ticket priority:

```
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)
    }
}
```

Example code for ticket articles:

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

Example code for Organizations:

```
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)
    }
}
```

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

10

Last Release

2884d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/91bd13f93712f9bd77891bf363a24f7e7e44334db525e1ed17ead327ab895759?d=identicon)[muhammadn](/maintainers/muhammadn)

---

Top Contributors

[![muhammadn](https://avatars.githubusercontent.com/u/3349747?v=4)](https://github.com/muhammadn "muhammadn (45 commits)")

---

Tags

apilaravellaravel-frameworkphpwrapperwrapper-libraryzammad

### Embed Badge

![Health badge](/badges/muhammadn-laravel-zammad/health.svg)

```
[![Health](https://phpackages.com/badges/muhammadn-laravel-zammad/health.svg)](https://phpackages.com/packages/muhammadn-laravel-zammad)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
