package track import ( "context" "github.com/carlmjohnson/requests" ) const Key = "ce71hxnz-6fms-4dg3-nux8-qluff9ymmqjb" func CreateTrack(req CreateTrackRequest) (CreateTrackReply, error) { url := "http://api.51Tracking.com/v4/trackings/create" var reply CreateTrackReply err := requests.URL(url).Header("Tracking-Api-Key", Key).BodyJSON(CreateTrackRequest{ TrackingNumber: req.TrackingNumber, CourierCode: req.CourierCode, }).ToJSON(&reply).Fetch(context.Background()) if err != nil { return reply, err } return reply, nil } func GetTrack(trackNum string) (GetTrackReply, error) { url := `http://api.51Tracking.com/v4/trackings/get?tracking_numbers=` + trackNum var reply GetTrackReply err := requests.URL(url).Header("Tracking-Api-Key", Key).ToJSON(&reply).Fetch(context.Background()) if err != nil { return reply, err } return reply, nil } func ListCouriers() (ListCouriersReply, error) { var couriers ListCouriersReply url := `http://api.51Tracking.com/v4/couriers/all` err := requests.URL(url).Header("Tracking-Api-Key", Key).ToJSON(&couriers).Fetch(context.Background()) if err != nil { return couriers, err } return couriers, nil }