Use Go to track DHL eCommerce shipments with DHL eCommerce Tracking API.
- Real-time DHL eCommerce tracking.
- Batch DHL eCommerce tracking.
- Other features to manage your DHL eCommerce 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 DHL eCommerce 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: "4982891432",
CourierCode: "dhlglobalmail",
}
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: "2967650674",
CourierCode: "dhlglobalmail",
},
{
TrackingNumber: "8307478620",
CourierCode: "dhlglobalmail",
},
}
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 := "9b42b6bbbb647005acf63b5ed64f22f0"
result, err := cli.UpdateTrackingByID(context.Background(), idString, params)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(result)
}