parcelilib

package module
v0.0.0-...-826bfab Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 4, 2023 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Verbose         bool
	Key             string
	TrackingNumbers []string
}

type Parcel

type Parcel struct {
	Data struct {
		Trackings []struct {
			Shipment struct {
				ShipmentID             string      `json:"shipmentId"`
				StatusCode             string      `json:"statusCode"`
				StatusCategory         string      `json:"statusCategory"`
				StatusMilestone        string      `json:"statusMilestone"`
				OriginCountryCode      interface{} `json:"originCountryCode"`
				DestinationCountryCode interface{} `json:"destinationCountryCode"`
				Delivery               struct {
					EstimatedDeliveryDate interface{} `json:"estimatedDeliveryDate"`
					Service               string      `json:"service"`
					SignedBy              interface{} `json:"signedBy"`
				} `json:"delivery"`
				TrackingNumbers []struct {
					Tn string `json:"tn"`
				} `json:"trackingNumbers"`
				Recipient struct {
					Name        interface{} `json:"name"`
					Address     interface{} `json:"address"`
					PostCode    string      `json:"postCode"`
					City        string      `json:"city"`
					Subdivision string      `json:"subdivision"`
				} `json:"recipient"`
			} `json:"shipment"`
			Events []struct {
				EventID             string      `json:"eventId"`
				TrackingNumber      string      `json:"trackingNumber"`
				EventTrackingNumber string      `json:"eventTrackingNumber"`
				Status              string      `json:"status"`
				OccurrenceDatetime  string      `json:"occurrenceDatetime"`
				Order               interface{} `json:"order"`
				Datetime            time.Time   `json:"datetime"`
				HasNoTime           bool        `json:"hasNoTime"`
				UtcOffset           interface{} `json:"utcOffset"`
				Location            string      `json:"location"`
				SourceCode          string      `json:"sourceCode"`
				CourierCode         string      `json:"courierCode"`
				StatusCode          string      `json:"statusCode"`
				StatusCategory      string      `json:"statusCategory"`
				StatusMilestone     string      `json:"statusMilestone"`
			} `json:"events"`
			Statistics struct {
				Timestamps struct {
					InfoReceivedDatetime       string      `json:"infoReceivedDatetime"`
					InTransitDatetime          string      `json:"inTransitDatetime"`
					OutForDeliveryDatetime     string      `json:"outForDeliveryDatetime"`
					FailedAttemptDatetime      interface{} `json:"failedAttemptDatetime"`
					AvailableForPickupDatetime interface{} `json:"availableForPickupDatetime"`
					ExceptionDatetime          interface{} `json:"exceptionDatetime"`
					DeliveredDatetime          string      `json:"deliveredDatetime"`
				} `json:"timestamps"`
			} `json:"statistics"`
		} `json:"trackings"`
	} `json:"data"`
}

type Parceli

type Parceli struct {
	Config *Config
	Client *http.Client
}

func NewParceli

func NewParceli(config ...Config) *Parceli

func (*Parceli) GetTrackingNumbers

func (p *Parceli) GetTrackingNumbers() ([]string, error)

func (*Parceli) SetTrackingNumbers

func (p *Parceli) SetTrackingNumbers(tracking ...string) error

func (*Parceli) Track

func (p *Parceli) Track(tracking ...string) ([]*Parcel, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL