fedex

package
v0.0.0-...-70e54fd Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2022 License: MIT Imports: 11 Imported by: 0

README

FedEx

Documentation

Rate Limits

FedEx assigns one API key to each project which is used for all APIs in the project.The rate limit for each API key(and project) is 750 transactions per 10 seconds. Review the FedEx API Throttling Guide for more information, best practices and upgrade options.

A## PI Certification

Select APIs must be certified by FedEx before you can move to production. The level of certification can vary by API. See the certification requirements for the APIs you selected below. Note that Shipping Label certification can take up to 5 days.

API Authorization

Once you have secured the API credentials on FedEx Developer portal, use this endpoint to get an access token to use as credentials with each API transaction.

Following are the required input information associated with this request:

Request
Header
Name Description
content-type required string Example: application/x-www-form-urlencoded This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file. Example: application/x-www-form-urlencoded
Body
Name Description
grant_type required string Specify the type of customer requesting the Oauth token. Valid Values: client_credentials, csp_credentials Note: client_credentials - should be used for customers. csp_credentials - should be used for Compatible Provider customers.
client_id required string Specify the Client ID also known as API Key received during FedEx Developer portal registration. Example: XXXX-XXX-XXXX-XXX
client_secret required string Specify the Client secret also known as Secret Key received during FedEx Developer portal registration. Example: XXXX-XXX-XXXX-XXX
child_Key string Specify the Client ID also known as Customer Key. This element is used as a login credential for a Compatible Customer to access the application on behalf of their customer. Example: XXXX-XXX-XXXX-XXX Note: This element should only be used by Compatible Customers.
child_secret string Specify the Client secret also known as Customer Secret. This element is used as a login credential for a Compatible Customer to access the application on behalf of their customer. Example: XXXX-XXX-XXXX-XXX Note: This element should only be used by Compatible Customers.
Response
Name Description
access_token string This is an encrypted OAuth token used to authenticate your API requests. Use it in the authorization header of your API requests. Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……
token_type string This is a token type. In this case, it is 'bearer authentication'.
expires_in integer Indicates the token expiration time in milliseconds. The standard token expiration time is one hour. Example: 3600
scope string Indicates the scope of authorization provided to the consumer. Example: CXS

Track API

Track by Tracking Number

Request
Header
Name Description
x-customer-transaction-id string Example: 624deea6-b709-470c-8c39-4b5511281492 This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
content-type required string Example: application/json This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.
x-locale string Example: en_US This indicates the combination of language code and country code. Click here to see Locales
authorization required string Example: Bearer XXX This indicates the authorization token for the input request.
Body
includeDetailedScans required boolean

Indicates if detailed scans are requested or not.
Valid values are True, or False.

trackingInfo required Array of objects (TrackingInfo)

The tracking information of the shipment to be tracked. At least one occurrence of TrackingInfo is required. Maximum limit is 30.

Array
shipDateBeginstring

ShipDateBegin and ShipDateEnd are recommended to narrow the search, reduce lookup time, and avoid duplicates when searching for a specific tracking number within a specific date range.
Format: YYYY-MM-DD
Example: 2020-03-29

shipDateEndstring

ShipDateBegin and ShipDateEnd are recommended to narrow the search, reduce lookup time, and avoid duplicates when searching for a specific tracking number within a specific date range.
Format: YYYY-MM-DD
Example: 2020-04-01

trackingNumberInfo required object (TrackingNumberInfo)

Information uniquely identifying a shipment such as Tracking number, ShipDate, and Tracking number uniqueId.

trackingNumber required string

This is a Tracking number for FedEx packages used for tracking a single package or group of packages.
Example: 128667043726
Click here to see Mock Tracking Numbers.

carrierCodestring Enum: "FDXE" "FDXG" "FXSP" "FXFR" "FDXC" "FXCC" "FEDEX_CARGO" "FEDEX_CUSTOM_CRITICAL" "FEDEX_EXPRESS" "FEDEX_FREIGHT" "FEDEX_GROUND" "FEDEX_OFFICE" "FEDEX_KINKOS" "FX" "FDFR" "FDEG" "FXK" "FDC" "FDCC"

This is a placeholder to provide the FedEx operating company (transportation) code used for package delivery.
Example: FDXE

trackingNumberUniqueIdstring

Unique identifier used to distinguish duplicate FedEx tracking numbers. This value will be set by FedEx systems.
Example: 245822~123456789012~FDEG

Response
transactionIdstring

The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492

customerTransactionIdstring

This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
Example: AnyCo_order123456789

outputobject (TrackingNumbersResponse)

The response elements for Tracking by tracking number request

completeTrackResultsArray of objects (CompleteTrackResult)

Contains detailed tracking entry information.
Valid values are- ACTUAL_DELIVERY, ACTUAL_PICKUP, ACTUAL_TENDER, ANTICIPATED_TENDER, APPOINTMENT_DELIVERY, ATTEMPTED_DELIVERY, COMMITMENT, ESTIMATED_ARRIVAL_AT_GATEWAY, ESTIMATED_DELIVERY, ESTIMATED_PICKUP, ESTIMATED_RETURN_TO_STATION, SHIP, SHIPMENT_DATA_RECEIVED.

Array
trackingNumberstring

A tracking number to identify a package.
Example: 123456789012

trackResultsArray of objects (TrackResult)

An array of detailed tracking information for the requested packages(s). In case of duplicate shipments, multiple track details will be populated.

Array
trackingNumberInfoobject (TrackingNumberInfo)

Information uniquely identifying a shipment such as Tracking number, ShipDate, and Tracking number uniqueId.

trackingNumber required string

This is a Tracking number for FedEx packages used for tracking a single package or group of packages.
Example: 128667043726
Click here to see Mock Tracking Numbers.

carrierCodestring Enum: "FDXE" "FDXG" "FXSP" "FXFR" "FDXC" "FXCC" "FEDEX_CARGO" "FEDEX_CUSTOM_CRITICAL" "FEDEX_EXPRESS" "FEDEX_FREIGHT" "FEDEX_GROUND" "FEDEX_OFFICE" "FEDEX_KINKOS" "FX" "FDFR" "FDEG" "FXK" "FDC" "FDCC"

This is a placeholder to provide the FedEx operating company (transportation) code used for package delivery.
Example: FDXE

trackingNumberUniqueIdstring

Unique identifier used to distinguish duplicate FedEx tracking numbers. This value will be set by FedEx systems.
Example: 245822~123456789012~FDEG

additionalTrackingInfoobject (AdditionalTrackingInfo)

Additional Tracking number information like nickname, notes, shipment attributes etc.

hasAssociatedShipmentsboolean

Field which indicates if the current shipment has associated shipments.
Example: false

nicknamestring

Field which holds information about nickname of the shipment.
Example: Shipment nickname

packageIdentifiersArray of objects (PackageIdentifier)

Other related identifiers for this package such as reference numbers, purchase order number etc. Provides identifiers other than tracking number that can be used in order to track the shipment.

Array
typestring Enum: "BILL_OF_LADING" "COD_RETURN_TRACKING_NUMBER" "CUSTOMER_AUTHORIZATION_NUMBER" "CUSTOMER_REFERENCE" "DEPARTMENT" "DOCUMENT_AIRWAY_BILL" "EXPRESS_ALTERNATE_REFERENCE" "FEDEX_OFFICE_JOB_ORDER_NUMBER" "FREE_FORM_REFERENCE" "GROUND_INTERNATIONAL" "GROUND_SHIPMENT_ID" "GROUP_MPS" "INTERNATIONAL_DISTRIBUTION" "INVOICE" "JOB_GLOBAL_TRACKING_NUMBER" "ORDER_GLOBAL_TRACKING_NUMBER" "ORDER_TO_PAY_NUMBER" "OUTBOUND_LINK_TO_RETURN" "PART_NUMBER" "PARTNER_CARRIER_NUMBER" "PURCHASE_ORDER" "REROUTE_TRACKING_NUMBER" "RETURN_MATERIALS_AUTHORIZATION" "RETURNED_TO_SHIPPER_TRACKING_NUMBER" "SHIPPER_REFERENCE" "STANDARD_MPS" "TRACKING_CONTROL_NUMBER" "TRACKING_NUMBER_OR_DOORTAG" "TRANSBORDER_DISTRIBUTION" "TRANSPORTATION_CONTROL_NUMBER" "VIRTUAL_CONSOLIDATION"

