对接快递100&聚水潭API
对接快递100&聚水潭API
入我相思门,知我相思苦。
简介:对接第三方平台快递100&聚水潭API的简要总结。
1、感悟
个人感觉快递100的API更友好一些,比如有SDK可以调用;遇到阻塞要及时联系第三方相关责任人。
首先要对接一个第三方平台,当然绝大多数情况下只是对接其中的某些接口,接口开得多收费也就多。
第一步要到平台上的测试工具看,花钱买的一些协议参数是否能正常使用,简而言之就是到平台上去测试要调用的API是否可以访问,这一步可以了再到代码中去调用API。
2、快递100平台调试工具

3、代码调API
平台上的测试工具可以正常调用API后,到代码中调API。
首先要看平台上是否有调用API的demo;在代码中参数传递的时候要注意参考测试工具调用示例,参数一定要传递够,按照文档要求拼接请求地址URL,可以借助Hutool工具直接调用URL得到返回。
整个业务主要包括三个环节:生产消息,消费消息,保存消息。
生产消息:elactisearch上获取数据,处理数据得到调用API需要的参数及格式;
消费消息:消费消息就是调用平台API;
保存消息:调用平台API后返回信息,本地处理返回的信息。
1 import lombok.AllArgsConstructor;
2 import lombok.extern.slf4j.Slf4j;
3 import org.springframework.scheduling.annotation.Scheduled;
4 import org.springframework.stereotype.Component;
5
6 import java.util.List;
7
8 /**
9 * 定时任务
10 */
11 @Component
12 @AllArgsConstructor
13 @Slf4j
14 public class OrderScheduledTask {
15
16 private OmsOrderService omsOrderService;
17 private OmsOrderRepository omsOrderRepository;
18
19
20 /**
21 * 平台同步到本地定时任务
22 * 需要在启动类中加入: @EnableScheduling 启动定时任务
23 */
24 @Scheduled(fixedDelay = 10*60*1000) // 距离上次执行完10分钟后执行
25 public void omsOrderUploadScheduledTask() {
26 try {
27 log.info("平台同步到本地定时任务开始:{}", DateUtil.getCurDateTime());
28 //生产消息: 取数据:已同步
29 List<OmsOrder> orderList = omsOrderRepository.findBySynStatusAndPayStatus("1", "1");
30 // 处理数据:每次同步20 条数据
31 if (!orderList.isEmpty() && orderList.size() > 0) {
32 if (orderList.size() >= 20) {
33 // 消费消息 + 保存消息:
34 omsOrderService.updateDataToPool(orderList.subList(0, 20));
35 // 递归调用 omsOrderSearchScheduledTask
36 omsOrderSearchScheduledTask();
37 } else {
38 omsOrderService.updateDataToPool(orderList);
39 }
40 }else {
41 log.info("没有符合条件的订单,无需从平台同步数据");
42 }
43 } catch (Exception e) {
44 log.info("平台同步到本地定时任务exception: {}", e.getMessage());
45 }
46 log.info("平台同步到本地定时任务结束:{}", DateUtil.getCurDateTime());
47 }
48
49 }
调用API并接收返回:

1 // 传递协商定义好的url、header、body
2 String response = HttpRequest.post(concatUrl)
3 .header(“Content-Type”, “application/x-www-form-urlencoded ”).body(String.valueOf(jsonObject)).execute().body();
4
5 JSONArray orders = (JSONArray) com.alibaba.fastjson.JSONObject.parseObject(response).get("data");
6 OrdersEntity entity = com.alibaba.fastjson.JSONObject.parseObject(String.valueOf(tempJson), OrdersEntity.class);
4、聚水潭
聚水潭API 调用过程步骤亦是如此:

