帮我吧文档:数据接口:开发向导

开发向导

请在使用数据接口前,认真阅读本页内容,方便您的后续开发。为了方便您开发过程中定位问题是接口原因,还是您的自身程序问题,建议您自行下载一个Postman。

Restful API说明

Restful API是帮我吧新版API,功能更强大、完善。

安全与验证

  1. 仅支持ssl
  2. 验证方式为Basic Auth,仅支持帮我吧账号密码的形式来进行验证,具体如下:{account}:{password}

curl调用格式

curl -u {account}:{password} https://www.bangwo8.com/api/v1/...

curl调用示例

curl -u {osptest}:{xxx} https://www.bangwo8.com/api/v1/tickets.json


数据格式

  1. 仅支持json格式
  2. POST和PUT操作,必须在header里设置Content-Type:applicatioin/json


分页

数据返回条数太多时,会自动分页,默认每页100条,可以在请求url里更改per_page参数的值来自定义每页返回的条数,建议不要超过100条,因为会影响接口返回速度。 当请求的数据个数超过per_page参数值时,可设置自增的page参数继续请求下一页数据。

示例

{
  "tickets": [ ... ],
  "count": 123,
  "next_page": "https://www.bangwo8.com/api/v1/tickets.json?page=2",
  "previous_page": null
}


返回结果说明

  1. 成功的请求,会返回200或300范围的http状态码
  2. 失败的请求,会返回400范围的http状态码
  3. 如果返回500范围的http状态码,可能是帮我吧存在bug,也可能是服务正在更新维护(此时会返回503 Service Unavailable)

调用示例

下面以创建工单接口为例进行说明。

c#调用示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string url = "http://www.bangwo8.com/api/v1/tickets.json";
            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
            //提交方式
            request.Method = "POST";
            //提交类型
            request.ContentType = "application/json";
            //提交工单数据
            string data = "{\"ticket\": {\"subject\": \"产品咨询\", \"ticketReply\":  \
                            { \"replyMsg\":\"你好,我想咨询下帮我吧产品\" }}}";

            byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());
            request.ContentLength = byteData.Length;

            // 设置Authorization验证
            byte[] authBytes = Encoding.UTF8.GetBytes("user:password");
            request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(authBytes));


            using(Stream postStream = request.GetRequestStream())
            {
                // 写入数据
                postStream.Write(byteData, 0, byteData.Length);
            }
            try
            {
                //正常返回数据
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream());
                Console.WriteLine(reader.ReadToEnd());
            }catch(WebException we){
                //捕获异常返回数据
                StreamReader reader = new StreamReader(we.Response.GetResponseStream());
                Console.WriteLine(reader.ReadToEnd());
            } 
        }
    }
}

页面工具