Some online users may be experiencing intermittent technical issues accessing FedEx Freight services. If you encounter any difficulty
in processingyour request, please reattempt later. If the issue persists, please call 866.393.4585 to speak with an agent to handle your LTL Freight shipping need.

Fedex Logo
Developer Portal

Pickup Request API

Introduction

L'API de demande d'enlèvement vous permet de vérifier la disponibilité de l'enlèvement, de désigner un coursier pour l'enlèvement, et d'annuler une demande d'enlèvement.

L'API de demande d'enlèvement concerne les colis nouveaux ou déjà traités dans toutes les régions d'expédition de FedEx Express et de FedEx Ground (envois sortants et entrants). Ce guide détaillé vous apprendra tout ce que vous devez savoir sur l'API de demande d’enlèvement pour vous mettre à niveau.

Détails de l'API de demande d’enlèvement

Vous trouverez ci-dessous les fonctionnalités essentielles liées à l'API de demande d’enlèvement :

Disponibilité pour enlèvement

La disponibilité pour enlèvement vous permet de vérifier la disponibilité du service d'enlèvement en fonction de la demande saisie. La disponibilité pour enlèvement dépend de deux facteurs : l'heure d'arrêt et l'heure d'accès.

Heure limite : heure limite à laquelle un enlèvement peut être planifié. L’heure est locale et correspond au code postal du point d’enlèvement.

Temps d’accès : la durée entre l’heure de début de disponibilité pour enlèvement et l’heure à laquelle le chauffeur est prêt à enlever le colis.

Créer un enlèvement

Cette option vous permet de planifier un enlèvement et concerne les envois nationaux et internationaux FedEx Express® et FedEx Ground®. L’API de demande d’enlèvement FedEx Ground et Express renvoie un numéro de confirmation d’enlèvement ; un code d’emplacement est également renvoyé avec la demande d’enlèvement Express pour l’enlèvement planifié. Vous pouvez également planifier un enlèvement pour un envoi de retour à l’aide de cette API.

La ligne d’adresse de destinataire supplémentaire (ligne d’adresse 3) vous permet d’indiquer des informations plus complètes et plus précises sur le lieu afin d’accélérer la livraison des envois FedEx Express®. Vous pouvez économiser du temps et des efforts en prévoyant un coursier FedEx pour enlever vos colis chez vous ou à un autre endroit, moyennant un supplément.

Annuler l’enlèvement

Cette option vous permet d’annuler un enlèvement déjà planifié. Elle concerne les envois nationaux et internationaux FedEx Express et FedEx Ground. Les enlèvements nationaux et internationaux FedEx Express peuvent être annulés le jour même. Les envois nationaux et internationaux FedEx Ground peuvent être annulés sous 24 heures après l’envoi de la demande d’enlèvement. Si votre envoi a déjà été enlevé, veuillez contacter le Service Clientèle FedEx au 800 FedEx (800 3339) pour procéder à l’annulation.

Détails de la demande d’enlèvement

Demandes d’enlèvement FedEx Express

  • L’heure à laquelle vos colis seront prêts à être enlevés ne doit pas être ultérieure à l’heure limite correspondant au code postal de votre emplacement. Vous pouvez obtenir l’heure limite avec la demande de disponibilité pour enlèvement.
  • Le délai entre le moment où vos colis seront prêts et celui où le coursier ne pourra plus entrer dans les locaux pour enlever les colis ne doit pas être inférieur au « temps d’accès », information que vous pouvez également obtenir avec la demande de disponibilité pour enlèvement.
  • Par exemple : « PT4H0M » indique que le temps d’enlèvement est de 4 heures et 0 minute.

  • Les enlèvements FedEx Express peuvent être planifiés pour le jour ouvrable actuel ou suivant.
  • Le nombre maximal de colis par enlèvement est de 99.
  • Si vous avez déjà un enlèvement planifié régulier, il n’est pas nécessaire de planifier un enlèvement ponctuel ni d’ajouter un autre enlèvement planifié régulier.
  • Vous ne pouvez pas modifier une demande d’enlèvement. Pour modifier une demande, vous devez annuler la demande originale et en saisir une nouvelle.
  • Les systèmes FedEx proposent désormais une fonctionnalité pour les enlèvements nationaux au Royaume-Uni.