Indicate the package identifier to identify the package.
Example: SHIPPER_REFERENCE

valueArray of strings

Field which holds the value of the identifier used to identify the package.
Example: 'ASJFGVAS'

trackingNumberUniqueIdstring

Unique identifier used to distinguish duplicate FedEx tracking numbers. This value will be set by FedEx systems.
Example: 245822~123456789012~FDEG

shipmentNotesstring

Field which holds customer assigned notes for a package.
Example: shipment notes

distanceToDestinationobject (Distance)

Distance remaining to the destination. Only returned for FedEx Custom Critical shipments.

unitsstring Enum: "KM" "MI"

Field which holds the distance unit type.

valuenumber <double>

Field which holds the value for the distance.
Example: 685.78

consolidationDetailArray of objects (ConsolidationDetail)

Indicates the consolidation details.

Array
timeStampstring

The timestamp for the consolidation.
Example: 2020-10-13T03:54:44-06:00

consolidationIDstring

The identifier for the consolidation.
Example: 47936927

reasonDetailobject

Specifies the reason details for the consolidation event for a package.

packageCountinteger <int32>

Specifies the package count for the consolidation.
Example: 25

eventTypestring

Specifies the consolidation event type for a package. A package can be ADDED to, REMOVED from, or EXCLUDED from a consolidation.
Example: PACKAGE_ADDED_TO_CONSOLIDATION

meterNumberstring

The associated meter number for your FedEx account number. Maximum of 9 characters.
Example: 8468376

returnDetailobject (ReturnDetail)

Specifies return information related to a return shipment.

authorizationNamestring

Name of person authorizing the return, entered by the customer.

reasonDetailArray of objects (ReasonDetail)

Specifies the return reason details.

Array
descriptionstring

Field which holds the reason description.
Example: Wrong color

typestring

Field which holds the reason type.
Example: REJECTED

serviceDetailobject (ServiceDescriptionDetail)

This object contains service description details for the package.

descriptionstring

Field which holds the text description of the service type of this package.
Example: FedEx Freight Economy

shortDescriptionstring

Field which holds the abbreviated text description of the service type of this package.
Example: FL

typestring

This is the service type.
Example: FEDEX_FREIGHT_ECONOMY
Click here to see Service Types

destinationLocationobject

Location details for the FedEx facility where the package will be or has been delivered.

locationIdstring

Location Identification for facilities identified by an alpha numeric location code. Passing Location Id of the Hold at Location (HAL) address is strongly recommended to ensure packages are delivered to the correct address.
Example: SEA

locationContactAndAddress required object (ContactAndAddress_1)

Location Contact And Address.

contact required object (ContactVO_1)

Indicate the contact details for this package.
Note: contact is shown in response only in secured flow. For non secured flow, contact is not shown in the response.'

personNamestring

Identifies the contact person's name. Max Length is 70.
Example: John Taylor

phoneNumberstring

Identifies the phone number associated with this contact. Max length is 15.
Example: '1234567890'

companyNamestring

Identifies the company this contact is associated with. Max length is 35.
Example: Fedex

address required object

Required.

Descriptive data for a physical location. may be used as an actual physical address(place to which one could go), or a container of 'address parts' which should be handled as a unit(such as a city-state-zip combination within the US).

Conditional when used with Payor object. Required if entering using RECIPIENT or THIRD_PARTY. Required if not-authenticated and SENDER is selected

classificationstring

Specifies the FedEx classification type for an address.
Valid values are BUSINESS, RESIDENTIAL, MIXED, UNKNOWN.
Example: BUSINESS

residentialboolean Enum: true false

Placeholder to indicate whether the address is residential (as opposed to commercial).

streetLines required Array of strings

Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.
Example: ["1043 North Easy Street", "Suite 999"].
Note: Street lines is shown in response only in secured flow. For non secured flow, street lines is not shown in the response.

citystring

Conditional
The name of the city, town, etc.
Example: SEATTLE

urbanizationCodestring

Relevant only to addresses in Puerto Rico, where multiple addresses within the same postal code can have the same house number and street name. When this is the case, the urbanization code is needed to distinguish them.
Example: RAFAEL

stateOrProvinceCodestring

This is a placeholder for State or Province code.
Example: CA
Click here to see State/Province Code

postalCodestring

Placeholder to specify postal code for the address. Postal Code is required for postal-aware countries.
Example: 98101
Click here to see Postal aware countries

countryCode required string

Placeholder for country code (2 characters) for the address.
Example: US
Click here to see Country Codes

locationType required string Enum: "FEDEX_AUTHORIZED_SHIP_CENTER" "FEDEX_OFFICE" "FEDEX_SELF_SERVICE_LOCATION" "FEDEX_STAFFED" "RETAIL_ALLICANCE_LOCATION" "FEDEX_GROUND_TERMINAL" "FEDEX_ONSITE"

The FedEx Location Type.
Example: PICKUP_LOCTION

latestStatusDetailobject (StatusDetail)

Specifies details about the status of the track information for the shipment being tracked. AncilliaryDetails may also be available which describe the cause of exception along with any action that needs to taken by customer.

scanLocationobject

Address information related to the associated Status.

classificationstring

Specifies the FedEx classification type for an address.
Valid values are BUSINESS, RESIDENTIAL, MIXED, UNKNOWN.
Example: BUSINESS

residentialboolean Enum: true false

Placeholder to indicate whether the address is residential (as opposed to commercial).

streetLines required Array of strings

Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.
Example: ["1043 North Easy Street", "Suite 999"]

citystring

Conditional
The name of the city, town, etc.
Example: SEATTLE

urbanizationCodestring

Relevant only to addresses in Puerto Rico, where multiple addresses within the same postal code can have the same house number and street name. When this is the case, the urbanization code is needed to distinguish them.
Example: RAFAEL

stateOrProvinceCodestring

This is a placeholder for State or Province code.
Example: CA
Click here to see State/Province Code

postalCodestring

Placeholder to specify postal code for the address. Postal Code is required for postal-aware countries.
Example: 98101
Click here to see Postal aware countries

countryCode required string

Placeholder for country code (2 characters) for the address.
Example: US
Click here to see Country Codes

countryNamestring

Field holds the fully spelled out name of a country.
Example: United States

codestring

A code that identifies this type of status.
Example:PU

derivedCodestring

This is the latest tracking derived code.
Example: PU

ancillaryDetailsArray of objects (StatusAncillaryDetail)

Specifies the cause of exception along with any action that needs to taken by customer.

Array
reasonstring

Field which holds Reason code associated to the status of the shipment being tracked.
Example: 15

reasonDescriptionstring

Field which holds Reason description associated to the status of the shipment being tracked.
Example: Customer not available or business closed

actionstring

Field which holds recommended action for customer to resolve reason.
Example: Contact us at http://www.fedex.com/us/customersupport/call/index.html to discuss possible delivery or pickup alternatives.

actionDescriptionstring

Field which holds recommended action description for customer to resolve reason.
Example: Customer not Available or Business Closed

