接入说明
文档修订记录
接入事项
对接环境相关参数
uat环境地址
https://dev-paas-gateway.e-buy.com
pro环境地址
找对应运营人员提供
相关密钥
找对应运营人员开通 paas租户接入账户(appId、appSecret),还请妥善保管避免
签名相关
交互方式为HTTPS协议,提交方式为POST,字符集为:UTF-8
算法为 SHA-256,字符集为:UTF-8,将请求体byte转为16进制,获取签名串
参与签名完整字符串拼接如:
action=makeCode&appId=ebuydfc6fd99ee14&content={"item":{"makeFundsChannel":{"benefitAmount":0,"channelBenefit":0,"discountAmount":0,"merchantBenefit":0,"merchantCustomBenefit":-1,"merchantCustomRealAmount":-1,"merchantRealAmount":0,"totalAmount":0,"userRealAmount":0},"outerOrderItemId":"1655535941106124","ticketId":1000000010947},"outerOrderId":"1655535941106124"}&lang=zh-CN&signType=sha256×tamp=1655609300931&uuid=20220619-c9b8735302214183a599e8d4fdaa81d9&i79zzmh1vwkdhefmwp7yh2h11w4094m3
appSecret 需要申请开通对应的租户app获取,demo中为 【i79zzmh1vwkdhefmwp7yh2h11w4094m3】
注意参与签名字符串需要拼接&密钥,参与生成签名
请求demo
{
"action": "makeCode",
"appId": "ebuydfc6fd99ee14",
"content": "{\"item\":{\"makeFundsChannel\":{\"benefitAmount\":0,\"channelBenefit\":0,\"discountAmount\":0,\"merchantBenefit\":0,\"merchantCustomBenefit\":-1,\"merchantCustomRealAmount\":-1,\"merchantRealAmount\":0,\"totalAmount\":0,\"userRealAmount\":0},\"outerOrderItemId\":\"1655535941106124\",\"ticketId\":1000000010947},\"outerOrderId\":\"1655535941106124\"}",
"headers": {
"paas-version": "1.1.0"
},
"lang": "zh-CN",
"sign": "b306f50243ecbd78ba454043cd4e6f63fc5e88d1cdf2dfb5aa7b503aec8ae3ee",
"signType": "sha256",
"timestamp": 1655609300931,
"uuid": "20220619-c9b8735302214183a599e8d4fdaa81d9"
}
请求响应demo
{
"action": "makeCode",
"errorCode": "50",
"errorMessage": "业务处理错误,单个制码销售渠道信息[ebuydfc6fd99ee14]为空",
"sign": "2073ee120e7d396d227fdddcd64f1ce3e186c106af6c968c83b6a7b1e7ba1dcb",
"signType": "sha256",
"success": false,
"timestamp": 1655607812062,
"uuid": "20220619-e18fc85ee1fb43efb0b7077fe3a80274"
}
相关说明
- lang 语言默认zh-CN
- uuid 请求序列号,需要保证本系统唯一,格式要求(yyyymmdd-32位随机串)
- appId 通过运营人员开通paas租户权限获取
- action 业务请求接口路径
- headers 默认 {"paas-version": "1.1.0"}
- signType 签名算法名 默认sha256
- timestamp 当前系统请求时间戳
- sign 请求报文签名字符串
- content 具体业务请求体,签名前需将请求体转为字符串,参与签名获取签名字符串
相关名词解释
对接demo
package com.ebuytech.paas.micro.eocupon.sdk.test;
import com.alibaba.fastjson.JSON;
import com.ebuytech.paas.micro.ecoupon.sdk.client.DefaultPaasClient;
import com.ebuytech.paas.micro.ecoupon.sdk.constant.ApiInterface;
import com.ebuytech.paas.micro.ecoupon.sdk.exception.SDKException;
import com.ebuytech.paas.micro.ecoupon.sdk.model.AuthConfig;
import com.ebuytech.paas.micro.ecoupon.sdk.model.bo.FundsChannelBO;
import com.ebuytech.paas.micro.ecoupon.sdk.model.req.PaasRequest;
import com.ebuytech.paas.micro.ecoupon.sdk.model.req.make.MakeCodeRequest;
import com.ebuytech.paas.micro.ecoupon.sdk.model.req.make.MakeCodeRequestItem;
import com.ebuytech.paas.micro.ecoupon.sdk.model.res.PaasResponse;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.math.BigDecimal;
/**
* <pre>
* 同步制码
* </pre>
*
* @author jysemel
* @version 2022/7/11 15:20
*/
@Slf4j
@SpringBootTest
public class EcouponMakeCodeTest {
public static DefaultPaasClient defaultPaasClient = new DefaultPaasClient("https://dev-paas-gateway.e-buy.com");
@Test
public void makeCodeTest() throws SDKException {
AuthConfig authConfig = new AuthConfig();
authConfig.setAppId("ebuy439fec8ce941");
authConfig.setAppSecret("dc548cadfbb8aa92c57a2944a3d38ea8");
//请求体
MakeCodeRequest makeCodeRequest = new MakeCodeRequest();
makeCodeRequest.setOuterOrderId("UbZh2QVL");
//制码订单
MakeCodeRequestItem requestItem = new MakeCodeRequestItem();
requestItem.setOuterOrderItemId("UbZh2QVL");
requestItem.setCodeCount(1);
requestItem.setTicketId(1031000000014283L);
//制码资金渠道
FundsChannelBO fundsChannelBO = new FundsChannelBO();
fundsChannelBO.setTotalAmount(new BigDecimal(89));
// fundsChannelBO.setUserRealAmount(new BigDecimal(89));
requestItem.setMakeFundsChannel(fundsChannelBO);
makeCodeRequest.setItem(requestItem);
PaasRequest request = new PaasRequest();
// request.getHeaders().put("paas-darklaunch", "DarkLaunch");
request.setContent(JSON.toJSONString(makeCodeRequest));
PaasResponse response = defaultPaasClient.execute(request, ApiInterface.makeCode.getApiUrl(), authConfig);
log.info("----{}", JSON.toJSONString(request));
log.info("----{}", JSON.toJSONString(response));
}
}