Use Go to track DHL shipments with DHL Tracking API.
- Real-time DHL tracking.
- Batch DHL tracking.
- Other features to manage your DHL 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 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: "6832928535",
CourierCode: "dhl",
}
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: "1895711370",
CourierCode: "dhl",
},
{
TrackingNumber: "1895711156",
CourierCode: "dhl",
},
}
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 := "99e567a0cbdabf3660b788d850981c81"
result, err := cli.UpdateTrackingByID(context.Background(), idString, params)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(result)
}