statusByLocalestring

This is the latest tracking status by locale.
Example: Picked up

descriptionstring

A human-readable description of this status.
Example: Picked up

delayDetailobject (DelayDetail)

Specifies the information about delays.

typestring Enum: "WEATHER" "OPERATIONAL" "LOCAL" "GENERAL" "CLEARANCE"

Specifies the type of delay.

subTypestring Enum: "SNOW" "TORNADO" "EARTHQUAKE etc"

Specifies the subType of delay.

statusstring Enum: "DELAYED" "ON_TIME" "EARLY"

Specifies the status of package indicating whether a package is arriving early or is on time or has been delayed.

serviceCommitMessageobject (ServiceCommitMessage)

Commitment message for this package. Informative messages related to the package. Used to convey information such as FedEx has received information about a package but has not yet taken possession of it. FedEx has handed the package off to a third party for final delivery. The package delivery has been cancelled.

messagestring

Field which holds the commitment message for this package.
Example: No scheduled delivery date available at this time.

typestring Enum: "BROKER_DELIVERED_DESCRIPTION" "CANCELLED_DESCRIPTION" "DELIVERY_IN_MULTIPLE_PIECE_SHIPMENT" "ESTIMATED_DELIVERY_DATE_UNAVAILABLE" "EXCEPTION_IN_MULTIPLE_PIECE_SHIPMENT" "FINAL_DELIVERY_ATTEMPTED" "FIRST_DELIVERY_ATTEMPTED" "HELD_PACKAGE_AVAILABLE_FOR_RECIPIENT_PICKUP" "HELD_PACKAGE_AVAILABLE_FOR_RECIPIENT_PICKUP_WITH_ADDRESS" "HELD_PACKAGE_NOT_AVAILABLE_FOR_RECIPIENT_PICKUP" "SHIPMENT_LABEL_CREATED" "SUBSEQUENT_DELIVERY_ATTEMPTED" "USPS_DELIVERED" "USPS_DELIVERING\""

Field which holds the type of service commit message.
Example: ESTIMATED_DELIVERY_DATE_UNAVAILABLE

informationNotesArray of objects (InformationNoteDetail)

Notifications to the end user that provide additional information relevant to the tracked shipment. For example, a notification may indicate that a change in behavior has occurred.

Array
codestring

Field which holds the code that designates the type of informational message being returned.
Example: 'CLEARANCE_ENTRY_FEE_APPLIES'

descriptionstring

Field which holds the The informational message in human readable form.
Example: this is an informational message

errorobject (CXSError)

Contains error details.

codestring

Error Code.
Example: TRACKING.TRACKINGNUMBER.EMPTY

parameterListArray of objects (Parameter)

List of parameters.

Array
valuestring

Identifies the error option to be applied.
Example: value

keystring

Indicates the value associated with the key.
Example: key

messagestring

Error Message.
Example: Please provide tracking number.

specialHandlingsArray of objects (TrackSpecialHandling)

Indicate the special handlings on the package being tracked. Includes Special handlings requested for the package like signature options, Broker select or COD etc.
Click here to see FedEx Express Special Handling Codes.

Array
descriptionstring

Field which holds the text description of the special handling code.
Example: Deliver Weekday

typestring

Field which holds type representing the special handling.
Example: DELIVER_WEEKDAY

paymentTypestring

Field which holds information about the payment handling related to the special handling.
Example: OTHER

availableImagesArray of objects (AvailableImagesDetail)

The available tracking documents for the shipment being tracked. Available tracking documents includes SPOD and Bill of lading.

Array
sizestring Enum: "SMALL" "LARGE"

Field which holds the size of available images for the shipment being tracked. Example: LARGE

typestring Enum: "SIGNATURE_PROOF_OF_DELIVERY" "BILL_OF_LADING"

Field which holds the type of available images for the shipment being tracked.
Example: BILL_OF_LADING

deliveryDetailsobject (DeliveryDetails)

Delivery related information for the tracked package. Provides delivery details as actual delivery address once the package is delivered, the number of delivery attempts made etc.

receivedByNamestring

Field which holds the name of the person who received the package, if applicable.
Example: Receiver

destinationServiceAreastring

Field which holds the destination service area code.
Example: EDDUNAVAILABLE

destinationServiceAreaDescriptionstring

Field which holds the description corresponding to the destination service area.
Example: Appointment Required

locationDescriptionstring

Field which holds the FedEx location description for the package destination.
Example: Receptionist/Front Desk

actualDeliveryAddressobject (AddressVO)

Address where the package was actually delivered. Contrast with destinationAddress, which is the location to which the package was intended to be delivered. Addresses may differ due to delivery to a behavior, hold at FedEx location, etc.

classificationstring

Specifies the FedEx classification type for an address.
Valid values are BUSINESS, RESIDENTIAL, MIXED, UNKNOWN.
Example: BUSINESS

residentialboolean Enum: true false

Placeholder to indicate whether the address is residential (as opposed to commercial).

streetLines required Array of strings

Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.
Example: ["1043 North Easy Street", "Suite 999"]

citystring

Conditional
The name of the city, town, etc.
Example: SEATTLE

urbanizationCodestring

Relevant only to addresses in Puerto Rico, where multiple addresses within the same postal code can have the same house number and street name. When this is the case, the urbanization code is needed to distinguish them.
Example: RAFAEL

stateOrProvinceCodestring

This is a placeholder for State or Province code.
Example: CA
Click here to see State/Province Code

postalCodestring

Placeholder to specify postal code for the address. Postal Code is required for postal-aware countries.
Example: 98101
Click here to see Postal aware countries

countryCode required string

Placeholder for country code (2 characters) for the address.
Example: US
Click here to see Country Codes

countryNamestring

Field holds the fully spelled out name of a country.
Example: United States

deliveryTodayboolean

This element indicates whether the package will be delivered today. The value 'True', indicates that today is package delivery.
Example: true

locationTypestring

Field which holds the FedEx location type code for the package destination.
Example: FEDEX_EXPRESS_STATION

signedByNamestring

Field which holds the name of the person who signed for the package, if applicable.
Example: Reciever

officeOrderDeliveryMethodstring

Field which identifies the method of office order delivery. 'Pickup' - the recipient will be picking up the office order from the FedEx Office Center. 'Shipment' - the office order will be delivered to the recipient as a FedEx shipment using the FedEx Service Type requested. 'Courier' - the office order will be delivered to the recipient by local courier.
Example: Courier

deliveryAttemptsstring

Field which holds the number of delivery attempts made to deliver the package.
Example: 0

deliveryOptionEligibilityDetailsArray of objects (DeliveryOptionElgibilityDetails)

Specifies eligibility type for the different delivery option.

Array
optionstring Enum: "DISPUTE_DELIVERY" "INDIRECT_SIGNATURE_RELEASE" "REDIRECT_TO_HOLD_AT_LOCATION" "REROUTE" "RESCHEDULE" "RETURN_TO_SHIPPER" "SUPPLEMENT_ADDRESS"

This is the type of delivery option.

Note: For eligibile DISPUTE_DELIVERY, RETURN_TO_SHIPPER, SUPPLEMENT_ADDRESS go to fedex.com to perform the option/action.

Example: INDIRECT_SIGNATURE_RELEASE

eligibilitystring

Eligibility of the customer for the specific delivery options.
Example: INELIGIBLE

scanEventsArray of objects (ScanEvent)

FedEx scan event information for a shipment. Includes the list of events and/or scans applied.

Array
datestring

Date and time of the scan event.
Example: '2018-02-02T12:01:00-07:00'

derivedStatusstring

Field which holds status description of the track information for the scan event.
Example: 'Picked Up'

scanLocationobject