Demandes d’enlèvement FedEx Ground

  • Vous pouvez planifier des enlèvements pour le jour ouvrable suivant ou tout jour ouvrable jusqu’à deux semaines à l’avance.
  • Le nombre maximal de colis par demande d’enlèvement est de 99.
  • Si vous avez déjà un enlèvement planifié régulier, il n’est pas nécessaire de planifier un enlèvement ponctuel ni d’ajouter un autre enlèvement planifié régulier.
  • L’enlèvement à une adresse résidentielle est disponible moyennant des frais supplémentaires.
  • Vous ne pouvez pas modifier une demande d’enlèvement. Pour modifier une demande, vous devez annuler la demande originale et en saisir une nouvelle.

Types de services disponibles via l’API de demande d’enlèvement

Enlèvement FedEx Express

Des frais d’enlèvement par un coursier s’appliquent lorsque vous effectuez une demande d’enlèvement FedEx Express, y compris si vous passez par fedex.com ou par le Service Clientèle FedEx.

Enlèvement FedEx Ground

FedEx Ground fournit des services d’enlèvement sur demande moyennant des frais supplémentaires. Pour les clients d’enlèvements planifiés réguliers, nous évaluons les frais d’enlèvement hebdomadaires selon le numéro de compte associé à l’enlèvement planifié régulier.

  • Pour les clients n’ayant pas planifié d’enlèvement régulier, nous évaluons des frais d’enlèvement sur appel par colis. Les frais d’enlèvement sur appel ne s’appliquent pas si vous déposez votre colis à un point d’expédition FedEx. Les frais d’enlèvement sur appel ne s’appliquent pas non plus aux enlèvements avec impression de l’étiquette de retour FedEx Ground® Economy (anciennement FedEx SmartPost®), avec envoi par e-mail de l’étiquette de retour FedEx Ground® Economy (anciennement FedEx SmartPost®) et dans le cadre du programme de retour des colis FedEx Ground®.
  • Pour les clients d’enlèvements planifiés réguliers, FedEx Ground assure un service d’enlèvement sur demande depuis une adresse autre que le lieu d’expédition du numéro de compte FedEx Ground. Un supplément par adresse alternative unique et par semaine est facturé avec ce service.

FedEx Extra Hours

Les services FedEx Extra Hours sont disponibles pour les enlèvements avec transit d’un jour pour le lendemain, du lundi au vendredi, et permettent aux commerçants de prendre en charge les commandes en soirée avec livraison FedEx Express locale le jour suivant.

Pour en savoir plus sur les services disponibles, rendez-vous sur fedex.com.

Fonctionnement de l’API de demande d’enlèvement

L’API de demande d’enlèvement met à votre disposition les options d’enlèvement suivantes :

Vérifier la disponibilité pour enlèvement

Utilisez ce point de terminaison pour demander des informations relatives à la planification des enlèvements disponibles.

Voici les principales informations saisies associées à cette requête :

  • Adresse d’enlèvement/coordonnées postales.
  • Type de demande d’enlèvement (p. ex. : même jour/jour ultérieur).
  • Transporteur FedEx prévu pour l’enlèvement (p. ex. : Express/Ground).
  • Enlèvement international/national.

Une demande réussie renvoie les informations relatives à la planification des enlèvements disponibles, telles que l’heure limite d’enlèvement, la date d’enlèvement, l’heure d’accès pour l’enlèvement, l’heure de disponibilité par défaut et d’autres informations sur la disponibilité des enlèvements. Elle renvoie également des erreurs et leur description en cas d’échec.

Créer un enlèvement

Utilisez ce point de terminaison pour créer une demande d’enlèvement d’un colis.

Voici les principales informations saisies associées à cette requête :

  • Numéro de compte FedEx, auquel l’enlèvement sera facturé.
  • Détails de l’emplacement d’origine (adresse, emplacement et type d’adresse d’enlèvement tel que compte/expéditeur/autre).
  • Transporteur FedEx prévu pour l’enlèvement (Express/Ground).
  • Détails de l’adresse pour le compte associé.

Une requête d’enlèvement sans erreur renvoie un numéro de confirmation d’enlèvement, une notification d’enlèvement et un code d’emplacement pour l’enlèvement planifié. Elle renvoie également des erreurs et leur description en cas d’échec.

Annuler l’enlèvement

Cette requête vous permet d’annuler une demande d’enlèvement de colis déjà planifiée.

