PHPackages                             siltada/yesplan - 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. siltada/yesplan

ActiveLibrary[API Development](/categories/api)

siltada/yesplan
===============

Yesplan API / PHP Library

3.2.3(3y ago)314PHP

Since Sep 11Pushed 3y ago3 watchersCompare

[ Source](https://github.com/SilTada/Yesplan)[ Packagist](https://packagist.org/packages/siltada/yesplan)[ RSS](/packages/siltada-yesplan/feed)WikiDiscussions master Synced today

READMEChangelog (3)DependenciesVersions (4)Used By (0)

Yesplan API / PHP Library
=========================

[](#yesplan-api--php-library)

Load
----

[](#load)

load.php will perform a require\_once for all necessary files in the lib-folder.

Create a client object
----------------------

[](#create-a-client-object)

This step is crutial all the other functions to work.

```
$client = new Yesplan\Client(YESPLAN_DOMAIN, YESPLAN_API_KEY);

```

Where YESPLAN\_DOMAIN should be your Yespan domain, without *http://* and trailing *.yesplan.be*. If your domain is , **rockit** should be your domain.

YESPLAN API key should be a valid key, generated by your Yesplan install.

Endpoints
---------

[](#endpoints)

For getting data we're using the same method for all edpoints.

*Note: not all available endpoints in the Yesplan API are yet available in this repository.*

If you'd like to use an endpoint which is nog included, you can use the Url endpoint.

### Url

[](#url)

```
Yesplan\Endpoints\Url::get($client, $full_request_url_without_api_key);

```

### Dataviews

[](#dataviews)

Generation a data result from a dataview and retreiving the data.

#### compute

[](#compute)

Give a command to collect data.

```
Yesplan\Endpoints\Dataviews::compute($client, $dataview_id, $parameters, $callback_url);

```

\**$dataview\_id*: the ID of the dataview you'd like to use.

**$parameters**: should be an array like this:

```
Array
(
    [filter_keyword] => filter_value
)

```

**$callback\_url**: is the full URL Yesplan will use to notify when the data is collected and ready to be retreived.

This function will return a JSON response with the current status of the dataview. This status should be **running**. When the data is collected, Yesplan wil send a POST request to the given callback URL. This request will contain the dataview ID and the full API URL to retreive the data. This will look something like this:

```
POST /yesplan-dataview-result-ready/123 HTTP/1.1
Host: ticketing.system.com
Accept: */*
Content-type: application/json
Content-Length: 189

{
    "id": "335990017",
    "url": "https://theater.yesplan.be/api/dataviewresult/289503489-1510822734/json/335990017",
    "creationtime": "2017-12-06T09:18:32.48699498176575+01:00"
}

```

#### status

[](#status)

Get the status of a dataview request.

```
Yesplan\Endpoints\Dataviews::status($client, $dataview_id, $result_id);

```

This function was made for testing. In normal situations you'll not need this one.

#### get

[](#get)

Get the collected data from a dataview request.

```
Yesplan\Endpoints\Dataviews::get($client, $dataview_id, $result_id);

```

This function is the one you'll need in your callback file. The post data of Yesplan will contain the result ID. However, you still need the dataview ID.

In the case you don't want to specify the dataview ID again in the callback file, you can simply use the Url function.

```
Yesplan\Endpoints\Url::get($client, POST_DATA->url);

```

### Events

[](#events)

For directly getting data from events.

#### getList

[](#getlist)

This function will give a list of events for a given [Yesplan search query](https://manual.yesplan.be/en/query-language/).

```
Yesplan\Endpoints\Events::getList($client, $searchquery);

```

#### get

[](#get-1)

Get all data from an event.

```
Yesplan\Endpoints\Events::get($client, $event_id);

```

#### getSchedule

[](#getschedule)

Get schedule data from an event.

```
Yesplan\Endpoints\Events::getSchedule($client, $event_id);

```

#### getAttachments

[](#getattachments)

Get all attachments from an event.

```
Yesplan\Endpoints\Events::getAttachments($client, $event_id);

```

#### getCustomdata

[](#getcustomdata)

Get custom data from an event.

```
Yesplan\Endpoints\Events::getCustomdata($client, $event_id, $keywords);

```

Where **$keywords** can either be an array or a list of komma separated Yesplan keywords.

#### getCustomdataValuesOnly

[](#getcustomdatavaluesonly)

Get all custom data from an event.

```
Yesplan\Endpoints\Events::getCustomdataValuesOnly($client, $event_id);

```

#### getResourcebookings

[](#getresourcebookings)

Get all resoursebookings from an event.

```
Yesplan\Endpoints\Events::getResourcebookings($client, $event_id);

```

#### putCustomdata

[](#putcustomdata)

Writes custom data into Yesplan.

```
Yesplan\Endpoints\Events::putCustomdata($client, $event_id, $data);

```

Where **$data** should be formatted like this:

```
$data[] = (object) [
    'keyword' => 'YESPLAN_KEYWORD',
    'value' => 'VALUE'
];
### Events

```

For directly getting data from events.

### Groups

[](#groups)

#### getList

[](#getlist-1)

This function will give a list of groups for a given [Yesplan search query](https://manual.yesplan.be/en/query-language/).

```
Yesplan\Endpoints\Groups::getList($client, $searchquery);

```

This is not tested yet.

#### get

[](#get-2)

Get all data from a group.

```
Yesplan\Endpoints\Groups::get($client, $group_id);

```

#### getSchedule

[](#getschedule-1)

Get schedule data from a group.

```
Yesplan\Endpoints\Groups::getSchedule($client, $group_id);

```

#### getAttachments

[](#getattachments-1)

Get all attachments from a group.

```
Yesplan\Endpoints\Groups::getAttachments($client, $group_id);

```

#### getCustomdata

[](#getcustomdata-1)

Get custom data from a group.

```
Yesplan\Endpoints\Groups::getCustomdata($client, $group_id, $keywords);

```

Where **$keywords** can either be an array or a list of komma separated Yesplan keywords.

#### getCustomdataValuesOnly

[](#getcustomdatavaluesonly-1)

Get all custom data from a group.

```
Yesplan\Endpoints\Groups::getCustomdataValuesOnly($client, $group_id);

```

#### getResourcebookings

[](#getresourcebookings-1)

Get all resoursebookings from a group.

```
Yesplan\Endpoints\Groups::getResourcebookings($client, $group_id);

```

#### putCustomdata

[](#putcustomdata-1)

Writes custom data into Yesplan.

```
Yesplan\Endpoints\Groups::putCustomdata($client, $group_id, $data);

```

Where **$data** should be formatted like this:

```
$data[] = (object) [
    'keyword' => 'YESPLAN_KEYWORD',
    'value' => 'VALUE'
];

```

### Profiles

[](#profiles)

#### getList

[](#getlist-2)

This function will give a list of profiles for a given [Yesplan search query](https://manual.yesplan.be/en/query-language/).

```
Yesplan\Endpoints\Profiles::getList($client, $searchquery);

```

#### get

[](#get-3)

Get all data of a profile.

```
Yesplan\Endpoints\Profiles::get($client, $profile_id);

```

### Statuses

[](#statuses)

#### getList

[](#getlist-3)

This function will give a list of statuses for a given [Yesplan search query](https://manual.yesplan.be/en/query-language/).

```
Yesplan\Endpoints\Statuses::getList($client, $searchquery);

```

#### get

[](#get-4)

Get all data of a status.

```
Yesplan\Endpoints\Statuses::get($client, $status_id);

```

### Locations

[](#locations)

#### getList

[](#getlist-4)

This function will give a list of locations for a given [Yesplan search query](https://manual.yesplan.be/en/query-language/).

```
Yesplan\Endpoints\Locations::getList($client, $searchquery);

```

#### get

[](#get-5)

Get all data of a location.

```
Yesplan\Endpoints\Locations::get($client, $location_id);

```

#### getCustomdata

[](#getcustomdata-2)

Get custom data from an event.

```
Yesplan\Endpoints\Locations::getCustomdata($client, $location_id, $keywords);

```

Where $keywords can either be an array or a list of komma separated Yesplan keywords.

#### getCustomdataValuesOnly

[](#getcustomdatavaluesonly-2)

Get all custom data from a location.

```
Yesplan\Endpoints\Locations::getCustomdataValuesOnly($client, $location_id);

```

### Tasks

[](#tasks)

#### getList

[](#getlist-5)

This function will give a list of locations for a given [Yesplan search query](https://manual.yesplan.be/en/query-language/).

```
Yesplan\Endpoints\Tasks::getList($client, $searchquery);

```

#### get

[](#get-6)

Get all data of a task.

```
Yesplan\Endpoints\Tasks::get($client, $location_id);

```

Filter
------

[](#filter)

#### customdataByKey

[](#customdatabykey)

Creates a new object with given custom data object where data is sorted by keyword. This way it's easier to get custom data values.

```
Yesplan\Filter::customdataByKey($customdata);

```

##### Output example

[](#output-example)

**getCustomdata** will output somthing like this:

```
Array
(
    [0] => stdClass Object
        (
            [name] => Titel
            [keyword] => production_title
            [type] => String
            [value] => Exil
        )

    [1] => stdClass Object
        (
            [name] => Uitvoerder
            [keyword] => production_performer
            [type] => String
            [value] => Axelle Red
        )

)

```

After running this through the **customdataByKey** function you'll get something like this.

```
stdClass Object
(
    [production_title] => Exil
    [production_performer] => Axelle Red
)

```

#### resourcebookingsByType

[](#resourcebookingsbytype)

Filters resoursebookings by type. Second parameter is optional, default type is "human".

```
Yesplan\Filter::resourcebookingsByType($resourcebookings, $resource_type);

```

Contact
-------

[](#contact)

Written by Sil Verdickt.

Feel free to contact me if needed.

[www.tada.be](http://www.tada.be)

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity49

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

Total

2

Last Release

1290d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6ef7dce90c937e90c3b01f9e1f9398789325ab29cdeb6bbf7850fbf15c8caa6d?d=identicon)[SilTada](/maintainers/SilTada)

---

Top Contributors

[![SilTada](https://avatars.githubusercontent.com/u/57399085?v=4)](https://github.com/SilTada "SilTada (63 commits)")

---

Tags

phpphp-libraryyesplan

### Embed Badge

![Health badge](/badges/siltada-yesplan/health.svg)

```
[![Health](https://phpackages.com/badges/siltada-yesplan/health.svg)](https://phpackages.com/packages/siltada-yesplan)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k13](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

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