Location Details for the FedEx facility where the scan event occurred.

locationIdstring

Location Identification for facilities identified by an alpha numeric location code. Passing Location Id of the Hold at Location (HAL) address is strongly recommended to ensure packages are delivered to the correct address.
Example: SEA

locationContactAndAddress required object (ContactAndAddress_1)

Location Contact And Address.

contact required object (ContactVO_1)

Indicate the contact details for this package.
Note: contact is shown in response only in secured flow. For non secured flow, contact is not shown in the response.'

personNamestring

Identifies the contact person's name. Max Length is 70.
Example: John Taylor

phoneNumberstring

Identifies the phone number associated with this contact. Max length is 15.
Example: '1234567890'

companyNamestring

Identifies the company this contact is associated with. Max length is 35.
Example: Fedex

address required object

Required.

Descriptive data for a physical location. may be used as an actual physical address(place to which one could go), or a container of 'address parts' which should be handled as a unit(such as a city-state-zip combination within the US).

Conditional when used with Payor object. Required if entering using RECIPIENT or THIRD_PARTY. Required if not-authenticated and SENDER is selected

classificationstring

Specifies the FedEx classification type for an address.
Valid values are BUSINESS, RESIDENTIAL, MIXED, UNKNOWN.
Example: BUSINESS

residentialboolean Enum: true false

Placeholder to indicate whether the address is residential (as opposed to commercial).

streetLines required Array of strings

Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.
Example: ["1043 North Easy Street", "Suite 999"].
Note: Street lines is shown in response only in secured flow. For non secured flow, street lines is not shown in the response.

citystring

Conditional
The name of the city, town, etc.
Example: SEATTLE

urbanizationCodestring

Relevant only to addresses in Puerto Rico, where multiple addresses within the same postal code can have the same house number and street name. When this is the case, the urbanization code is needed to distinguish them.
Example: RAFAEL

stateOrProvinceCodestring

This is a placeholder for State or Province code.
Example: CA
Click here to see State/Province Code

postalCodestring

Placeholder to specify postal code for the address. Postal Code is required for postal-aware countries.
Example: 98101
Click here to see Postal aware countries

countryCode required string

Placeholder for country code (2 characters) for the address.
Example: US
Click here to see Country Codes

locationType required string Enum: "FEDEX_AUTHORIZED_SHIP_CENTER" "FEDEX_OFFICE" "FEDEX_SELF_SERVICE_LOCATION" "FEDEX_STAFFED" "RETAIL_ALLICANCE_LOCATION" "FEDEX_GROUND_TERMINAL" "FEDEX_ONSITE"

The FedEx Location Type.
Example: PICKUP_LOCTION

exceptionDescriptionstring

Field which holds the text description for the exception if the event was an exception .
Example: Package available for clearance

eventDescriptionstring

Field which holds the text description of the scan event.
Example: 'Picked Up'

eventTypestring

Field which holds the code identifying the type of scan event.
Example: 'PU'

derivedStatusCodestring

Field which holds status code of the track information for the scan event.
Example: 'PU'

exceptionCodestring

Field which holds the code identifier for the exception if the event was an exception.
Example: A25

delayDetailobject (DelayDetail)

Specifies the information about delays.

typestring Enum: "WEATHER" "OPERATIONAL" "LOCAL" "GENERAL" "CLEARANCE"

Specifies the type of delay.

subTypestring Enum: "SNOW" "TORNADO" "EARTHQUAKE etc"

Specifies the subType of delay.

statusstring Enum: "DELAYED" "ON_TIME" "EARLY"

Specifies the status of package indicating whether a package is arriving early or is on time or has been delayed.

dateAndTimesArray of objects (TrackingDateAndTime)

Date and time information for the tracked shipment. Date and time information for the tracked shipment includes various type of date time including when the package was shipped, when it is expected to deliver, when it is actually delivered etc.

Array
dateTimestring

Field which holds the tracking date or timestamp in ISO format.
Format: YYYY-MM-DD
Example: '2019-05-07'

typestring Enum: "ACTUAL_DELIVERY" "ACTUAL_PICKUP" "ACTUAL_TENDER" "ANTICIPATED_TENDER" "APPOINTMENT_DELIVERY" "ATTEMPTED_DELIVERY" "COMMITMENT" "ESTIMATED_ARRIVAL_AT_GATEWAY" "ESTIMATED_DELIVERY" "ESTIMATED_PICKUP" "ESTIMATED_RETURN_TO_STATION" "SHIP" "SHIPMENT_DATA_RECEIVED"

Field which holds information about the type of tracking date or timestamp.
Example: 'ACTUAL_DELIVERY'

packageDetailsobject (PackageDetail)

Details of the packages in the shipment being tracked. Includes details like package type, weight, dimensions, declared value, etc.

physicalPackagingTypestring

Indicate the physical package type for non-Express shipments.
Click here to see Available Types

sequenceNumberstring

Field which holds the number representing which package in a multi-piece shipment applies to this TrackDetail.
Example: 45

undeliveredCountstring

Field which holds information about total count of the undelivered packages in the shipment.
Example: 7

packagingDescriptionobject (PackagingDescription)

Description of the packaging used for this shipment.

descriptionstring

Indicate the packaging type description.
Example: FedEx Pak

typestring

Indicate the packaging type.
Click here to see Package Types

countstring

Field which holds the total number of pieces in the shipment which includes the package represented by this TrackDetail.
Example: 1

weightAndDimensionsobject (TrackingWeightAndDimensions)

Field which holds the weight and dimension information.

weightArray of objects (Weight)

Field which holds the weight of the package.

Array
unitstring Enum: "KG" "LB"

This is package weight type.

valuestring

This is package weight. Max. Length is 99999.
Example: 22222.0

dimensionsArray of objects (Dimensions)

Indicate the dimensions of the package.
Following conditions will apply:

  • Dimensions are optional but when added, then all three dimensions must be indicated.
  • Dimensions are required with YOUR_PACKAGING package type.
Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.

Array
lengthinteger <int32>

Indicate the length of the package. No implied decimal places. Maximum value: 999
Example: 20

widthinteger <int32>

Indicate the width of the package. No implied decimal places. Maximum value: 999
Example: 10

heightinteger <int32>

Indicate the height of the package. No implied decimal places. Maximum value: 999
Example: 10

unitsstring Enum: "CM" "IN"

Unit of measure for the provided dimensions.
Valid Values are IN - inches, CM - centimeters.
Note: Any value other than CM including blank/null will default to IN.
Example: CM

packageContentArray of strings

Field which holds information about the package content of the shipment. Populated for secure users only.
Example: wire hangers.

contentPieceCountstring

Field which holds information about total count of the packages in the shipment.
Example: 100

declaredValueobject

This is the declared value. Declared Value represents FedEx maximum liability in connection with a shipment of that Package, including but not limited to, any loss, damage, delay, misdelivery, any failure to provide information, or misdelivery of information relating to the Shipment.

currencystring

Indicate the currency code.
Example: USD
Click here to see Currency Codes

valuenumber <double>

Field which holds the amount value.
Example: 56.80

goodsClassificationCodestring

Classification codes for the goods in package. Goods classification codes required for clearance purpose.
Example: goodsClassificationCode

holdAtLocationobject

Location details for the Fedex facility holding package for delivery.

locationIdstring

Location Identification for facilities identified by an alpha numeric location code. Passing Location Id of the Hold at Location (HAL) address is strongly recommended to ensure packages are delivered to the correct address.
Example: SEA

locationContactAndAddress required object (ContactAndAddress)

Location Contact And Address.

contact required object (ContactVO)

Indicate the contact details for this package.

personNamestring

Identifies the contact person's name. Max Length is 70.
Example: John Taylor

