物流信息查询
1. 简介
1.1 场景简介
通过物流信息查询,可以实现输入物流单号,快捷查询出快递公司、物流时间、状态等详细信息。
本节将通过物流信息查询接口及简道云 前端事件,为您详细讲解如何自制物流信息查询表单。
1.2 预期效果
输入物流单号,即可快速查询出快递公司、物流状态等信息;点击体验效果:物流信息查询Demo。
2. 接口准备
2.1 购买接口
首先我们需要找到一个物流信息查询接口,我们以阿里云官方提供的接口为例,讲解如何在简道云的前端事件中配置:点击进入阿里云市场购买接口
我们先购买一个 0 元/100 次的体验版本,可以在 云市场 已购买的服务中看到我们刚刚购买的接口。
2.2 接口分析
接下来,点击接口,往下翻到 API 接口的详情介绍,对「快递物流节点跟踪」的接口进行分析。
【调用地址】:http://ali-deliver.showapi.com/showapi_expInfo 或 https://ali-deliver.showapi.com/showapi_expInfo
【请求方式】:GET
【返回类型】:JSON
【请求的Headers】:Authorization: APPCODE +英文空格+ 你自己的 APPCODE(服从阿里云云市场的标准鉴权方式)
Authorization:APPCODE AppCode值
【请求body】
名称 | 类型 | 是否必须 | 描述 |
callback_url | STRING | 可选 | 本接口提供实时查询和异步查询两种方式。异步方式具体说明请参考“产品详情”下的“产品使用常见问题”。 该参数为一个有效的、能接收数据的URL地址,如:http://www.xxxx.cn/express.do。设置该参数即为使用异步方式,否则为实时查询。 |
com | STRING | 必选 | 快递公司字母简称,可以从接口"快递公司查询" 中查到该信息 可以使用"auto"代替表示自动识别,不推荐大面积使用auto,建议尽量传入准确的公司编码。 |
nu | STRING | 必选 | 快递单号 |
phone | STRING | 可选 | 收/寄件人手机号后四位,顺丰快递必须填写本字段。 |
正常返回示例:
{
"showapi_res_error": "",
"showapi_fee_num": 1,
"showapi_res_code": 0,
"showapi_res_id": "628ed5cc0de3769f067c7806",
"showapi_res_body": {
"update": 1653528013043,
"upgrade_info": "",
"updateStr": "2022-05-26 09:20:13",
"logo": "http://static.showapi.com/app2/img/expImg/yuantong.jpg",
"dataSize": 11,
"status": 4,
"fee_num": 1,
"tel": "021-69777888/95554",
"data": [
{
"time": "2022-05-19 20:25:29",
"context": "客户签收人: 已签收,签收人凭取货码签收。 已签收 感谢使用圆通速递,期待再次为您服务 如有疑问请联系:13*******11,投诉电话:13*******11 疫情期间圆通每天对网点多次消毒,快递小哥新冠疫苗已接种,每天测量体温,佩戴口罩"
},
{
"time": "2022-05-19 10:11:11",
"context": "包裹已经到达附近街区,安排派送中,如有疑问请联系13*******11"
},
{
"time": "2022-05-19 09:35:46",
"context": "【云南省昆明市新迎凉亭分部公司】 派件中 派件人: 张胜华 电话 13********11 圆通快递小哥新冠疫苗已接种,每天已测体温,请放心收寄快递 如有疑问,请联系:13*******11"
},
{
"time": "2022-05-19 04:36:19",
"context": "【云南省昆明市新迎公司】 已收入"
},
{
"time": "2022-05-18 17:06:56",
"context": "【昆明转运中心】 已发出 下一站 【云南省昆明市新迎公司】"
},
{
"time": "2022-05-18 17:01:48",
"context": "【昆明转运中心公司】 已收入"
},
{
"time": "2022-05-18 01:08:52",
"context": "【成都转运中心】 已发出 下一站 【昆明转运中心公司】"
},
{
"time": "2022-05-18 01:08:45",
"context": "【成都转运中心公司】 已收入"
},
{
"time": "2022-05-17 22:10:46",
"context": "【四川省成都市大丰】 已发出 下一站 【成都转运中心公司】"
},
{
"time": "2022-05-17 21:26:31",
"context": "【四川省成都市大丰公司】 已打包"
},
{
"time": "2022-05-17 21:25:56",
"context": "【四川省成都市大丰公司】 已揽收 取件人:xxx (13*******11)"
}
],
"expSpellName": "yuantong",
"msg": "查询成功",
"mailNo": "YT6493188734653",
"queryTimes": 1,
"ret_code": 0,
"flag": true,
"expTextName": "圆通速递",
"possibleExpList": []
}
}
3. 表单设计
新建「物流信息查询」表单,字段设置如下:
字段名称 | 字段类型 |
物流单号 | 单行文本 |
快递公司 | 单行文本 |
快递信息 | 子表单 |
物流时间 | 子字段-单行文本 |
物流状态 | 子字段-单行文本 |
4. 前端事件设置
4.1 配置入口
添加好了以后,即可在表单属性中配置前端事件。
4.2 设置事件名称&说明
添加好前端事件后,首先设置前端事件的基础信息,即事件名称和事件说明,用于区分前端事件:
4.3 设置触发动作
设置触发动作:触发字段选择「物流单号」字段。
4.4 设置执行动作
根据【2.2 接口分析】章节,设置执行动作如下:
- 执行动作类型:自定义请求
- 请求类型:GET
- URL设置为:
https://ali-deliver.showapi.com/showapi_expInfo?nu=物流单号&com=auto
Hearder:
- Hearder:Authorization=APPCODE+英文空格+自己的 APPCODE
4.5 设置返回值
1)返回值格式选择 JSON,点击返回值设置下方的「点击设置」:
2)进入返回值设置页面,添加「快递公司」、「快递信息.物流时间」、「快递信息.物流状态」字段为其设置返回值:
3)根据 Json Path 规则及返回示例中的参数,按照格式,完成字段的配置如下:
- 快递公司:
$.showapi_res_body.expTextName
- 快递信息.物流时间:
$.showapi_res_body.data[*].time
- 快递信息.物流状态:
$.showapi_res_body.data[*].context
注:当子字段作为返回字段时,需要使用 [*] 来获取子表单所有行的数据。
5. 保存与调试
1)按照上述步骤,已完成前端事件的全部设置,接下来点击「保存并调试」,可进入调试,检查配置有无问题。
2)填写物流单号,然后点击底部「发送请求」,即可看到返回的物流信息,即配置成功。