crowdtruth / ddgameapi
Requires
- php: >=5.3.0
- guzzlehttp/guzzle: dev-master
- illuminate/support: 4.1.*
This package is not auto-updated.
Last update: 2024-09-14 16:55:37 UTC
README
Dr. Detective 和 CrowdTruth 之间通信的API。
包安装
此API作为CrowdTruth的插件提供,可以通过Packagist进行安装。要在CrowdTruth中安装API,请编辑您的composer.json文件,包含crowdtruth/ddgameapi
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
...
"require": {
...
"crowdtruth/ddgameapi": "*",
...
},
...
}
使用composer安装包
[CrowdTruth]$ composer update
将DDGameapiServiceProvider添加到app/config/app.php文件中的服务提供商列表
...
'providers' => array(
...
'CrowdTruth\DDGameapi\DDGameapiServiceProvider',
...
),
...
运行包迁移以将所需的软件组件添加到CrowdTruth数据库
[CrowdTruth]$ php artisan db:seed --class="CrowdTruth\DDGameapi\DDGameAPISeeder"
接下来,需要配置包以与Dr. Detective游戏通信。为此,您必须首先导出配置文件
[CrowdTruth]$ php artisan config:publish crowdtruth/ddgameapi
然后编辑配置文件中的URL字段 app/config/packages/crowdtruth/ddgameapi/config.php
return array(
'URL' => 'http://<your-game-url>/admin-games/api',
);
将URL设置为您的游戏实例安装的位置,例如 https://:8080/admin-games/api。
最后但同样重要的是,转到配置此API的具体说明,适用于您的游戏实例。例如 https://github.com/CrowdTruth/BioCrowd/wiki/Configurations-for-using-the-DrDetectiveAPI
如果一切顺利,API已成功安装。
API说明
此API在以下URL上启用webhook: http://<your-CrowdTruth-instance>/game/detective/。此webhook由Dr. Detective调用以向CrowdTruth发送判断。API请求必须包含3个元素(JSON结构)
- signal -- 要处理的信号。'new_judgments'表示新的判断
- payload -- 包含判断的JSON结构
- signature -- (payload + API_KEY)的SHA1
示例
{
"signal": "new_judgments",
"payload": [
{
...
},
],
"signature": "f04d10c"
}
此类调用的响应也是一个包含以下内容的JSON结构
- signal -- 接收到的信号
- status -- 返回状态(ok或error)
- message -- 包含额外信息的消息。
{
"signal": "new_judgments",
"status": "ok",
"message": "1 processed"
}