phoneNumberstring

Identifies the phone number associated with this contact. Max length is 15.
Example: '1234567890'

companyNamestring

Identifies the company this contact is associated with. Max length is 35.
Example: Fedex

address required object

Required.

Descriptive data for a physical location. may be used as an actual physical address(place to which one could go), or a container of 'address parts' which should be handled as a unit(such as a city-state-zip combination within the US).

Conditional when used with Payor object. Required if entering using RECIPIENT or THIRD_PARTY. Required if not-authenticated and SENDER is selected

classificationstring

Specifies the FedEx classification type for an address.
Valid values are BUSINESS, RESIDENTIAL, MIXED, UNKNOWN.
Example: BUSINESS

residentialboolean Enum: true false

Placeholder to indicate whether the address is residential (as opposed to commercial).

streetLines required Array of strings

Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.
Example: ["1043 North Easy Street", "Suite 999"]

citystring

Conditional
The name of the city, town, etc.
Example: SEATTLE

urbanizationCodestring

Relevant only to addresses in Puerto Rico, where multiple addresses within the same postal code can have the same house number and street name. When this is the case, the urbanization code is needed to distinguish them.
Example: RAFAEL

stateOrProvinceCodestring

This is a placeholder for State or Province code.
Example: CA
Click here to see State/Province Code

postalCodestring

Placeholder to specify postal code for the address. Postal Code is required for postal-aware countries.
Example: 98101
Click here to see Postal aware countries

countryCode required string

Placeholder for country code (2 characters) for the address.
Example: US
Click here to see Country Codes

countryNamestring

Field holds the fully spelled out name of a country.
Example: United States

locationType required string Enum: "FEDEX_AUTHORIZED_SHIP_CENTER" "FEDEX_OFFICE" "FEDEX_SELF_SERVICE_LOCATION" "FEDEX_STAFFED" "RETAIL_ALLICANCE_LOCATION" "FEDEX_GROUND_TERMINAL" "FEDEX_ONSITE"

The FedEx Location Type.
Example: PICKUP_LOCTION

customDeliveryOptionsArray of objects (CustomDeliveryOption)

List of delivery options that can be used to customize the delivery of the package.

Array
requestedAppointmentDetailobject (RequestedAppointmentDetail)

Field which specifies the details of the requested appointment.

datestring

Field which holds the requested appointment date.
Format: YYYY-MM-DD
example: '2019-05-07'

windowArray of objects (TimeWindow)

Array of different appointment time windows available on the date specified such as, Morning, afternoon, mid-day.

Array
descriptionstring

Field which describes the time window provided.
Example: Description field

windowobject (TimeRange)

Field which holds a date/timestamp window.

beginsstring

Field which holds the begin date/timestamp for a range.
Example: '2021-10-01T08:00:00'

endsstring

Field which holds the end date/timestamp for a range.
Example: '2021-10-15T00:00:00-06:00'

typestring Enum: "ACTUAL_DELIVERY" "ACTUAL_PICKUP" "ACTUAL_TENDER" "ANTICIPATED_TENDER" "APPOINTMENT_DELIVERY" "ATTEMPTED_DELIVERY" "COMMITMENT" "ESTIMATED_ARRIVAL_AT_GATEWAY" "ESTIMATED_DELIVERY" "ESTIMATED_PICKUP" "ESTIMATED_RETURN_TO_STATION" "SHIP" "SHIPMENT_DATA_RECEIVED"

Field which holds the code representing the description for the time window provided.
Example: ESTIMATED_DELIVERY

descriptionstring

Field which specifies the description of the custom delivery option requested
Example: Redirect the package to the hold location.

typestring Enum: "REROUTE" "APPOINTMENT" "DATE_CERTAIN" "EVENING" "REDIRECT_TO_HOLD_AT_LOCATION" "ELECTRONIC_SIGNATURE_RELEASE"

Field which specifies the type of the custom delivery option requested.
Example: REDIRECT_TO_HOLD_AT_LOCATION

statusstring

Field which specifies the status of the custom delivery option requested.
Example: HELD

estimatedDeliveryTimeWindowobject

The estimated window for time of delivery. May be periodically updated based on available in-flight shipment information.

descriptionstring

Field which describes the time window provided.
Example: Description field

windowobject (TimeRange)

Field which holds a date/timestamp window.

beginsstring

Field which holds the begin date/timestamp for a range.
Example: '2021-10-01T08:00:00'

endsstring

Field which holds the end date/timestamp for a range.
Example: '2021-10-15T00:00:00-06:00'

typestring Enum: "ACTUAL_DELIVERY" "ACTUAL_PICKUP" "ACTUAL_TENDER" "ANTICIPATED_TENDER" "APPOINTMENT_DELIVERY" "ATTEMPTED_DELIVERY" "COMMITMENT" "ESTIMATED_ARRIVAL_AT_GATEWAY" "ESTIMATED_DELIVERY" "ESTIMATED_PICKUP" "ESTIMATED_RETURN_TO_STATION" "SHIP" "SHIPMENT_DATA_RECEIVED"

Field which holds the code representing the description for the time window provided.
Example: ESTIMATED_DELIVERY

pieceCountsArray of objects (PieceCountDetail)

Piece count information at origin and destination.

Array
countstring

Field which holds the piece count.
Example: 35

descriptionstring

Field which holds the piece count description detail.
Example: picec count description

typestring Enum: "DESTINATION" "ORIGIN"

Field which holds the piece count location type.
Example: ORIGIN

originLocationobject (OriginLocation)

Location details for the FedEx facility where the shipment originated.

locationIdstring

Location Identification for facilities identified by an alpha numeric location code. Passing Location Id of the Hold at Location (HAL) address is strongly recommended to ensure packages are delivered to the correct address.
Example: SEA

locationContactAndAddress required object (ContactAndAddress_1)

Location Contact And Address.

contact required object (ContactVO_1)

Indicate the contact details for this package.
Note: contact is shown in response only in secured flow. For non secured flow, contact is not shown in the response.'

personNamestring

Identifies the contact person's name. Max Length is 70.
Example: John Taylor

phoneNumberstring

Identifies the phone number associated with this contact. Max length is 15.
Example: '1234567890'

companyNamestring

Identifies the company this contact is associated with. Max length is 35.
Example: Fedex

address required object

Required.

Descriptive data for a physical location. may be used as an actual physical address(place to which one could go), or a container of 'address parts' which should be handled as a unit(such as a city-state-zip combination within the US).

Conditional when used with Payor object. Required if entering using RECIPIENT or THIRD_PARTY. Required if not-authenticated and SENDER is selected

classificationstring

Specifies the FedEx classification type for an address.
Valid values are BUSINESS, RESIDENTIAL, MIXED, UNKNOWN.
Example: BUSINESS

residentialboolean Enum: true false

Placeholder to indicate whether the address is residential (as opposed to commercial).

streetLines required Array of strings

Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.
Example: ["1043 North Easy Street", "Suite 999"].
Note: Street lines is shown in response only in secured flow. For non secured flow, street lines is not shown in the response.

citystring

Conditional
The name of the city, town, etc.
Example: SEATTLE

urbanizationCodestring

Relevant only to addresses in Puerto Rico, where multiple addresses within the same postal code can have the same house number and street name. When this is the case, the urbanization code is needed to distinguish them.
Example: RAFAEL

stateOrProvinceCodestring

This is a placeholder for State or Province code.
Example: CA
Click here to see State/Province Code

postalCodestring

Placeholder to specify postal code for the address. Postal Code is required for postal-aware countries.
Example: 98101
Click here to see Postal aware countries

countryCode required string

Placeholder for country code (2 characters) for the address.
Example: US
Click here to see Country Codes

