siltada / yesplan
Yesplan API / PHP 库
This package is auto-updated.
Last update: 2024-09-20 14:56:35 UTC
README
加载
load.php 将在 lib 文件夹中为所有必要的文件执行 require_once。
创建客户端对象
此步骤对于其他所有函数的正常工作至关重要。
$client = new Yesplan\Client(YESPLAN_DOMAIN, YESPLAN_API_KEY);
YESPLAN_DOMAIN 应该是您的 Yespan 域名,不包含 http:// 和末尾的 .yesplan.be。如果您的域名是 http://rockit.yesplan.be,rockit 应该是您的域名。
YESPLAN API 密钥应该是有效的密钥,由您的 Yesplan 安装生成。
端点
获取数据时,我们使用相同的方法对所有端点进行操作。
注意:并非所有 Yesplan API 中的可用端点都已在当前存储库中提供。
如果您想使用尚未包含的端点,您可以使用 URL 端点。
URL
Yesplan\Endpoints\Url::get($client, $full_request_url_without_api_key);
数据视图
从数据视图生成数据结果并检索数据。https://manual.yesplan.be/nl/developers/dataviews/
compute
给出一个收集数据的命令。
Yesplan\Endpoints\Dataviews::compute($client, $dataview_id, $parameters, $callback_url);
*$dataview_id:您想使用的数据视图的 ID。
$parameters:应该是一个类似这样的数组
Array
(
[filter_keyword] => filter_value
)
$callback_url:是 Yesplan 收集数据并准备好检索时将使用的完整 URL。
此函数将返回一个包含数据视图当前状态的 JSON 响应。此状态应该是 running。当数据收集完毕时,Yesplan 将向指定的回调 URL 发送 POST 请求。该请求将包含数据视图 ID 和检索数据的完整 API URL。这看起来像这样
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
获取数据视图请求的状态。
Yesplan\Endpoints\Dataviews::status($client, $dataview_id, $result_id);
此函数是为测试而制作的。在正常情况下,您不需要此函数。
get
从数据视图请求获取收集到的数据。
Yesplan\Endpoints\Dataviews::get($client, $dataview_id, $result_id);
此函数是您在回调文件中需要的函数。Yesplan 的 post 数据将包含结果 ID。然而,您仍然需要数据视图 ID。
在您不想在回调文件中再次指定数据视图 ID 的情况下,您可以直接使用 URL 函数。
Yesplan\Endpoints\Url::get($client, POST_DATA->url);
事件
直接从事件获取数据。
getList
此函数将给出给定 Yesplan 查询 的事件列表。
Yesplan\Endpoints\Events::getList($client, $searchquery);
get
获取事件的所有数据。
Yesplan\Endpoints\Events::get($client, $event_id);
getSchedule
从事件获取日程数据。
Yesplan\Endpoints\Events::getSchedule($client, $event_id);
getAttachments
从事件获取所有附件。
Yesplan\Endpoints\Events::getAttachments($client, $event_id);
getCustomdata
从事件获取自定义数据。
Yesplan\Endpoints\Events::getCustomdata($client, $event_id, $keywords);
其中 $keywords 可以是一个数组或逗号分隔的 Yesplan 关键词列表。
getCustomdataValuesOnly
从事件获取所有自定义数据。
Yesplan\Endpoints\Events::getCustomdataValuesOnly($client, $event_id);
getResourcebookings
从事件获取所有资源预订。
Yesplan\Endpoints\Events::getResourcebookings($client, $event_id);
putCustomdata
将自定义数据写入 Yesplan。
Yesplan\Endpoints\Events::putCustomdata($client, $event_id, $data);
其中 $data 应该格式化如下
$data[] = (object) [
'keyword' => 'YESPLAN_KEYWORD',
'value' => 'VALUE'
];
### Events
直接从事件获取数据。
组
getList
此函数将给出给定 Yesplan 查询 的组列表。
Yesplan\Endpoints\Groups::getList($client, $searchquery);
尚未进行测试。
get
从组获取所有数据。
Yesplan\Endpoints\Groups::get($client, $group_id);
getSchedule
从组获取日程数据。
Yesplan\Endpoints\Groups::getSchedule($client, $group_id);
getAttachments
从组获取所有附件。
Yesplan\Endpoints\Groups::getAttachments($client, $group_id);
getCustomdata
从组获取自定义数据。
Yesplan\Endpoints\Groups::getCustomdata($client, $group_id, $keywords);
其中 $keywords 可以是一个数组或逗号分隔的 Yesplan 关键词列表。
getCustomdataValuesOnly
获取组中所有自定义数据。
Yesplan\Endpoints\Groups::getCustomdataValuesOnly($client, $group_id);
getResourcebookings
获取组中所有资源预订。
Yesplan\Endpoints\Groups::getResourcebookings($client, $group_id);
putCustomdata
将自定义数据写入 Yesplan。
Yesplan\Endpoints\Groups::putCustomdata($client, $group_id, $data);
其中 $data 应该格式化如下
$data[] = (object) [
'keyword' => 'YESPLAN_KEYWORD',
'value' => 'VALUE'
];
个人资料
getList
此功能将为给定的Yesplan 搜索查询提供一个个人资料列表。
Yesplan\Endpoints\Profiles::getList($client, $searchquery);
get
获取个人资料的所有数据。
Yesplan\Endpoints\Profiles::get($client, $profile_id);
状态
getList
此功能将为给定的Yesplan 搜索查询提供一个状态列表。
Yesplan\Endpoints\Statuses::getList($client, $searchquery);
get
获取状态的所有数据。
Yesplan\Endpoints\Statuses::get($client, $status_id);
地点
getList
此功能将为给定的Yesplan 搜索查询提供一个地点列表。
Yesplan\Endpoints\Locations::getList($client, $searchquery);
get
获取地点的所有数据。
Yesplan\Endpoints\Locations::get($client, $location_id);
getCustomdata
从事件获取自定义数据。
Yesplan\Endpoints\Locations::getCustomdata($client, $location_id, $keywords);
关键词可以是数组,也可以是逗号分隔的 Yesplan 关键词列表。
getCustomdataValuesOnly
获取地点的所有自定义数据。
Yesplan\Endpoints\Locations::getCustomdataValuesOnly($client, $location_id);
任务
getList
此功能将为给定的Yesplan 搜索查询提供一个地点列表。
Yesplan\Endpoints\Tasks::getList($client, $searchquery);
get
获取任务的所有数据。
Yesplan\Endpoints\Tasks::get($client, $location_id);
筛选
customdataByKey
创建一个具有给定自定义数据对象的新对象,其中数据按关键词排序。这样更容易获取自定义数据值。
Yesplan\Filter::customdataByKey($customdata);
输出示例
getCustomdata 输出如下
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
)
)
通过运行此代码并通过 customdataByKey 函数,你会得到如下结果。
stdClass Object
(
[production_title] => Exil
[production_performer] => Axelle Red
)
resourcebookingsByType
按类型筛选资源预订。第二个参数是可选的,默认类型是 "human"。
Yesplan\Filter::resourcebookingsByType($resourcebookings, $resource_type);
联系
由 Sil Verdickt 编写。
如有需要,请随时联系我。