Voici les principales informations saisies associées à cette requête :

  • Code de confirmation d’enlèvement (obtenu lors de l’envoi d’une demande d’enlèvement)
  • Transporteur FedEx prévu pour l’enlèvement (p. ex. : Express/Ground)
  • Date prévue (date à laquelle l’enlèvement doit avoir lieu)
  • Emplacement (point FedEx Express responsable du traitement de la demande d’enlèvement)

Une annulation d’enlèvement sans erreur renvoie un numéro de confirmation et un message de confirmation d’annulation de l’enlèvement. Elle renvoie également des erreurs et leur description en cas d’échec.

Remarque : envoyez le code de confirmation d’enlèvement et le code d’emplacement correspondant (concerne uniquement FDXE) pour annuler l’enlèvement planifié. Le numéro de confirmation d’enlèvement et le code d’emplacement correspondant (concerne uniquement FDXE) s’obtiennent lors de l’envoi d’une demande d’enlèvement. Vous recevrez une notification d’échec si vous tentez d’annuler un enlèvement après que le coursier FedEx a été dépêché au lieu d’enlèvement.

Règles commerciales 

  • Pour demander un enlèvement pour un autre pays, incluez l’élément de pays avec le code correspondant au pays où vous souhaitez que FedEx enlève votre envoi.
  • Si votre demande de distribution aboutit sans erreur, FedEx renvoie un numéro de confirmation de distribution. Les demandes de distribution doivent être limitées à une par jour, sauf si vous ajoutez des colis qui excèdent les dimensions ou le poids liés à la demande d’origine.
  • Les demandes de distribution peuvent échouer si vous saisissez une plage horaire insuffisante entre le début de la disponibilité du colis et la fermeture des bureaux. Pour toute question au sujet des heures d’enlèvement, contactez votre ligne d’assistance FedEx régionale.
  • L’API de demande d’enlèvement reconnaît les unités de poids « lb » et « kg ». L’unité de poids choisie doit être la même pour le colis et l’article, sinon, la requête renverra une erreur.
  • Si vous souhaitez réserver un enlèvement comprenant des colis FedEx Express (y compris les expéditions à l’intérieur du Mexique) et FedEx Ground, il vous est demandé de planifier un enlèvement individuel pour chacun des transporteurs.
  • Si votre point d’enlèvement se trouve dans une zone éloignée, veillez à ce que vos colis soient disponibles plus longtemps à l’avance afin de respecter les horaires d’enlèvement dans une zone éloignée.
  • Indiquez toujours la dernière heure à laquelle votre colis peut être enlevé (ou l’heure de fermeture de votre entreprise).
  • Le service d’enlèvement le samedi est proposé dans certains points de dépôt à travers le monde pour vos colis FedEx Express. Vous pouvez également déposer vos envois le samedi dans de nombreux points de dépôt FedEx. Utilisez le point de terminaison Service de points de dépôt pour recevoir une liste des points de dépôt ouverts le samedi.
  • Pour les enlèvements FedEx Ground et FedEx Express, vous pouvez demander une adresse d’enlèvement autre que celle du point d’expédition rattaché à votre numéro de compte FedEx.
  • Si vous souhaitez demander un service d’enlèvement régulier FedEx Express ou FedEx Ground, veuillez contacter votre attaché commercial FedEx.
  • Vous ne pouvez annuler un enlèvement FedEx Express ou FedEx Ground que si :
    • le temps de disponibilité du colis n’est pas encore écoulé, et ;
    • le coursier n’a pas été dépêché.

Collection d’API JSON

Pickup Request API (1.0.0)

Create Pickup

Use this endpoint to create a pickup request for a package.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
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.

Request Body schema: application/json
One of
  • Full_Schema_Create_Pickup
  • Create_Pickup_Ground
  • Create_Pickup_Express
  • MinimumSamplePayload-ExpressFreightPickup
associatedAccountNumber
required
object (AccountNumber)

This is the FedEx account number.
Example: Your account number

originDetail
required
object

The origin address if different than the one associated with the shipper account. This element value is required when the package is to be picked up from an address other than the shipper account address.

associatedAccountNumberType
string

This enumeration represents a kind of legacy account number from a FedEx operating entity for the account number associated to the pickup.
Valid values are: FEDEX_EXPRESS
FEDEX_GROUND

