我为 Redmine 购买了一个名为 Helpdesk Plugin ( http://redminecrm.com/projects/helpdesk/pages/1 ) 的插件,这显然是一个票务系统。
无论如何,是否可以将此特定插件连接到外部网站以从使用远程网站的人那里提取 ID,并且当他们上传票证/问题时,我们会知道该人是谁来自特殊 ID。也许通过 XML API?还是饲料?
我为 Redmine 购买了一个名为 Helpdesk Plugin ( http://redminecrm.com/projects/helpdesk/pages/1 ) 的插件,这显然是一个票务系统。
无论如何,是否可以将此特定插件连接到外部网站以从使用远程网站的人那里提取 ID,并且当他们上传票证/问题时,我们会知道该人是谁来自特殊 ID。也许通过 XML API?还是饲料?
如何创建 API 取决于您的设置。通常,您会让一个应用程序(redmine 插件)通过访问特定 URL 从另一个应用程序(外部网站)获取一些数据(可能是 json/xml 编码)。
所以你的客户(redmine)会做一个网络请求,比如:(伪代码)
response = curl_get('https://my.external-app.com/api/ticket?id='+ticketID)
external_people = json_decode(response)
这基本上是对某个 url 发出网络请求并反序列化响应,以便您拥有可以在代码中轻松使用的数据结构(数组或对象)。
您的外部 webapp 需要使用正确的数据进行响应,最简单的可能是在 /api/ticket 中放置一个脚本,该脚本从您的数据库中获取所需的数据并以某种序列化格式 (xml/json) 打印出来:
ticket_id = http_request_parameter('id')
// should do some validation here to prevent SQL-injection
...
// get the ticket details matching the id
sql_result = db_query_result("SELECT user_id from `issues` where id=" + ticket_id)
//send the result
print json_encode(sql_result)
完成这项工作后,您可能需要添加 API 密钥,以便只有授权的应用程序才能检索数据。