crowdtruth/ddgameapi

此包最新版本(V0.1)没有提供许可证信息。

V0.1 2015-06-12 08:44 UTC

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"
}