modulepackage
0.2.5
Repository: https://github.com/wksw/17track-golang-sdk.git
Documentation: pkg.go.dev
# README
17track golang版本SDK 官方文档请参考api文档
Install
go get github.com/wksw/17track-golang-sdk
Install 17track command
go get github.com/wksw/17track-golang-sdk/cmd/17track
# Starting in Go 1.17
go install github.com/wksw/17track-golang-sdk/cmd/17track
Get Latest carriers and countries
# it's actually execute 17track command
go generate
# Or execute 17track command
# it will generage two files, 17track_carrier.go and 17track_country.go
# at current dir
17track
Examples
V1版本
Registe
import (
track17 "github.com/wksw/17track-golang-sdk"
pb "github.com/wksw/17track-golang-sdk/proto"
)
func main() {
client, err := track17.NewClient("api-key")
if err != nil {
log.Fatal(err.Error())
}
resp, rerr := client.Registe([]*pb.TrackReq{
{Number: "RR123456789CN", Carrier: 3011},
})
if rerr != nil {
log.Fatalf("%v", rerr)
}
log.Printf("%v\n", resp)
}
V2版本
Registe
import (
track17V2 "github.com/wksw/17track-golang-sdk/v2"
pb "github.com/wksw/17track-golang-sdk/models/v2"
)
func main() {
client, err := track17V2.NewClient("api-key")
if err != nil {
log.Fatal(err.Error())
}
resp, rerr := client.Registe([]*pb.TrackReq{
{Number: "RR123456789CN", Carrier: 3011},
})
if rerr != nil {
log.Fatalf("%v", rerr)
}
log.Printf("%v\n", resp)
}
v1&v2同时使用
import (
// v2版本
v2 "github.com/wksw/17track-golang-sdk/v2"
modelsV2 "github.com/wksw/17track-golang-sdk/models/v2"
// v1版本
v1 "github.com/wksw/17track-golang-sdk"
modelsV2 "github.com/wksw/17track-golang-sdk/proto"
)
func main() {
// v1版本客户端
clientV1, err := v1.NewClient("api-key")
if err != nil {
log.Fatal(err.Error())
}
// v1版本注册
respV1, rerrV1 := clientV1.Registe([]*modelsV1.TrackReq{
{Number: "RR123456789CN", Carrier: 3011},
})
if rerrV1 != nil {
log.Fatalf("%v", rerrV1)
}
log.Printf("%v\n", respV1)
// v2版本客户端
clientV2 := v2.Client{C: clientV1}
// v2版本注册
respV2, rerrV2 := clientV2.Registe([]*modelsV2.TrackReq{
{Number: "RR123456789CN", Carrier: 3011},
})
if rerrV2 != nil {
log.Fatalf("%v", rerrV2)
}
log.Printf("%v\n", respV2)
}
# Functions
NewClient create a new paasport client.
WithApiVersion set api version.
WithMaxConnections set max connections.
WithProxy set proxy.
WithSslVerify set sslVerify.
WithTimeout set timeout.
# Constants
CarrierStateFetchErr 查询出错.
CarrierStateFetchErrUseCache 查询出错,使用缓存.
CarrierStateNotFound 尚无信息.
CarrierStateProcessErr 处理出错.
CarrierStateProcessErrUseCache 处理错误,使用缓存.
CarrierStateSiteErr 网站出错.
CarrierStateSiteErrUseCache 网站错误,使用缓存.
CarrierStateSuccess 正常查有信息.
CarrierStateUnrecognized 无法识别.
DEFAULT_API_VERSION defautl api version.
ENDPOINT api endpoint.
HTTPHeaderContentType the content-type name in request header.
HTTPHeaderToken the token name in request header.
HTTPHeaderUserAgent the user agent name in request header.
PackageStateAbnormal 可能异常.
PackageStateArrived 到达待取.
PackageStateFail 投递失败.
PackageStateInTransit 运输中.
PackageStateNotFound 查询不到.
PackageStateSuccess 成功签收.
PackageStateTooLong 运输过久.
PROJECT_NAME project name.
PushStateFailure 推送失败.
PushStateNotPush 未推送.
PushStateSuccess 推送成功.
SDK_VERSION sdk version.
StopTrackReasonAPI 接口请求停止.
StopTrackReasonArtificial 手工操作.
StopTrackReasonExpired 过期自动停止.
StopTrackReasonInvalidCarrier 无效的运输商.
TrackingStateRunning 追踪中.
TrackingStateStop 停止追踪.
# Structs
ChangeCarrierReq 修改运输商请求.
Client paasport client define.
Config paasport configuration.
Conn defines paasport conn.
Error 错误返回.
HTTPMaxConns max idle connections.
HTTPTimeout http timeout define.
RejectError 失败错误信息.
TrackAccept 成功返回go:generate 17track.
TrackEvent 跟踪事件.
TrackExpand 追踪扩展.
TrackInfo 物流详情.
TrackListReq 运单列表请求.
TrackListResp 运单列表返回.
TrackReject 失败返回.
TrackReq 运单请求.
TrackResp 运单返回.
TrackUpdateReq 运单信息更新请求.
# Interfaces
Encoder is an interface implemented by any type that wishes to encode itself into URL values in a non-standard way.
# Type aliases
CarrierState 运输商状态.
Configurer 配置.
PackageState 包裹状态.
PushState 推送结果.
StopTrackReason 停止追踪原因.
TrackingState 追踪状态.