作者:张振琦
本篇同样以获取工单列表接口为例,介绍如果使用Java调用Udesk的API v1接口。先看一下获取工单列表接口的说明:
注:完整的接口说明请参考Udesk官网开发者中心:https://www.udesk.cn/doc/
简单分析一下这个接口,接口相对地址是/api/v1/tickets,请求方式是GET,有两个可选参数page和per_page,默认值为 第一页,每页20条记录。
第一步: 从在线客服系统中获取到Secret,值为【管理中心】->【管理】->【单点登录】的“共享的秘钥”。
第二步: 拼接请求参数
String args = "page="+page+"&per_page="+per_page;
第三步: 组合Secret并适用MD5进行加密,得到sign
String sign = MD5.encode(args+"&"+secret
第四步: 将签名sign添加到URL参数后面
String url = this.rooturl+"/api/v1/tickets"+"?"+args+"&sign="+sign;
完整的类代码如下:
Tickets.java
package com.udesk.support.demo;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.util.Date;
import java.util.UUID;
import com.google.gson.Gson;
import com.udesk.support.common.HttpClientUtil;
import com.udesk.support.common.MD5;
public class Tickets {
private String rooturl;
private String secret;
public Tickets(String rooturl,String secret)
{
this.rooturl = rooturl;
this.secret = secret;
}
//获取工单列表
//GET /api/v1/tickets.json
//该接口用于一次获取多个工单信息
private String getTickets(int page,int per_page)
{
String args = "page="+page+"&per_page="+per_page;
String sign = MD5.encode(args+"&"+secret);
String url = this.rooturl+"/api/v1/tickets"+"?"+args+"&sign="