=====知识库接口=====
\\
====JSON格式====
^名称 ^类型 ^只读 ^必填 ^注释^
|kId |int |是 |否 |知识库ID,系统自动生成 |
|url |varchar |是 |否 |该知识库的资源url|
|sQuestion |varchar |否 |是 |知识库的标题|
|sAnswer |varchar |否 |是 |知识库的答案,带css样式返回,如果答案里有图片、文件等附件,则会以html标签页的形式返回|
|sAttachment |array |否 |否 |知识库答案里的附件,新建知识库时,会用到该参数|
|servicerId |int |否 |否 |添加知识库的客服ID|
|state |tinyint |否 |否 |知识库的状态:0-未审核,1-已审核。管理员添加的知识库状态默认为已审核|
|reviewerId |int |否 |否 |审核知识库的客服ID|
|goodRate |int |是 |否 |该条知识库的好评率|
|badRate |int |是 |否 |该条知识库的差评率|
|adoptCount |int |是 |否 |该条知识库被采纳次数 |
|isFAQ |tinyint |否 |否 |该条知识库是否被设为了常见问题:0-非常见问题,1-常见问题,默认不是常见问题,常见问题条数不能超过10条 |
|relatedQuestion |varchar |否 |否 |该条知识库的关联问题|
|similarQuestion |varchar |否 |否 |该条知识库的相似问题,id展示相似问题的id,sqname展示相似问题名称|
|createDT |datetime |是 |否 |创建时间,格式为:2018-02-08 9:12:20|
|updateDT |datetime |是 |否 |更新时间,格式为:2018-02-08 9:12:20|
|fId |int |是 |否 |分类id(如果想获取“未分类”中的问题,该参数请传值“not”) |
====JSON示例====
{
"kId":1,
"url":"https://www.bangwo8.com/api/v1/knowledge/1.json",
"sQuestion":"请问帮我吧有哪些功能模块?",
"sAnswer":"呼叫中心、IM、工单",
"sAttachment":"",
"servicerId":"324",
"state":"0",
"reviewerId":"321",
"goodRate":"70%",
"badRate":"30%",
"adoptCount":"2",
"isFAQ":"1",
"relatedQuestion":"帮我吧是分模块的吗?",
"similarQuestion":[
{
"id":"111",
"sqname":"帮我吧有哪些功能?"
},
{
"id":"122",
"sqname":"帮我吧的功能列表"
}
],
"createDT":"2018-02-05 10:20:20",
"updateDT":"2018-02-08 9:12:20",
"fId":"无分类"
}
====获取知识库列表====
GET /api/v1/knowledge.json
**查询参数**
^名称 ^必需的 ^类型 ^注释 ^
|created_start |否 |string |按创建时间筛选,开始时间|
|created_end |否 |string |按创建时间筛选,结束时间|
|updated_start | 否 | string | 按更新时间查询:开始时间 |
|updated_end | 否 | string | 按更新时间查询:结束时间 |
|created_order | 否 | string | 按创建时间排序:asc(升序),desc(降序) |
|updated_order | 否 | string | 按更新时间排序:asc(升序),desc(降序) |
|page |否 |int |分页获取,默认为1|
|per_page |否 |int |每页大小,默认为40,最大限制位40|
|fId |int |否 |分类id(获取该分类下的问题,不能获取子集的问题) |
//说明:默认按编码升序返回。时间参数(created_start、created_end、updated_start、updated_end)格式为“2012-01-01 00:00:00”。//
**调用者权限**
所有客服
**调用示例**
curl https://www.bangwo8.com/api/v1/knowledge.json \
-v -u {account}:{password}
**返回值示例**
Status: 200 OK
{
"knowledge": [
{
"kId": "8741",
"sQuestion": "晶体管的代换原则",
"sAnswer": "类型相同、特性相近、外形相似",
"servicerId": "0",
"state": "0",
"reviewerId": "",
"goodRate": "0",
"badRate": "0",
"adoptCount": "0",
"isFAQ": "0",
"relatedQuestion": "",
"createDT": "0000-00-00 00:00:00",
"updateDT": "2016-06-28 10:55:04",
"similarQuestion": "",
"fId": "无分类"
},
{
"kId": "8745",
"sQuestion": "什么是三极管?",
"sAnswer": "三极管是一种用于放大或开关电信号的半导体器件,下图是一些常用三极管的典型封装和主要参数:",
"servicerId": "0",
"state": "0",
"reviewerId": "",
"goodRate": "0",
"badRate": "0",
"adoptCount": "0",
"isFAQ": "0",
"relatedQuestion": "",
"createDT": "0000-00-00 00:00:00",
"updateDT": "2016-06-28 10:55:04",
"similarQuestion": "",
"fId": "无分类"
}
...
],
"count": 42,
"next_page": "https://www.bangwo8.com/api/v1/knowledge.json?per_page=40&page=2",
"previous_page": null
}
====查看单条知识库信息====
GET /api/v1/knowledge/{id}.json
**调用者权限**
所有客服
**调用示例**
curl https://www.bangwo8.com/api/v1/knowledge/{id}.json \
-v -u {account}:{password}
**返回值示例**
Status: 200 OK
{
"knowledge": {
"kId": "8741",
"sQuestion": "晶体管的代换原则",
"sAnswer": "类型相同、特性相近、外形相似",
"servicerId": "0",
"state": "0",
"reviewerId": "",
"goodRate": "0",
"badRate": "0",
"adoptCount": "0",
"isFAQ": "0",
"relatedQuestion": "",
"similarQuestion": "",
"createDT": "0000-00-00 00:00:00",
"updateDT": "2016-06-28 10:55:04",
"fId": "无分类"
}
}
====查看多条知识库信息====
GET /api/v1/knowledge/show_many.json?ids={ids}
**调用者权限**
所有客服
**调用示例**
curl https://www.bangwo8.com/api/v1/knowledge/show_many.json?ids=8741,8745 \
-v -u {account}:{password}
**返回值示例**
Status: 200 OK
{
"knowledge": [
{
"kId": "8741",
"sQuestion": "晶体管的代换原则",
"sAnswer": "类型相同、特性相近、外形相似",
"servicerId": "0",
"state": "0",
"reviewerId": null,
"goodRate": "0",
"badRate": "0",
"adoptCount": "0",
"isFAQ": "0",
"relatedQuestion": "",
"createDT": "0000-00-00 00:00:00",
"updateDT": "2016-06-28 10:55:04",
"fId": "无分类"
},
{
"kId": "8745",
"sQuestion": "什么是三极管?",
"sAnswer": "三极管是一种用于放大或开关电信号的半导体器件,下图是一些常用三极管的典型封装和主要参数:",
"servicerId": "0",
"state": "0",
"reviewerId": null,
"goodRate": "0",
"badRate": "0",
"adoptCount": "0",
"isFAQ": "0",
"relatedQuestion": "",
"createDT": "0000-00-00 00:00:00",
"updateDT": "2016-06-28 10:55:04",
"fId": "无分类"
}
]
}
====新建知识库====
POST /api/v1/knowledge.json
**调用者权限**
管理员
**调用示例**
知识库答案为纯文本,无附件,示例如下:
curl -v -u {account}:{password} https://www.bangwo8.com/api/v1/knowledge.json \
-H "Content-Type: application/json" -X POST -d '{"knowledge": {"sQuestion": "帮我吧有哪些模块", \
"sAnswer": "IM、呼叫中心和工单",\ "fId": 123}}'
//说明:新建知识库时,sQuestion和sAnswer必填。如果知识库答案带样式,请将css样式也放到post请求里。//
\\
\\
知识库答案带附件,示例如下:
curl -v -u {account}:{password} https://www.bangwo8.com/api/v1/knowledge.json \
-H "Content-Type: application/json" -X POST -d '{"knowledge": {"sQuestion": "这里是知识库问题", \
"sAnswer": "这里是知识库答案,答案里有附件,这是一个附件{1},这又是一个附件{2},还有一个附件{3}", \
"sAttachment": "token1,token2,token3"}}
//说明:// \\
//1、如果知识库答案带附件,需先调用[[帮我吧文档:数据接口:知识库接口#上传附件]] 接口,系统会返回附件对应的token,然后将该token设置到“sAttachment”里。 // \\
//2、“sAnswer”值里的{数字}是附件的占位,为可自定义的内容,须从1开始连续编号,如{1}、{2}等。 // \\
//3、"sAttachment”为知识库答案里所有的附件列表,以逗号分隔每个附件,列表的顺序对应“sAnswer”里的{数字}部分。//
**返回值示例**
Status: 200 OK
Location: https://www.bangwo8.com/api/v1/knowledge/{id}.json
{
"knowledge": {
"kId": 11,
"sQuestion": "我是知识库问题",
...
}
}
====上传附件====
POST /api/v1/attachments.json
//说明:// \\
//1、url里需要增加filename参数来设置附件名// \\
//2、请求header里要设置"Content-Type: application/binary"// \\
//3、仅支持一次上传一个附件//
**调用者权限**
所有客服
**调用示例**
curl "https://www.bangwo8.com/api/v1/attachments.json?filename=myfile.dat" \
-v -u {account}:{password} \
-H "Content-Type: application/binary" \
--data-binary @file.dat -X POST
**返回值示例**
Status: 201 Created
Location: https://www.bangwo8.com/api/v1/attachments/{id}.json
{
"attachment": {
"attachId": 123,
"fileName": "file.png",
"filePath": "https://bangwo8.oss-cn-shenzhen.aliyuncs.com/18/Z28tfzPdB.png",
"token": "15761b339251466e9fec23698503eb53"
}
}
====修改知识库====
PUT /api/v1/knowledge/{id}.json
**调用者权限**
所有客服
**调用示例**
curl -v -u {account}:{password} https://www.bangwo8.com/api/v1/knowledge/123.json \
-H "Content-Type: application/json" -X PUT -d '{"knowledge": {"sAnswer": "修改后的答案"}}'
**返回值示例**
Status: 200 OK
{
"knowledge": {
"kId": 11,
"name": "知识库的问题",
...
}
}