totalWeight
object

Specify The total weight of the packages for the pickup. Unit of measure is LB.

packageCount
integer <int32>

Specify the total number of packages for the pickup.
Example: 5

carrierCode
required
string
Enum: "FDXE" "FDXG"

Specify the four letter code of a FedEx operating company that meets your requirements.
Examples of FedEx Operating Comapnies are :

  • FDXE- FedEx Express
  • FDXG- FedEx Ground
accountAddressOfRecord
object

The city name, state or province code and the address classification associated with the customer account which requested the pickup.

remarks
string

Placeholder for any message to be passed to the FedEx pickup courier.
Note:Maximum length is 60 characters.
Example: Please ring bell at loading dock.

countryRelationships
string
Enum: "DOMESTIC" "INTERNATIONAL"

Describes the country relationship among the shipments being picked up. This element is not mandatory for this request, but when added, the mandatory values are DOMESTIC or INTERNATIONAL. Empty or incorrect values will result in to errors.

pickupType
string

Indicate the pickup type method by which the shipment to be tendered to FedEx.
Note: The value of this element does not specify dispatching the courier for package pickup.
Example: ON_CALL, PACKAGE_RETURN_PROGRAM, REGULAR_STOP
Click here for more information on Pickup Types.

trackingNumber
string

This is a Tracking number for FedEx packages used for tracking a single package or group of packages.
Example: 795803657326
Click here to see mock tracking numbers for FedEx Express and FedEx Ground.

commodityDescription
string

Description of the commodity being shipped.
Example:This field contains Commodity Description.
Click here to see Vague commodity descriptions

expressFreightDetail
object

Placeholder for Express Freight pickup details.

oversizePackageCount
integer <int32>

Specify the number of oversize packages that are tendered to FedEx Ground.

pickupNotificationDetail
object

This object allows user to request for pickup confirmation email. User can specify upto 5 email addresses.

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

post /pickup/v1/pickups

Sandbox Server

https://apis-sandbox.fedex.com/pickup/v1/pickups

Production Server

https://apis.fedex.com/pickup/v1/pickups

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "associatedAccountNumber":
    {
    },
  • "originDetail":
    {
    },
  • "associatedAccountNumberType": "FEDEX_GROUND",
  • "totalWeight":
    {
    },
  • "packageCount": 5,
  • "carrierCode": "FDXE",
  • "accountAddressOfRecord":
    {
    },
  • "remarks": "Please ring bell at loading dock.",
  • "countryRelationships": "DOMESTIC",
  • "pickupType": "ON_CALL, PACKAGE_RETURN_PROGRAM, REGULAR_STOP.",
  • "trackingNumber": "795803657326",
  • "commodityDescription": "This field contains CommodityDescription",
  • "expressFreightDetail":
    {
    },
  • "oversizePackageCount": 2,
  • "pickupNotificationDetail":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}

Check Pickup Availability

Use this endpoint to check the availability of a pickup service.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
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.

Request Body schema: application/json
One of
  • Full_Schema_Pickup_Availability
  • Check_Pickup_Availability_Domestic_Express
  • Check_Pickup_Availability_Domestic_Ground
  • Check_Pickup_Availability_International_Express
pickupAddress
required
object (PickupAddress)

Specify the address for which pickup availability inquiry has been made.

dispatchDate
string

Specify the date the package is to be picked up. The format is YYYY-MM-DD. If left blank, the system considers current date as dispatch date.
Example: 2020-01-01

packageReadyTime
string

Specify the time that the package will be ready for pickup. The time format is HH:MM:SS and it refers to the local timezone. The driver should pick up the package/shipment by the given pickup time.
Example: 15:00:00

customerCloseTime
string

Specify the latest time the driver gets access to pick up the package. The time format is in HH:MM:SS and it refers to the local timezone. The driver should pick up the package by the given pickup time.
Example: 18:00:00

pickupType
string
Enum: "ON_CALL" "TAG"

Indicate the pickup type method by which the shipment to be tendered to FedEx.
Note: The value of this element does not specify dispatching the courier for package pickup.
Click here for more information on Pickup Types.

pickupRequestType
required
Array of strings
Items Enum: "SAME_DAY" "FUTURE_DAY"

Specify pickup request type.

shipmentAttributes
object (ShipmentAttributes)

Specify the shipment details, such as service type, packaging type, weight and dimensions.