locationType required string Enum: "FEDEX_AUTHORIZED_SHIP_CENTER" "FEDEX_OFFICE" "FEDEX_SELF_SERVICE_LOCATION" "FEDEX_STAFFED" "RETAIL_ALLICANCE_LOCATION" "FEDEX_GROUND_TERMINAL" "FEDEX_ONSITE"

The FedEx Location Type.
Example: PICKUP_LOCTION

recipientInformationobject

Contact and address information of recipient.

contact required object (ContactVO)

Indicate the contact details for this package.

personNamestring

Identifies the contact person's name. Max Length is 70.
Example: John Taylor

phoneNumberstring

Identifies the phone number associated with this contact. Max length is 15.
Example: '1234567890'

companyNamestring

Identifies the company this contact is associated with. Max length is 35.
Example: Fedex

address required object

Required.

Descriptive data for a physical location. may be used as an actual physical address(place to which one could go), or a container of 'address parts' which should be handled as a unit(such as a city-state-zip combination within the US).

Conditional when used with Payor object. Required if entering using RECIPIENT or THIRD_PARTY. Required if not-authenticated and SENDER is selected

classificationstring

Specifies the FedEx classification type for an address.
Valid values are BUSINESS, RESIDENTIAL, MIXED, UNKNOWN.
Example: BUSINESS

residentialboolean Enum: true false

Placeholder to indicate whether the address is residential (as opposed to commercial).

streetLines required Array of strings

Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.
Example: ["1043 North Easy Street", "Suite 999"]

citystring

Conditional
The name of the city, town, etc.
Example: SEATTLE

urbanizationCodestring

Relevant only to addresses in Puerto Rico, where multiple addresses within the same postal code can have the same house number and street name. When this is the case, the urbanization code is needed to distinguish them.
Example: RAFAEL

stateOrProvinceCodestring

This is a placeholder for State or Province code.
Example: CA
Click here to see State/Province Code

postalCodestring

Placeholder to specify postal code for the address. Postal Code is required for postal-aware countries.
Example: 98101
Click here to see Postal aware countries

countryCode required string

Placeholder for country code (2 characters) for the address.
Example: US
Click here to see Country Codes

countryNamestring

Field holds the fully spelled out name of a country.
Example: United States

standardTransitTimeWindowobject

The standard committed window of time by which the package is expected to be delivered.

descriptionstring

Field which describes the time window provided.
Example: Description field

windowobject (TimeRange)

Field which holds a date/timestamp window.

beginsstring

Field which holds the begin date/timestamp for a range.
Example: '2021-10-01T08:00:00'

endsstring

Field which holds the end date/timestamp for a range.
Example: '2021-10-15T00:00:00-06:00'

typestring Enum: "ACTUAL_DELIVERY" "ACTUAL_PICKUP" "ACTUAL_TENDER" "ANTICIPATED_TENDER" "APPOINTMENT_DELIVERY" "ATTEMPTED_DELIVERY" "COMMITMENT" "ESTIMATED_ARRIVAL_AT_GATEWAY" "ESTIMATED_DELIVERY" "ESTIMATED_PICKUP" "ESTIMATED_RETURN_TO_STATION" "SHIP" "SHIPMENT_DATA_RECEIVED"

Field which holds the code representing the description for the time window provided.
Example: ESTIMATED_DELIVERY

shipmentDetailsobject (TrackShipmentDetail)

Shipment level details for the shipment being tracked. Includes overall shipment weight, contents etc.

contentsArray of objects (ShipmentContent)

Field which holds information about contents of the shipment. Populated for secure users only.

Array
itemNumberstring

Field holds the item number for the contents of shipment.
Example: RZ5678

receivedQuantitystring

Field which holds information about the quantity received.
Example: 13

descriptionstring

Field which holds informative description about shipment content.
Example: pulyurethane rope

partNumberstring

Holds the part number of the content in shipment.
Example: RK1345

beforePossessionStatusboolean

Indicates the shipment is not yet in FedEx possession, but is still in shipper's possession.
Example: false

weightArray of objects (Weight)

Array of package level weights, which represent the total weight of the shipment.

Array
unitstring Enum: "KG" "LB"

This is package weight type.

valuestring

This is package weight. Max. Length is 99999.
Example: 22222.0

contentPieceCountstring

Field which holds information about content piece count of the shipment.
Example: 3333

splitShipmentsArray of objects (TrackSplitShipment)

Field which holds information about split shipments.

Array
pieceCountstring

Field which holds the number of pieces in the part.
Example: 10

statusDescriptionstring

Field which holds human-readable description of the status.
Example: status

timestampstring

Field which holds the date and time the status began.
Example: '2019-05-07T08:00:07'

statusCodestring

Field which holds the status code.
Example: statusCode

reasonDetailobject (ReasonDetail)

This object contains reason description and type.

descriptionstring

Field which holds the reason description.
Example: Wrong color

typestring

Field which holds the reason type.
Example: REJECTED

availableNotificationsArray of strings

The types of email notifications that are available for the package.
Example:ON_DELIVERY

shipperInformationobject

Contact and address information of shipper.

contact required object (ContactVO)

Indicate the contact details for this package.

personNamestring

Identifies the contact person's name. Max Length is 70.
Example: John Taylor

phoneNumberstring

Identifies the phone number associated with this contact. Max length is 15.
Example: '1234567890'

companyNamestring

Identifies the company this contact is associated with. Max length is 35.
Example: Fedex

address required object

Required.

Descriptive data for a physical location. may be used as an actual physical address(place to which one could go), or a container of 'address parts' which should be handled as a unit(such as a city-state-zip combination within the US).

Conditional when used with Payor object. Required if entering using RECIPIENT or THIRD_PARTY. Required if not-authenticated and SENDER is selected

classificationstring

Specifies the FedEx classification type for an address.
Valid values are BUSINESS, RESIDENTIAL, MIXED, UNKNOWN.
Example: BUSINESS

residentialboolean Enum: true false

Placeholder to indicate whether the address is residential (as opposed to commercial).

streetLines required Array of strings

Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.
Example: ["1043 North Easy Street", "Suite 999"]

citystring

Conditional
The name of the city, town, etc.
Example: SEATTLE

urbanizationCodestring

Relevant only to addresses in Puerto Rico, where multiple addresses within the same postal code can have the same house number and street name. When this is the case, the urbanization code is needed to distinguish them.
Example: RAFAEL

stateOrProvinceCodestring

This is a placeholder for State or Province code.
Example: CA
Click here to see State/Province Code

postalCodestring

Placeholder to specify postal code for the address. Postal Code is required for postal-aware countries.
Example: 98101
Click here to see Postal aware countries

countryCode required string

Placeholder for country code (2 characters) for the address.
Example: US
Click here to see Country Codes

countryNamestring

Field holds the fully spelled out name of a country.
Example: United States

lastUpdatedDestinationAddressobject

Last updated delivery address for the package.

classificationstring

Specifies the FedEx classification type for an address.
Valid values are BUSINESS, RESIDENTIAL, MIXED, UNKNOWN.
Example: BUSINESS

residentialboolean Enum: true false

Placeholder to indicate whether the address is residential (as opposed to commercial).

streetLines required Array of strings

Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.
Example: ["1043 North Easy Street", "Suite 999"]

citystring

Conditional
The name of the city, town, etc.
Example: SEATTLE

urbanizationCodestring

Relevant only to addresses in Puerto Rico, where multiple addresses within the same postal code can have the same house number and street name. When this is the case, the urbanization code is needed to distinguish them.
Example: RAFAEL

stateOrProvinceCodestring

This is a placeholder for State or Province code.
Example: CA
Click here to see State/Province Code

postalCodestring

