#1
这儿我选 www.kuaidi100.com 来完成快递查询功用。
#2
注册账号、恳求 API KEY 就不演示了。
直接看接入文档去寻觅有必要的参数
恳求类型:post
输入参数:
customer: String 是
sign: String 是
param Object 是
└ com: string 是
└ num: string 是
└ phone: string 否
└ from: string 否
└ to: string 否
└ resultv2: int 否
https://www.kuaidi100.com/openapi/api_post.shtml
https://www.kuaidi100.com/openapi/api_post.shtml
不是很杂乱,仍是用之前的 urllib 库完成查询
// 云函数进口文件
const cloud = require('wx-server-sdk')
const urllib = require('urllib')
const md5 = require('md5') //参数里的 sign 需求param+key+customer 拼接后md5
const key = 'yourkey'
const customer = 'yourcustomerid'
cloud.init()
// 云函数进口函数
exports.main = async(event, context) = {
const wxContext = cloud.getWXContext()
const openid = wxContext.OPENID
const com =event.com || 'yunda'
const num = event.num || '800398697338673387'
const phone = event.phone || ''
const query = {com,num,phone}
const param = JSON.stringify(query)
const sign = md5(param + key + customer).toUpperCase()
const api_base = 'https://poll.kuaidi100.com/poll/query.do'
// const api_base = 'https://httpbin.org/get'
let {status, data} = await urllib.request(api_base, {
method: 'GET',
data: {
customer,
sign,
param
},
dataType: 'json'
})
return {
sign,
status,
data
}
}
#3
接入很快,不过测验的时分。
真是无话可说!
!
#4
不过充或许不充,需求就在那里,不必不可。
已然 kuaidi100 不可,就换其他服务提供商。
查找了一圈,最终决议用
https://www.trackingmore.com
相同注册、恳求KEY、看接入文档。
获取单个运单号实时物流信息
https://api.trackingmore.com/v2/trackings/realtime
恳求办法:post
参数:
Headers
Trackingmore-Api-Key: YOUR_API_KEY
Param
tracking_number: 快递单号
carrier_code: 运输商简码
https://www.trackingmore.com/api-track-get-realtime-tracking-results-cn.html#realtime
https://www.trackingmore.com/api-track-get-realtime-tracking-results-cn.html#realtime
也不是很杂乱,直接上代码
// 云函数进口文件
const cloud = require('wx-server-sdk')
const urllib = require('urllib')
const key = 'yourkey'
cloud.init()
// 云函数进口函数
exports.main = async(event, context) = {
const wxContext = cloud.getWXContext()
const openid = wxContext.OPENID
const com =event.com || 'yunda'
const num = event.num || '800398697338673387'
const api_base = 'https://api.trackingmore.com/v2/trackings/realtime'
// const api_base = 'https://httpbin.org/post'
let {status, data} = await urllib.request(api_base, {
method: 'POST',
contentType:'json',
headers: { "Trackingmore-Api-Key": key},
data: {
"tracking_number": num,
"carrier_code": com
},
dataType: 'json'
})
return {
status,
data
}
}
这次测验一次经过,no error, no warn.
#5