Categorygithub.com/wksw/17track-golang-sdk
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)
}

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# 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 停止追踪.

# Variables

Carriers 17track defined carrier list.
Countries 17track defined country list.

# 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 追踪状态.