Placeholder to specify postal code for the address. Postal Code is required for postal-aware countries.
Example: 98101
Click here to see Postal aware countries

countryCode required string

Placeholder for country code (2 characters) for the address.
Example: US
Click here to see Country Codes

countryNamestring

Field holds the fully spelled out name of a country.
Example: United States

alertsArray of objects (Alert)

The cxs alert type, alert code and alert message
Example: TRACKING.DATA.NOTFOUND - Tracking data unavailable

Array
codestring

Specifies the api alert code.

alertTypestring Enum: "NOTE" "WARNING"

Specifies the api alert type.

messagestring

Specifies the api alert message.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdditionalTrackingInfo

type AdditionalTrackingInfo struct {
	HasAssociatedShipments bool                `json:"hasAssociatedShipments"`
	Nickname               string              `json:"nickname"`
	PackageIdentifiers     []PackageIdentifier `json:"packageIdentifiers"`
	ShipmentNotes          string              `json:"shipmentNotes"`
}

type Address

type Address struct {
	Classification      string   `json:"classification"`
	Residential         bool     `json:"residential"`
	StreetLines         []string `json:"streetLines"`
	City                string   `json:"city"`
	UrbanizationCode    string   `json:"urbanizationCode"`
	StateOrProvinceCode string   `json:"stateOrProvinceCode"`
	PostalCode          string   `json:"postalCode"`
	CountryCode         string   `json:"countryCode"`
	CountryName         string   `json:"countryName"`
}

type AncillaryDetail

type AncillaryDetail struct {
	Reason            string `json:"reason"`
	ReasonDescription string `json:"reasonDescription"`
	Action            string `json:"action"`
	ActionDescription string `json:"actionDescription"`
}

type Api

type Api struct {
	// contains filtered or unexported fields
}

func NewApi

func NewApi(apiURL, apiKey, grantType, shippingAccount string) *Api

func (*Api) TrackByTrackingNumber

func (api *Api) TrackByTrackingNumber(trackingRequest TrackingRequest) (*TrackingResponse, error)

type AvailableImage

type AvailableImage struct {
	Size string `json:"size"`
	Type string `json:"type"`
}

type Carrier

type Carrier struct {
	// contains filtered or unexported fields
}

func NewCarrier

func NewCarrier(api api) *Carrier

func (*Carrier) Detect

func (c *Carrier) Detect(trackId string) bool

func (*Carrier) Track

func (c *Carrier) Track(trackNumbers []string) ([]carriers.Parcel, error)

type CompleteTrackResult

type CompleteTrackResult struct {
	TrackingNumber string        `json:"trackingNumber"`
	TrackResults   []TrackResult `json:"trackResults"`
}

type ConsolidationDetail

type ConsolidationDetail struct {
	TimeStamp       time.Time    `json:"timeStamp"`
	ConsolidationID string       `json:"consolidationID"`
	ReasonDetail    ReasonDetail `json:"reasonDetail"`
	PackageCount    int          `json:"packageCount"`
	EventType       string       `json:"eventType"`
}

type Contact

type Contact struct {
	PersonName  string `json:"personName"`
	PhoneNumber string `json:"phoneNumber"`
	CompanyName string `json:"companyName"`
}

type ContactAndAddress

type ContactAndAddress struct {
	Contact Contact `json:"contact"`
	Address Address `json:"address"`
}

type Content

type Content struct {
	ItemNumber       string `json:"itemNumber"`
	ReceivedQuantity string `json:"receivedQuantity"`
	Description      string `json:"description"`
	PartNumber       string `json:"partNumber"`
}

type CustomDeliveryOption

type CustomDeliveryOption struct {
	RequestedAppointmentDetail RequestedAppointmentDetail `json:"requestedAppointmentDetail"`
	Description                string                     `json:"description"`
	Type                       string                     `json:"type"`
	Status                     string                     `json:"status"`
}

type DateAndTime

type DateAndTime struct {
	DateTime string `json:"dateTime"`
	Type     string `json:"type"`
}

type DeclaredValue

type DeclaredValue struct {
	Currency string  `json:"currency"`
	Value    float64 `json:"value"`
}

type DelayDetail

type DelayDetail struct {
	Type    string `json:"type"`
	SubType string `json:"subType"`
	Status  string `json:"status"`
}

type DeliveryDetails

type DeliveryDetails struct {
	ReceivedByName                    string                            `json:"receivedByName"`
	DestinationServiceArea            string                            `json:"destinationServiceArea"`
	DestinationServiceAreaDescription string                            `json:"destinationServiceAreaDescription"`
	LocationDescription               string                            `json:"locationDescription"`
	ActualDeliveryAddress             Address                           `json:"actualDeliveryAddress"`
	DeliveryToday                     bool                              `json:"deliveryToday"`
	LocationType                      string                            `json:"locationType"`
	SignedByName                      string                            `json:"signedByName"`
	OfficeOrderDeliveryMethod         string                            `json:"officeOrderDeliveryMethod"`
	DeliveryAttempts                  string                            `json:"deliveryAttempts"`
	DeliveryOptionEligibilityDetails  []DeliveryOptionEligibilityDetail `json:"deliveryOptionEligibilityDetails"`
}

type DeliveryOptionEligibilityDetail

type DeliveryOptionEligibilityDetail struct {
	Option      string `json:"option"`
	Eligibility string `json:"eligibility"`
}

type DescriptionWindow

type DescriptionWindow struct {
	Description string `json:"description"`
	Window      Window `json:"window"`
	Type        string `json:"type"`
}

type DestinationLocation

type DestinationLocation struct {
	LocationId                string            `json:"locationId"`
	LocationContactAndAddress ContactAndAddress `json:"locationContactAndAddress"`
	LocationType              string            `json:"locationType"`
}

type Dimension

type Dimension struct {
	Length int    `json:"length"`
	Width  int    `json:"width"`
	Height int    `json:"height"`
	Units  string `json:"units"`
}

type DistanceToDestination

type DistanceToDestination struct {
	Units string  `json:"units"`
	Value float64 `json:"value"`
}

type Error

type Error struct {
	Code          string          `json:"code"`
	Message       string          `json:"message"`
	ParameterList []ParameterList `json:"parameterList"`
}

type Expires

type Expires struct {
	time.Time
}

func (*Expires) UnmarshalJSON

func (e *Expires) UnmarshalJSON(b []byte) error

type HoldAtLocation

type HoldAtLocation struct {
	LocationId                string            `json:"locationId"`
	LocationContactAndAddress ContactAndAddress `json:"locationContactAndAddress"`
	LocationType              string            `json:"locationType"`
}

type InformationNote

type InformationNote struct {
	Code        string `json:"code"`
	Description string `json:"description"`
}

type LatestStatusDetail

type LatestStatusDetail struct {
	ScanLocation     Address           `json:"scanLocation"`
	Code             string            `json:"code"`
	DerivedCode      string            `json:"derivedCode"`
	AncillaryDetails []AncillaryDetail `json:"ancillaryDetails"`
	StatusByLocale   string            `json:"statusByLocale"`
	Description      string            `json:"description"`
	DelayDetail      DelayDetail       `json:"delayDetail"`
}

type OriginLocation

type OriginLocation struct {
	LocationId                string            `json:"locationId"`
	LocationContactAndAddress ContactAndAddress `json:"locationContactAndAddress"`
	LocationType              string            `json:"locationType"`
}

type Output

type Output struct {
	CompleteTrackResults []CompleteTrackResult `json:"completeTrackResults"`
	Alerts               string                `json:"alerts"`
}

type PackageDetails

