云极知客开放平台接口调用方法(C#)

  云极知客为企业提供基于SAAS的智能问答服务。支持企业个性化知识库的快速导入,借助语义模型的理解和分析,使企业客户立即就拥有本行业的24小时客服小专家。其SAAS模式实现零成本投入下的实时客服数据的可视化,优化企业业务流程,指导企业决策。

  说白了,其实就是一个智能客服机器人,你可以和他聊天,也可以和他扯淡,但重要的是,你可以用他为客服,教他东西,解放自己。OK,广告到此,下面看看接口相关的东西。

  云极知客的接口文档请点击这里

  云极知客为了用户的数据安全开通了HTTPS的接口访问,如果您需要的话,可以通过HTTPS接口调用,但调用时,域名必须为 yunjizhike.com

 

  以下使用C#.NET介绍两个接口的调用方法,平台接口均设置为POST和GET方法请求,所以这里针对每个请求方法选择了一个接口作为案例,如果有什么地方没有讲明白可以留言或者通过帮助文档中的联系方式联系我。

1,POST

  在帮助文档里面,POST的接口所需参数介绍比较蛋疼(插件不支持在上面写,所以。。。),被我放在了“Resource Description”处,希望大家理解。

  在调用POST的接口的时候,需要注意的是,我将所有的数据几乎都写成了Json的格式,所以在拼字符串的时候需要注意下。

  这里我介绍一下测试分类的接口,这个接口也是大家都能用到的接口,很重要。代码如下:

          try
                {
                    // 云极知客接口文档:http://robot.yunjizhike.com/zhike/help
                    // 测试分类接口:http://robot.yunjizhike.com/zhike/Help/Api/POST-Category-TestCategory
                    // 测试分类接口链接
                    const string FORM_URL = "http://robot.yunjizhike.com/Zhike/Category/TestCategory";
                    
                    // 服务器支持HTTPS接口,保证您的数据安全
                    // const string FORM_URL = "https://robot.yunjizhike.com/Zhike/Category/TestCategory";

                    // 接口所需参数:{groupId:"",message:"",parentCate:"",takeCount:1}
                    const string GROUP_ID = "553da1c1d0204328d4a7****";
                    const string MESSAGE = "你好";
                    const string PARENT_CATE = "";
                    const int TAKE_COUNT = 3;
                    var keyValue = string.Format(@"{{groupId:""{0}"",message:""{1}"",parentCate:""{2}"",takeCount:{3}}}",
                        GROUP_ID, MESSAGE, PARENT_CATE, TAKE_COUNT);
                    var postData = Encoding.UTF8.GetBytes(keyValue);

                    // 设置提交的相关参数 
                    var request = WebRequest.Create(FORM_URL) as HttpWebRequest;
                    request.Method = "POST";
                    request.KeepAlive = false;
                    request.AllowAutoRedirect = true;
                    request.ContentType = "application/json";
                    request.ContentLength = postData.Length;

                    // 提交请求数据
                    var outputStream = request.GetRequestStream();
                    outputStream.Write(postData, 0, postData.Length);
                    outputStream.Close();

                    // 获取测试结果
                    var response = request.GetResponse() as HttpWebResponse;
                    var responseStream = response.GetResponseStream();
                    var reader = new StreamReader(responseStream, Encoding.GetEncoding("UTF-8"));
                    var result = reader.ReadToEnd();
                    reader.Close();

                    Console.WriteLine(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

2,GET

  GET的接口调用比较简单了,只需要将所需参数拼接到URL里即可。

  这里我的例子是获取分类回复的接口,一般也可以用到这个。代码如下:

          try
                {
                    // 云极知客接口文档:http://robot.yunjizhike.com/zhike/help
                    // 测试分类接口:http://robot.yunjizhike.com/zhike/Help/Api/GET-Reply-GetRandomReply_categoryId_tag

                    // 测试分类接口链接
                    const string GET_URL = "http://robot.yunjizhike.com/Zhike/Reply/GetRandomReply";

                    // 服务器支持HTTPS连接,您可以更安全的使用
                    // const string GET_URL = "https://robot.yunjizhike.com/Zhike/Reply/GetRandomReply";

                    // 接口所需参数:categoryId, tag(默认空)
                    const string CATEGORY_ID = "553da1ecd0204328d4a7****";
                    const string TAG = "";
                    var url = string.Format("{0}?categoryId={1}&tag={2}", GET_URL, CATEGORY_ID, TAG);

                    var client = new WebClient();
                    var datas = client.DownloadData(url);
                    var result = Encoding.UTF8.GetString(datas);

                    Console.WriteLine(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

 

总结:

  其实接口调用很简单,只是一些常用的GET POST而已,如果遇到任何问题,可以联系我。

  祝,使用愉快。

 

posted @ 2015-05-04 17:06  pmars  阅读(1456)  评论(0编辑  收藏  举报