入我相思门
知我相思苦
对接快递100&聚水潭API的更多相关文章
- 快速上手微信小程序-快递100
2007 年 1 月 9 日,乔布斯在旧金山莫斯科尼会展中心发布了首款 iPhone,而在十年后的 1 月 9 日,微信小程序正式上线.张小龙以这样的形式,向乔布斯致敬. 小程序在哪里? 小程序功能模 ...
- 在Asp.Net MVC中利用快递100接口实现订阅物流轨迹功能
前言 分享一篇关于在电商系统中同步物流轨迹到本地服务器的文章,当前方案使用了快递100做为数据来源接口,这个接口是收费的,不过提供的功能还是非常强大的,有专门的售后维护团队.也有免费的方案,类似于快递 ...
- PHP最近做了物流快递查询的接口用得是快递100
最近做了物流快递查询的接口用得是快递100的,分享下心得体会 主要使用了2种接口,一个是api的 返回json xml 各种数据的 一个是返回的URL的 就是一个带结果的网址 . 1 申请 找一 ...
- Java对接拼多多开放平台API(加密上云等全流程)
前言 本文为[小小赫下士 blog]原创,搬运请保留本段,或请在醒目位置设置原文地址和原作者. 作者:小小赫下士 原文地址:Java对接拼多多开放平台API(加密上云等全流程) 本文章为企业ERP(I ...
- java抓取快递100信息接口
package zeze; import java.io.IOException; import org.json.JSONArray; import org.json.JSONException; ...
- C#快递跟踪(基于快递100深度定制)
本文主要介绍快递跟踪的相关信息.如根据快递单号预测所属快递公司,判断快递是否已被签收,以及改良官方model后可在不用申请授权的情况下实现json,html,xml及text等多种格式以及单行多行,降 ...
- 通过快递100获取快递单号,结合c-lodop热敏纸打印 – 通过菜鸟ISV/自研ERP使用菜鸟电子面单
https://www.1024cc.cn/index.php/2019/04/29/%E6%89%93%E5%8D%B0%E7%94%B5%E5%AD%90%E9%9D%A2%E5%8D%95/ 打 ...
- php利用快递100接口获取物流信息
PHP使用CURL调用快递100接口查询运单信息 类代码如下: <?php/** * 快递100接口调用类 * @author 齐云海 * date: 2019/05/29 */ class E ...
- .netcore 写快递100的快递物流信息查询接口
快递100的物流信息查询接口,官方提供了一些demo;还好官方提供的代码是.netcore版本写的,不过写的有点low;根据官方提供的代码,我按照.netcore 的风格重构了代码:核心代码如下: / ...
随机推荐
- Web 开发之 HTTP/2 & SPDY & HTTP 1.1 & HTTP 对比分析详解!
1 https://zh.wikipedia.org/wiki/HTTP/2 HTTP/2 维基百科,自由的百科全书 HTTP/2(超文本传输协议第2版 ...
- js closures all in one
js closures all in one setTimeout 闭包,log(i, arr[¡]) var, let, closures, IIFE "use strict"; ...
- React Hooks 实现一个计时器组件
React Hooks 实现一个计时器组件 useEffect https://reactjs.org/docs/hooks-reference.html#useeffect import React ...
- HTML 5.3
HTML 5.3 W3C Working Draft, 18 October 2018 https://www.w3.org/TR/html53/ refs https://www.w3.org/TR ...
- ES5 function & ES6 class & method type
ES5 function & ES6 class & method type ES5 function "use strict"; /** * * @author ...
- Renice INC:全球经济危机持续,2021年红酒市场走向如何?
2021年,全球经济危机仍在持续,很多国家的经济出现了严重的下滑,不得不以降低利率维持经济.那么,全球经济危机对于红酒市场有什么影响?2021年,红酒市场走势如何呢?近日,美国知名红酒公司伦尼斯公司对 ...
- NGK与Captain technology合作 推出贷款体验用于简化汽车经销商流程
据外媒报导,近日,NGK.IO正在与Captain technology恰谈合作事宜,以简化购车体验,包括简化购车流程.NGK的CTO Stephen Litan表示:"NGK宣布与Capt ...
- .NET 6 Preview 1 发布
前言 2021 年 2 月 17 日微软发布了 .NET 6 的 Preview 1 版本,那么来看看都有什么新特性和改进吧,由于内容太多了因此只介绍一些较为重点的项目. 统一和扩展 .NET 6 在 ...
- Windows 常用命令与快捷键
1.自选区截图Shift+win+s 2.全屏截图Prtsc 3.活动窗口截图Alt+Prtsc 4.新建文件夹Ctrl + Shift + N 5.返回上级目录Alt + 上方向键 6.后退到上一次 ...
- img图片默认的3px空白缝隙解决方法
img{display:block;} 表示将img标签,即图片标签由行内元素变成一个块级元素. 一般在制作轮播网页或使用到img图片时,我们都会对图片设置img{display:bolck}.因为i ...