Use Go to track FedEx shipments with FedEx Tracking API.
- Real-time FedEx tracking.
- Batch FedEx tracking.
- Other features to manage your FedEx tracking.
Installation is easy:
$ go mod init github.com/my/repo
$ go get github.com/trackingmore-api/trackingmore-sdk-go
Get the API key:
To use this API, you need to generate your API key.
- Click here to access TrackingMore admin.
-
Go to the "Developer" section.
-
Click "Generate API Key".
-
Give a name to your API key, and click "Save" .
Then, start to track your FedEx shipments.
Create a tracking (Real-time tracking):
package main
import (
"context"
"fmt"
"github.com/trackingmore-api/trackingmore-sdk-go"
)
func main() {
key := "your api key"
cli, err := trackingmore.NewClient(key)
if err != nil {
fmt.Println(err)
return
}
params := trackingmore.CreateTrackingParams{
TrackingNumber: "775429982388",
CourierCode: "fedex",
}
result, err := cli.CreateTracking(context.Background(), params)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(result)
}
Create trackings (Max. 40 tracking numbers create in one call):
package main
import (
"context"
"fmt"
"github.com/trackingmore-api/trackingmore-sdk-go"
)
func main() {
key := "your api key"
cli, err := trackingmore.NewClient(key)
if err != nil {
fmt.Println(err)
return
}
params := []trackingmore.CreateTrackingParams{
{
TrackingNumber: "775432760763",
CourierCode: "fedex",
},
{
TrackingNumber: "775432791800",
CourierCode: "fedex",
},
}
result, err := cli.BatchCreateTrackings(context.Background(), params)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(result)
}
Get status of the shipment:
package main
import (
"context"
"fmt"
"github.com/trackingmore-api/trackingmore-sdk-go"
)
func main() {
key := "your api key"
cli, err := trackingmore.NewClient(key)
if err != nil {
fmt.Println(err)
return
}
params := trackingmore.GetTrackingResultsParams{
CreatedDateMin: "2023-08-23T06:00:00+00:00",
CreatedDateMax: "2023-09-05T07:20:42+00:00",
}
result, err := cli.GetTrackingResults(context.Background(), params)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(result)
}
Update a tracking by ID:
package main
import (
"context"
"fmt"
"github.com/trackingmore-api/trackingmore-sdk-go"
)
func main() {
key := "your api key"
cli, err := trackingmore.NewClient(key)
if err != nil {
fmt.Println(err)
return
}
params := trackingmore.UpdateTrackingParams{
CustomerName: "New name",
Note: "New tests order note",
}
idString := "9a3c3844a50f3851e76e3ee347881588"
result, err := cli.UpdateTrackingByID(context.Background(), idString, params)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(result)
}