前期准备
接口说明
- 免费使用,根据会员等级不同,每日可调用次数不同,具体登录天聚人合官网查看
- 话费API接口技术接入服务。为企业提供话费API接口,通过接口自由实现PC端、H5、APP等方式接入。
- 其他更详细的接口使用信息,登录天聚人合官网查看,本文为简单使用示例,仅供参考
礼品卡—商品列表:
请求参数
名称 |
必填 |
类型 |
说明 |
key |
是 |
String |
在个人中心->我的数据,接口名称上方查看 |
dtype |
否 |
String |
返回的格式,json或xml,默认json |
代码示例
import com.alibaba.fastjson.JSONObject;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.concurrent.TimeUnit;
public class tjrh_lpk {
private static OkHttpClient client;
private static final String apiUrl_products = "http://op.tianjurenhe.com/giftCard/products";
public static final String LPK_PRODUCTS_PARAM = "?key={0}&dtype={1}";
public static final String key = 您申请的key;
private static final int TIME_OUT = 20;
static {
client = new OkHttpClient.Builder()
.connectTimeout(TIME_OUT, TimeUnit.SECONDS)
.readTimeout(TIME_OUT, TimeUnit.SECONDS)
.writeTimeout(TIME_OUT, TimeUnit.SECONDS)
.retryOnConnectionFailure(true)
.build();
}
public static void findProducts(String dtype) throws IOException {
String url = apiUrl_products + MessageFormat.format(LPK_PRODUCTS_PARAM,key,dtype);
Request request = new Request.Builder().url(url).build();
Response response = client.newCall(request).execute();
if(response != null){
JSONObject result = JSONObject.parseObject(response.body().string());
if (result.getInteger("error_code") == 0) {
System.out.println(result);
}else{
}
}else{
}
}
返回结果示例
{
"reason": "查询成功",
"result": [
{
"productId": "100026",
"name": "携程任我行100元",
"value": "100.00",
"discount": "0.998"
},
{
"productId": "100027",
"name": "携程任我行500元",
"value": "500.00",
"discount": "0.998"
},
{
"productId": "310001",
"name": "阳澄湖牌出口有机大闸蟹298型",
"value": "298.00",
"discount": "0.900"
},
此处有省略
],
"error_code": 0
}
礼品卡----发货:
请求参数
名称 |
必填 |
类型 |
说明 |
key |
是 |
String |
在个人中心->我的数据,接口名称上方查看 |
dtype |
否 |
String |
返回的格式,json或xml,默认json |
num |
是 |
int |
购买数量,1-10 |
productId |
是 |
String |
商品ID,从商品列表查询 |
userOrderId |
是 |
String |
您的订单号,50个字符内,允许数字、字母、下划线,请保证单号唯一 |
sign |
是 |
String |
MD5(openId+key+num+userOrderId),加号不是MD5的内容,32位小写 |
代码示例
import java.security.MessageDigest;
public class MD5Util {
public static String MD5(String s) {
char[] hexDigits = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
try {
byte[] e = s.getBytes();
MessageDigest mdInst = MessageDigest.getInstance("MD5");
mdInst.update(e);
byte[] md = mdInst.digest();
int j = md.length;
char[] str = new char[j * 2];
int k = 0;
for (byte byte0 : md) {
str[k++] = hexDigits[byte0 >>> 4 & 15];
str[k++] = hexDigits[byte0 & 15];
}
return new String(str).toLowerCase();
} catch (Exception var10) {
var10.printStackTrace();
return null;
}
}
}
import com.alibaba.fastjson.JSONObject;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.concurrent.TimeUnit;
public class tjrh_lpk {
private static OkHttpClient client;
private static final String apiUrl_buy = "http://op.tianjurenhe.com/giftCard/buy";
public static final String LPK_BUY_PARAM = "?key={0}&dtype={1}&num={2}&productId={3}&userOrderId={4}&sign={5}";
public static final String key = 您申请的key;
private static final int TIME_OUT = 20;
static {
client = new OkHttpClient.Builder()
.connectTimeout(TIME_OUT, TimeUnit.SECONDS)
.readTimeout(TIME_OUT, TimeUnit.SECONDS)
.writeTimeout(TIME_OUT, TimeUnit.SECONDS)
.retryOnConnectionFailure(true)
.build();
}
public static void buy(String dtype,Integer num,String productId, String userOrderId) throws IOException {
String sign = MD5Util.MD5(openId + key + num + userOrderId);
String url = apiUrl_buy + MessageFormat.format(LPK_BUY_PARAM,key,dtype,num,productId,userOrderId,sign);
Request request = new Request.Builder().url(url).build();
Response response = client.newCall(request).execute();
if(response != null){
JSONObject result = JSONObject.parseObject(response.body().string());
if (result.getInteger("error_code") == 0) {
}else{
}
}else{
}
}
返回结果示例
/*请注意,发货时可能会返回“此商品暂无库存”,请联系我们客服并告知您需要的卡种类、数量,以便我们备货*/
/*请注意,余额不足的情况下频繁请求接口会被封号*/
{
"reason": "成功的返回",
"result": {
"juheOrderId": "JUHE14575079213274NN", /*聚合订单号*/
"userOrderId": "MYORDER123456", /*您的订单号*/
"num": 1, /*本次发货数量*/
"deduction":100, /*最终扣费总额*/
"cards": [ /*卡信息*/
{
"cardNo": "DCDCDCJUHEDCDC", /*DES加密后的卡号,解密方法见:https://www.tianjurenhe.com/codedoc/?type=card、
https://www.tianjurenhe.com/codedoc/?type=decrypt*/
"cardPws": "YOYOYOYOCKN", /*DES加密后的卡密,解密方法见:https://www.tianjurenhe.com/codedoc/?type=card、
https://www.tianjurenhe.com/codedoc/?type=decrypt*/
"expireDate": "20251231" /*失效时间*/
}
]
},
"error_code": 0
}
礼品卡----订单详情:
请求参数
名称 |
必填 |
类型 |
说明 |
key |
是 |
String |
在个人中心->我的数据,接口名称上方查看 |
dtype |
否 |
String |
返回的格式,json或xml,默认json |
juheOrderId |
否 |
String |
人合订单号 |
userOrderId |
否 |
String |
用户订单号,两个订单号提供一个即可 |
sign |
是 |
String |
MD5(openId+key+orderid),orderid指的是聚合订单号或者用户订单号中的一个 |
代码示例
package com.tjrh.HttpRequest;
import java.security.MessageDigest;
public class MD5Util {
public static String MD5(String s) {
char[] hexDigits = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
try {
byte[] e = s.getBytes();
MessageDigest mdInst = MessageDigest.getInstance("MD5");
mdInst.update(e);
byte[] md = mdInst.digest();
int j = md.length;
char[] str = new char[j * 2];
int k = 0;
for (byte byte0 : md) {
str[k++] = hexDigits[byte0 >>> 4 & 15];
str[k++] = hexDigits[byte0 & 15];
}
return new String(str).toLowerCase();
} catch (Exception var10) {
var10.printStackTrace();
return null;
}
}
}
package com.tjrh.HttpRequest;
import com.alibaba.fastjson.JSONObject;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.concurrent.TimeUnit;
public class tjrh_lpk {
private static OkHttpClient client;
private static final String apiUrl_detail = " http://op.tianjurenhe.com/giftCard/detail";
public static final String LPK_DETAIL_PARAM = "?key={0}&dtype={1}&juheOrderId={2}&userOrderId={3}&sign={4}";
public static final String openId = 您的openId;
public static final String key = 您申请的key;
private static final int TIME_OUT = 20;
static {
client = new OkHttpClient.Builder()
.connectTimeout(TIME_OUT, TimeUnit.SECONDS)
.readTimeout(TIME_OUT, TimeUnit.SECONDS)
.writeTimeout(TIME_OUT, TimeUnit.SECONDS)
.retryOnConnectionFailure(true)
.build();
}
public static void detail(String dtype,String juheOrderId, String userOrderId) throws IOException {
String sign = MD5Util.MD5(openId + key + juheOrderId);
String url = apiUrl_detail + MessageFormat.format(LPK_DETAIL_PARAM,key,dtype,juheOrderId,userOrderId,sign);
Request request = new Request.Builder().url(url).build();
Response response = client.newCall(request).execute();
if(response != null){
JSONObject result = JSONObject.parseObject(response.body().string());
if (result.getInteger("error_code") == 0) {
System.out.println(result);
}else{
}
}else{
}
}
返回结果示例
{
"reason": "查询成功",
"result": {
"juheOrderId": "201603120014351360130234",
"productId": "100022",
"submitTime": "2016-03-12 00:15:34",
"message": "发货成功",
"cards": [
{
"cardNo": "tV47z0fgrFuyAu1an1vi95ciamcrypted",
"cardPws": "udOpZ+ESspfRWjaEAjidliamcrypted",
"expireDate": "20181119"
}
]
},
"error_code": 0
}
礼品卡----历史订单查询:
请求参数
名称 |
必填 |
类型 |
说明 |
key |
是 |
String |
在个人中心->我的数据,接口名称上方查看 |
dtype |
否 |
String |
返回的格式,json或xml,默认json |
begin |
是 |
String |
开始的日期,如:2020-10-01 |
end |
是 |
String |
结束的日期,如:2020-11-01 |
代码示例
package com.tjrh.HttpRequest;
import com.alibaba.fastjson.JSONObject;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.concurrent.TimeUnit;
public class tjrh_lpk {
private static OkHttpClient client;
private static final String apiUrl_orders = "http://op.tianjurenhe.com/giftCard/orders";
public static final String LPK_ORDERS_PARAM = "?key={0}&dtype={1}&begin={2}&end={3}";
public static final String key = 您申请的key;
private static final int TIME_OUT = 20;
static {
client = new OkHttpClient.Builder()
.connectTimeout(TIME_OUT, TimeUnit.SECONDS)
.readTimeout(TIME_OUT, TimeUnit.SECONDS)
.writeTimeout(TIME_OUT, TimeUnit.SECONDS)
.retryOnConnectionFailure(true)
.build();
}
public static void findOrders(String dtype,String begin,String end) throws IOException {
String url = apiUrl_orders + MessageFormat.format(LPK_ORDERS_PARAM,key,dtype,begin,end);
Request request = new Request.Builder().url(url).build();
Response response = client.newCall(request).execute();
if(response != null){
JSONObject result = JSONObject.parseObject(response.body().string());
if (result.getInteger("error_code") == 0) {
System.out.println(result);
}else{
}
}else{
}
}
返回结果示例
{
"reason": "查询成功",
"result": [
{
"juheOrderId": "201603141423227380180045",
"productId": "100058",
"submitTime": "2016-03-14 14:23:22",
"message": "抱歉:此商品暂无库存"
},
{
"juheOrderId": "201603141550086498910071",
"productId": "100022",
"submitTime": "2016-03-14 15:51:17",
"message": "发货成功"
}
],
"error_code": 0
}
礼品卡----账户变动记录:
请求参数
名称 |
必填 |
类型 |
说明 |
key |
是 |
String |
在个人中心->我的数据,接口名称上方查看 |
dtype |
否 |
String |
返回的格式,json或xml,默认json |
begin |
是 |
String |
开始日期,如:2016-10-01 |
end |
是 |
String |
结束日期,如:2020-11-01 |
代码示例
package com.tjrh.HttpRequest;
import com.alibaba.fastjson.JSONObject;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.concurrent.TimeUnit;
public class tjrh_lpk {
private static OkHttpClient client;
private static final String apiUrl_account = "http://op.tianjurenhe.com/giftCard/account.php";
public static final String LPK_ACCOUNT_PARAM = "?key={0}&dtype={1}&begin={2}&end={3}";
public static final String key = 您申请的key;
private static final int TIME_OUT = 20;
static {
client = new OkHttpClient.Builder()
.connectTimeout(TIME_OUT, TimeUnit.SECONDS)
.readTimeout(TIME_OUT, TimeUnit.SECONDS)
.writeTimeout(TIME_OUT, TimeUnit.SECONDS)
.retryOnConnectionFailure(true)
.build();
}
public static void findAccount(String dtype,String begin,String end) throws IOException {
String url = apiUrl_account + MessageFormat.format(LPK_ACCOUNT_PARAM,key,dtype,begin,end);
Request request = new Request.Builder().url(url).build();
Response response = client.newCall(request).execute();
if(response != null){
JSONObject result = JSONObject.parseObject(response.body().string());
if (result.getInteger("error_code") == 0) {
System.out.println(result);
}else{
}
}else{
}
}
返回结果示例
{
"reason": "查询成功",
"result": [
{
"juheOrderId": "2016033434341122540472",
"price": "1000.00",
"time": "2016-03-11 22:54:04",
"type": "0"
},
{
"juheOrderId": "201342343258",
"price": "999.00",
"time": "2016-03-11 22:55:32",
"type": "0"
},
有省略
],
"error_code": 0
}