Note: serviceType is required for domestic or international pickup availabilities.

numberOfBusinessDays
integer <int32>

Specify number of business days to consider when checking availability.
For example if you are indicating pickupDate for a Saturday and you indicate 3, Saturday, Sunday and Monday will be considered.
Example: 3

packageDetails
Array of objects (RequestedPickupPackageDetail)

This object is used to specify the package details.

associatedAccountNumber
string

The associated account number, which will be invoiced for the pickup.
Example:613787364.

associatedAccountNumberType
string
Enum: "FEDEX_EXPRESS" "FEDEX_GROUND"

This represents a kind of legacy account number from a FedEx operating entity for the account number associated to the pickup.
Valid values are: FEDEX_EXPRESS
FEDEX_GROUND

carriers
required
Array of strings
Items Enum: "FDXE" "FDXG"

Specify the four letter code of a FedEx operating company thet meets your requirements.
Examples of FedEx Operating Companies are:

  • FDXE - FedEx Express
  • FDXG - FedEx Ground

countryRelationship
required
string
Enum: "DOMESTIC" "INTERNATIONAL"

Specify the country relationship among the shipments being picked up. Empty or incorrect values will result in to errors.

Note: shipmentAttributes/serviceType is required for domestic or international pickup availabilities.

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

post /pickup/v1/pickups/availabilities

Sandbox Server

https://apis-sandbox.fedex.com/pickup/v1/pickups/availabilities

Production Server

https://apis.fedex.com/pickup/v1/pickups/availabilities

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "pickupAddress":
    {
    },
  • "dispatchDate": "2020-10-14",
  • "packageReadyTime": "15:30:00",
  • "customerCloseTime": "18:00:00",
  • "pickupType": "ON_CALL",
  • "pickupRequestType":
    [
    ],
  • "shipmentAttributes":
    {
    },
  • "numberOfBusinessDays": 1,
  • "packageDetails":
    [
    ],
  • "associatedAccountNumber": "613787364",
  • "associatedAccountNumberType": "FEDEX_EXPRESS",
  • "carriers":
    [
    ],
  • "countryRelationship": "INTERNATIONAL"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}

Cancel Pickup

Use this endpoint to cancel the already scheduled pickup request.
Note: A failure notification will be sent if you attempt to cancel a pickup after the FedEx courier has been dispatched to the pickup location.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
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.

Request Body schema: application/json
One of
  • Full_Schema_Cancel_Pickup
  • Cancel_Pickup_Ground
  • Cancel_Pickup_Express
associatedAccountNumber
required
object (AccountNumber)

This is the FedEx account number.
Example: Your account number

pickupConfirmationCode
required
string

The confirmation number provided by FedEx to the customer when the pickup was scheduled or requested.
Example: 7

remarks
string

Placeholder for any message to be passed to the FedEx pickup courier.
Note:Maximum length is 60 characters.
Example: Please ring bell at loading dock.

carrierCode
string
Enum: "FDXE" "FDXG"

This is a placeholder to provide the FedEx operating company (transportation) code used for package delivery. Required for FedEx Ground.
Optional for FedEx Express.
The Default is FedEx Express i.e. FDXE.

accountAddressOfRecord
object (AccountAddressOfRecord)

Address details for the associated pickup account. Indicates if the address is residential. Specifies the city name, country code, streetline number, postal code, address verification Identifier, and state or province code.

scheduledDate
required
string

Indicates the date the pickup dispatch occurs.
Format YYYY-MM-DD
Example: 2019-10-15

location
string

The FedEx Express location identifier responsible for processing the pickup request. This is returned in the CreatePickup response and is required to cancel a FedEx Express dispatch.Required only for FedEx Express Pickups. Optional for FedEx Ground. Example: LOSA

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

put /pickup/v1/pickups/cancel

Sandbox Server

https://apis-sandbox.fedex.com/pickup/v1/pickups/cancel

Production Server

https://apis.fedex.com/pickup/v1/pickups/cancel

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "associatedAccountNumber":
    {
    },
  • "pickupConfirmationCode": "7",
  • "remarks": "Please ring bell at loading dock.",
  • "carrierCode": "FDXE",
  • "accountAddressOfRecord":
    {
    },
  • "scheduledDate": "2019-10-15",
  • "location": "LOSA"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}
CLOSE

Response

Copy