Skip to content

iscod/sf-express-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Sf-Express

Welcome to use sf-express-go

Installation

go get -u -v github.com/IsCod/sf-express-go

Quickstart

package main

import (
	"fmt"
	"math/rand"
	sfexpress "sf-express-go"
	"time"
)

func main() {
	c := sfexpress.Config{CheckWord: "FBIqMkZjzxbsZgo7jTpeq7PD8CVzLT4Q", ClientCode: "NTL", Custid: "7553032834"}

	orderId := "SF-" + time.Now().Format("20060102150405") + string(rand.Intn(100))

	//order push
	o, err := c.Order(sfexpress.Order{
		OrderId:     orderId,
		ExpressType: 1,
		PayMethod:   1,
		JCompany:    "顺丰镖局",
		JContact:    "虾哥",
		JTel:        "15012345678",
		JMobile:     "",
		JProvince:   "广东省",
		JCity:       "深圳市",
		JCounty:     "南山区",
		JAddress:    "福田区新洲十一街万基商务大厦26楼",
		DCompany:    "顺丰镖局",
		DContact:    "虾哥",
		DTel:        "15012345678",
		DMobile:     "",
		DProvince:   "广东省",
		DCity:       "深圳市",
		DCounty:     "南山区",
		DAddress:    "福田区新洲十一街万基商务大厦26楼",
		AddedService: sfexpress.AddedService{
			Name:  "COD",
			Value: "1.01",
		},
		Cargo: "iphone x",
	})
	if err != nil {
		fmt.Printf("❌ Push: %s\n", err.Error())
	} else {
		fmt.Printf("✅ Push: orderId: %s, MailNo: %s\n", o.OrderId, o.MailNo)
	}

	//order query
	order, err := c.OrderQuery(sfexpress.OrderSearch{OrderId: o.OrderId, SearchType: 1})
	if err != nil {
		fmt.Printf("❌ query: %s\n", err)
	} else {
		fmt.Printf("✅ query: orderId: %s, MailNo: %s\n", order.OrderId, order.MailNo)
	}

	//order confirm&cancel
	oc, err := c.OrderConfirm(sfexpress.OrderConfirm{OrderId: o.OrderId, DealType: "2"})
	if err != nil {
		fmt.Printf("❌ Confirm: %s\n", err)
	} else {
		fmt.Printf("✅ Confirm:  orderId: %s, ResStatus: %d\n", oc.OrderId, oc.ResStatus)
	}

	//route Query By OrderNo
	oro, err := c.OrderRouteService(sfexpress.RouteRequest{TrackingType: 1, TrackingNumber: o.MailNo})
	if err != nil {
		fmt.Printf("❌ RouteQueryByOrderNo: %s", err)
	} else {
		for _, i := range oro {
			fmt.Printf("✅ RouteQueryByOrderNo:  orderId: %s, MailNo: %s, %v", i.OrderId, i.MailNo, i.Route)
		}
	}
}

Development

TODO:

Contributing

License

The sf-express-go is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the SfExpress project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

About

sf-express-go - an sf-express package library for Go(顺丰go包)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages