supplier-api.saleyee.cn
Open in
urlscan Pro
114.215.186.9
Public Scan
URL:
https://supplier-api.saleyee.cn/
Submission: On December 26 via api from US — Scanned from US
Submission: On December 26 via api from US — Scanned from US
Form analysis
0 forms found in the DOMText Content
Sorry, we need js to run correctly! 【赛盈-供应商端】开发者文档 * 开发指南 * 商品中心 * 查询兼容属性模板POST * 查询默认模板属性POST * 库存中心 * 订单中心 * 渠道中心 * 财务中心 Powered by Apifox 开发指南 一、文档说明# 赛盈平台为第三方(供应商)提供的数据交互接口。 二、技术说明# 采用基于Web API的接口服务,URL表示操作的资源。交互的数据采用 JSON 格式。通过Token识别用户身份,通过DES加密方式验证请求。 三、请求地址# 系统模块URL商品中心https://gsp-goods-bscapi.saleyee.cn/api/Service/CommonService库存中心https://bsc-stock-api.saleyee.cn/api/Service/CommonService订单中心https://bsc-order-api.saleyee.cn/api/Service/CommonService渠道中心https://bsc-channel-api.saleyee.cn/api/Service/CommonService财务中心https://bsc-finance-api.saleyee.cn/api/Service/CommonService 四、公共参数# 请求参数# 名称类型说明VersionString版本号(当前版本为:1.0.0.1)ExternalUserKeyString授权用户的访问凭证keyExternalUserTokenString授权用户的访问凭证tokenSignStringDES加密后的签名字符串RequestIdString请求唯一标识(可使用GUID)RequestTimeString请求发起时间MessageString业务数据(JSON字符串)MessageTypeString调用的接口名称 响应参数# 名称类型说明VersionString版本号RequestIdString请求唯一标识RequestTimeString请求发起时间ResponseIdString响应唯一标识ResponseTimeString响应时间RequestMessageString请求发送的数据ResultInt响应结果(0失败,1成功)ErrorObject错误信息- CodeString错误编码- ShortMessageString简略错误消息- LongMessageString详细错误消息MessageString响应数据(JSON字符串) 五、业务参数# API 调用除了必须包含公共参数外,如果本身有业务级的参数也必须将其赋值给公共请求参数的 Message 字段,各 API 的业务级参数请参考各接口详细信息。 六、签名算法# 为了防止 API 调用过程中被恶意篡改,调用任何一个 API 都需要携带请求签名,服务端会根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝。目前使用的签名算法为:DES(模式:CBC、填充:pkcs7padding),签名过程如下: 📌 1、将公共参数封装为对象(含Sign字段,默认值为null) 2、将业务参数转换为json类型,赋值给公共参数的Message字段 3、将公共参数对象序列化为json字符串,使用DES进行加密,得到签名字符串 4、将签名字符串赋值给公共参数对象Sign字段后,即可发起http请求 七、签名示例(.NET)# public static string SignDemo(string data) { byte[] byKey = "********"; byte[] byIV = "********"; using (DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider()) using (MemoryStream ms = new MemoryStream()) using (CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write)) using (StreamWriter sw = new StreamWriter(cst)) { sw.Write(data); sw.Flush(); cst.FlushFinalBlock(); sw.Flush(); byKey = byIV = null; return Convert.ToBase64String(ms.GetBuffer(),0,(int)ms.Length); } } 八、请求示例(.NET)# public static string RequestDemo(string data) { // 公共参数 string url = "http://localhost:8906/zh-CN/api/Service/CommonService"; ExtServiceRequest request = new ExtServiceRequest(); request.RequestId = Guid.NewGuid().ToString(); request.RequestTime = DateTimeHelper.GetNowDateTime(); request.Version = "1.0.0.1"; request.AppToken = "o5Nf65FiKgoQu1df1jI1syOmVZQJyCPn"; // 业务参数 SupplierQueryCompatibleTemplateRequest inRequest = new SupplierQueryCompatibleTemplateRequest(); inRequest.StartTrDateTime = DateTimeHelper.GetNowDateTime().AddYears(-1); inRequest.EndTrDateTime = DateTimeHelper.GetNowDateTime(); string inRequestJson = SerializableConvert.SerializeObject(inRequest); request.Message = inRequestJson; // 接口名称 request.MessageType = "SupplierQueryCompatibleTemplate"; // 签名 string json = SerializableConvert.SerializeObject(request); string data = EncryHelper.GetEncodeString(json); request.Sign = data; // 发起请求 HttpClient client = new HttpClient(); HttpResponseMessage responseMessage = client.PostAsJsonAsync(url, request).Result; string responseContent = responseMessage.Content.ReadAsStringAsync().Result; // 解析响应数据 ExtServiceResponse response = SerializableConvert.DeserializeObject<ExtServiceResponse>(responseContent); ExtCategoryResponse extResponse = SerializableConvert.DeserializeObject<ExtCategoryResponse>(response.Message); } 最后修改时间: 9 小时前 克隆导出 我的 Apifox 一、文档说明 二、技术说明 三、请求地址 四、公共参数 请求参数 响应参数 五、业务参数 六、签名算法 七、签名示例(.net) 八、请求示例(.net)