Skip to content

Latest commit

 

History

History
180 lines (132 loc) · 3.8 KB

la-poste-tracking-api-go.md

File metadata and controls

180 lines (132 loc) · 3.8 KB

La Poste Tracking API - Go

Use Go to track La Poste shipments with La Poste Tracking API.

Features

  • Real-time La Poste tracking.
  • Batch La Poste tracking.
  • Other features to manage your La Poste tracking.

Installation

Installation is easy:

$ go mod init github.com/my/repo
$ go get github.com/trackingmore-api/trackingmore-sdk-go

Quick Start

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 La Poste shipments.

Usage

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: "8J01608628504",
    CourierCode:    "laposte",
  }      

  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: "CB141372389FR",
      CourierCode:    "laposte",
      },
      {
      TrackingNumber: "XU007478444TS",
      CourierCode:    "laposte",
      },
  }   

  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 := "9e72fcfde285536bca6301bc006aa98e"
  
  result, err := cli.UpdateTrackingByID(context.Background(), idString, params)
  if err != nil {
    fmt.Println(err)
    return
  }
  
  fmt.Println(result)
}