PHPackages                             setka/workflow-php-sdk - 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. setka/workflow-php-sdk

ActiveLibrary[API Development](/categories/api)

setka/workflow-php-sdk
======================

SDK for communicating with Workflow service.

v2.0.0(5y ago)112[2 PRs](https://github.com/setkaio/workflow-php-sdk/pulls)GPL-2.0-or-laterPHP

Since Nov 24Pushed 3y ago3 watchersCompare

[ Source](https://github.com/setkaio/workflow-php-sdk)[ Packagist](https://packagist.org/packages/setka/workflow-php-sdk)[ RSS](/packages/setka-workflow-php-sdk/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (4)Versions (10)Used By (0)

Setka Workflow PHP SDK
======================

[](#setka-workflow-php-sdk)

The library is developed to simplify your interaction with Workflow API. With Workflow API, you can update ticket information and manage post categories.

[Guzzle](https://github.com/guzzle/guzzle) is used to send HTTP requests. You can use any available handler with Guzzle, including cURL, Stream, etc., or [create your own](http://docs.guzzlephp.org/en/stable/handlers-and-middleware.html#creating-a-handler).

Basics
------

[](#basics)

To start, install the library into your project using Composer Dependency Manager (the library is not yet registered at packagist.org, but we’re working on it!). In order to execute `composer require` you have to:

1. Open the `composer.json` file and specify the `repository` field and the following information:

    ```
    "repositories": [
      {
        "type": "git",
        "url": "https://github.com/setkaio/workflow-php-sdk.git"
      }
    ]
    ```
2. Execute the `composer require` command from your project directory.

    ```
    composer require setka/workflow-php-sdk
    ```

### How do I start working with Workflow API?

[](#how-do-i-start-working-with-workflow-api)

An API license key is required for sending requests. Copy your API License Key from "Account Settings":

1. Log in your Workflow account [workflow.setka.io](https://workflow.setka.io/).
2. Go "Settings" at the right hand upper corner.
3. Click "Custom CMS" and copy an API license key.

Sending your First Request to Setka Workflow API
------------------------------------------------

[](#sending-your-first-request-to-setka-workflow-api)

First, initialize these objects to send requests:

- `Setka\WorkflowSDK\API` — a main object for API interaction.
    - `GuzzleHttp\Client` — sends HTTP-requests using the chosen Handler.
    - `Setka\WorkflowSDK\AuthCredits` — stores data required for Workflow API authentication (API license token).
- `Setka\WorkflowSDK\Actions\ActionInterface` — any class with this interface is set for sending appropriate requests to the API.

```
use Setka\WorkflowSDK\APIFactory;
use Setka\WorkflowSDK\Actions\Spaces\GetSpaceAction;

try {
  // Use APIFactory for quick usage or to create manually.
  $api = APIFactory::create('YOUR_TOKEN');

  // Create an Action to obtain data.
  $action = new GetSpaceAction($api);

  // Prevent generating Guzzle exceptions.
  $details = $action->configureDetails(array(
    'options' => array(
      'http_errors' => false,
    ),
  ));

  $entity = $action
    // Save settings and parameters
    ->setDetails($details)
    // Perform a request
    ->request()
    // Handling response to requests (each Action has its own handleResponse method)
    ->handleResponse();

  // If no exception is thrown, your request was successful.
  // You can then move on to use $entity object (Setka\WorkflowSDK\Entities\SpaceEntity).

  $shortName = $entity->getShortName();
  $name      = $entity->getName();
} catch (\Exception $exception) {
    // Error
}
```

Creating a Category
-------------------

[](#creating-a-category)

Once you’ve performed your first request, you can save "Space Short Name" as a parameter for sending future requests. "Space Short Name" is used almost in all requests so we recommend that you cache the "GetSpaceAction" response for better performance.

```
try {
  $api = APIFactory::create('YOUR_TOKEN');

  // Creating an action to set up a category
  $action = new CreateCategoryAction($api);

  // Configuring an action
  $details = $action->configureDetails(array(
    // Use a value from a previous request
    'space' => 'your-space-short-name',
    'options' => array(
      // Disable exceptions in Guzzle
      'http_errors' => false,
      'json' => array(
        'name' => 'Your name for category',
      ),
    ),
  ));

  $entity = $action
    ->setDetails($details)
    ->request()
    ->handleResponse();

  // Category sucessfylly created!
  // Using $entity instance in your code
} catch (\Exception $exception) {
  // Error
}
```

Contributing
------------

[](#contributing)

To run PHP Code Sniffer run the following commands.

```
composer install
vendor/bin/phpcs --standard=phpcs.ruleset.xml
```

###  Health Score

29

↑

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity69

Established project with proven stability

 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 ~253 days

Total

5

Last Release

2083d ago

Major Versions

v1.1.1 → v2.0.02020-08-31

### Community

Maintainers

![](https://www.gravatar.com/avatar/cbddce8748d34d25a98b0c6323ffce056f95e771382d016b44771160bd4e4e37?d=identicon)[korobochkin](/maintainers/korobochkin)

---

Top Contributors

[![korobochkin](https://avatars.githubusercontent.com/u/477498?v=4)](https://github.com/korobochkin "korobochkin (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/setka-workflow-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/setka-workflow-php-sdk/health.svg)](https://phpackages.com/packages/setka-workflow-php-sdk)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[convertkit/convertkitapi

Kit PHP SDK for the Kit API

2167.1k1](/packages/convertkit-convertkitapi)[mapado/rest-client-sdk

Rest Client SDK for hydra API

1125.9k2](/packages/mapado-rest-client-sdk)

PHPackages © 2026

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