type PackageDetails struct {
	PhysicalPackagingType string               `json:"physicalPackagingType"`
	SequenceNumber        string               `json:"sequenceNumber"`
	UndeliveredCount      string               `json:"undeliveredCount"`
	PackagingDescription  PackagingDescription `json:"packagingDescription"`
	Count                 string               `json:"count"`
	WeightAndDimensions   WeightAndDimensions  `json:"weightAndDimensions"`
	PackageContent        []string             `json:"packageContent"`
	ContentPieceCount     string               `json:"contentPieceCount"`
	DeclaredValue         DeclaredValue        `json:"declaredValue"`
}

type PackageIdentifier

type PackageIdentifier struct {
	Type                   string `json:"type"`
	Value                  string `json:"value"`
	TrackingNumberUniqueId string `json:"trackingNumberUniqueId"`
}

type PackagingDescription

type PackagingDescription struct {
	Description string `json:"description"`
	Type        string `json:"type"`
}

type ParameterList

type ParameterList struct {
	Value string `json:"value"`
	Key   string `json:"key"`
}

type PieceCount

type PieceCount struct {
	Count       string `json:"count"`
	Description string `json:"description"`
	Type        string `json:"type"`
}

type ReasonDetail

type ReasonDetail struct {
	Description string `json:"description"`
	Type        string `json:"type"`
}

type RequestedAppointmentDetail

type RequestedAppointmentDetail struct {
	Date   string              `json:"date"`
	Window []DescriptionWindow `json:"window"`
}

type Response

type Response struct {
	TransactionId         string  `json:"transactionId"`
	CustomerTransactionId string  `json:"customerTransactionId"`
	Errors                []Error `json:"errors"`
}

type ReturnDetail

type ReturnDetail struct {
	AuthorizationName string         `json:"authorizationName"`
	ReasonDetail      []ReasonDetail `json:"reasonDetail"`
}

type ScanEvent

type ScanEvent struct {
	Date                 time.Time         `json:"date"`
	DerivedStatus        string            `json:"derivedStatus"`
	ScanLocation         ScanEventLocation `json:"scanLocation"`
	ExceptionDescription string            `json:"exceptionDescription"`
	EventDescription     string            `json:"eventDescription"`
	EventType            string            `json:"eventType"`
	DerivedStatusCode    string            `json:"derivedStatusCode"`
	ExceptionCode        string            `json:"exceptionCode"`
	DelayDetail          DelayDetail       `json:"delayDetail"`
}

type ScanEventLocation

type ScanEventLocation struct {
	LocationId                string            `json:"locationId"`
	LocationContactAndAddress ContactAndAddress `json:"locationContactAndAddress"`
	LocationType              string            `json:"locationType"`
}

type ServiceCommitMessage

type ServiceCommitMessage struct {
	Message string `json:"message"`
	Type    string `json:"type"`
}

type ServiceDetail

type ServiceDetail struct {
	Description      string `json:"description"`
	ShortDescription string `json:"shortDescription"`
	Type             string `json:"type"`
}

type ShipmentDetails

type ShipmentDetails struct {
	Contents               []Content       `json:"contents"`
	BeforePossessionStatus bool            `json:"beforePossessionStatus"`
	Weight                 []Weight        `json:"weight"`
	ContentPieceCount      string          `json:"contentPieceCount"`
	SplitShipments         []SplitShipment `json:"splitShipments"`
}

type SpecialHandling

type SpecialHandling struct {
	Description string `json:"description"`
	Type        string `json:"type"`
	PaymentType string `json:"paymentType"`
}

type SplitShipment

type SplitShipment struct {
	PieceCount        string `json:"pieceCount"`
	StatusDescription string `json:"statusDescription"`
	Timestamp         string `json:"timestamp"`
	StatusCode        string `json:"statusCode"`
}

type TrackResult

type TrackResult struct {
	TrackingNumberInfo struct {
		TrackingNumber         string `json:"trackingNumber"`
		CarrierCode            string `json:"carrierCode"`
		TrackingNumberUniqueId string `json:"trackingNumberUniqueId"`
	} `json:"trackingNumberInfo"`
	AdditionalTrackingInfo        AdditionalTrackingInfo `json:"additionalTrackingInfo"`
	DistanceToDestination         DistanceToDestination  `json:"distanceToDestination"`
	ConsolidationDetail           []ConsolidationDetail  `json:"consolidationDetail"`
	MeterNumber                   string                 `json:"meterNumber"`
	ReturnDetail                  ReturnDetail           `json:"returnDetail"`
	ServiceDetail                 ServiceDetail          `json:"serviceDetail"`
	DestinationLocation           DestinationLocation    `json:"destinationLocation"`
	LatestStatusDetail            LatestStatusDetail     `json:"latestStatusDetail"`
	ServiceCommitMessage          ServiceCommitMessage   `json:"serviceCommitMessage"`
	InformationNotes              []InformationNote      `json:"informationNotes"`
	Error                         Error                  `json:"error"`
	SpecialHandlings              []SpecialHandling      `json:"specialHandlings"`
	AvailableImages               []AvailableImage       `json:"availableImages"`
	DeliveryDetails               DeliveryDetails        `json:"deliveryDetails"`
	ScanEvents                    []ScanEvent            `json:"scanEvents"`
	DateAndTimes                  []DateAndTime          `json:"dateAndTimes"`
	PackageDetails                PackageDetails         `json:"packageDetails"`
	GoodsClassificationCode       string                 `json:"goodsClassificationCode"`
	HoldAtLocation                HoldAtLocation         `json:"holdAtLocation"`
	CustomDeliveryOptions         []CustomDeliveryOption `json:"customDeliveryOptions"`
	EstimatedDeliveryTimeWindow   DescriptionWindow      `json:"estimatedDeliveryTimeWindow"`
	PieceCounts                   []PieceCount           `json:"pieceCounts"`
	OriginLocation                OriginLocation         `json:"originLocation"`
	RecipientInformation          ContactAndAddress      `json:"recipientInformation"`
	StandardTransitTimeWindow     DescriptionWindow      `json:"standardTransitTimeWindow"`
	ShipmentDetails               ShipmentDetails        `json:"shipmentDetails"`
	ReasonDetail                  ReasonDetail           `json:"reasonDetail"`
	AvailableNotifications        []string               `json:"availableNotifications"`
	ShipperInformation            ContactAndAddress      `json:"shipperInformation"`
	LastUpdatedDestinationAddress Address                `json:"lastUpdatedDestinationAddress"`
}

type TrackingInfo

type TrackingInfo struct {
	ShipDateBegin      string             `json:"shipDateBegin,omitempty"`
	ShipDateEnd        string             `json:"shipDateEnd,omitempty"`
	TrackingNumberInfo TrackingNumberInfo `json:"trackingNumberInfo"`
}

type TrackingNumberInfo

type TrackingNumberInfo struct {
	TrackingNumber         string `json:"trackingNumber"`
	CarrierCode            string `json:"carrierCode,omitempty"`
	TrackingNumberUniqueId string `json:"trackingNumberUniqueId,omitempty"`
}

type TrackingRequest

type TrackingRequest struct {
	IncludeDetailedScans bool           `json:"includeDetailedScans"`
	TrackingInfo         []TrackingInfo `json:"trackingInfo"`
}

type TrackingResponse

type TrackingResponse struct {
	Response
	Output Output `json:"output"`
}

type Weight

type Weight struct {
	Unit  string `json:"unit"`
	Value string `json:"value"`
}

type WeightAndDimensions

type WeightAndDimensions struct {
	Weight     []Weight    `json:"weight"`
	Dimensions []Dimension `json:"dimensions"`
}

type Window

type Window struct {
	Begins string    `json:"begins"`
	Ends   time.Time `json:"ends"`
}

Jump to

Keyboard shortcuts

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