Fedex Logo
Developer Portal

Pickup Request API

Introduction

L’API de demande de ramassage vous permet de vérifier la disponibilité du ramassage, de désigner un messager pour ramasser l’envoi et d’annuler une demande de ramassage.

L’API de demande de ramassage concerne les nouveaux colis ou les colis déjà traités FedEx Express et FedEx Ground (à retourner et entrants) dans toutes les régions. Le présent guide détaillé vous apprendra tout ce que vous devez savoir sur l’API de demande de ramassage.

Détails sur l’API de demande de ramassage

Vous trouverez ci-dessous les fonctionnalités clés associées à l’API de demande de ramassage :

Disponibilité du ramassage

La fonctionnalité de disponibilité du ramassage vous permet de vérifier la disponibilité du service de ramassage en fonction de la demande saisie. La disponibilité du ramassage dépend de deux facteurs : l’heure limite et le temps d’accès.

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

Temps d’accès : la durée entre l’heure de début de disponibilité du ramassage (moment où le colis est prêt à être ramassé) et l’heure à laquelle le chauffeur est prêt à ramasser le colis.

Créer un ramassage

Cette option vous permet de planifier un ramassage et concerne les envois intérieurs et internationaux FedEx ExpressMD et FedEx GroundMD. L’API de demande de ramassage FedEx Ground et Express renvoie un numéro de confirmation de ramassage. Un code d’emplacement est également renvoyé avec la demande de ramassage Express pour le ramassage planifié. Vous pouvez également planifier un ramassage pour un envoi à retourner à l’aide de cette API.

Une ligne d’adresse de destinataire supplémentaire (ligne d’adresse 3) vous permet de fournir des détails plus précis et complets sur la destination et d’accélérer ainsi la livraison des envois FedEx ExpressMD. Gagnez du temps et augmentez l’efficacité en planifiant le ramassage des envois par messager FedEx à votre emplacement ou à un autre endroit moyennant un supplément.

Annuler un ramassage

Cette option vous permet d’annuler un ramassage déjà planifié. L’option s’applique aux envois FedEx Express et FedEx Ground intérieurs et internationaux. Les ramassages FedEx Express intérieurs et internationaux peuvent être annulés le jour même. Les envois FedEx Ground intérieurs et internationaux peuvent être annulés 24 heures après la soumission de la demande de ramassage. Si votre envoi a déjà été ramassé, veuillez communiquer avec le Service à la clientèle de FedEx au 800 FedEx (800 3339) pour procéder à l’annulation.

Détails sur les demandes de ramassage

Demandes de ramassage FedEx Express

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

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

Demandes de ramassage FedEx Ground

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

Types de services disponibles via l’API de demande de ramassage

Ramassage FedEx Express

Des frais de ramassage par messager s’appliquent lorsque vous effectuez une demande de ramassage FedEx Express, y compris lorsque cette demande est faite via fedex.ca ou en communiquant avec le Service à la clientèle de FedEx.

Ramassage FedEx Ground

FedEx Ground fournit des services de ramassage sur demande moyennant des frais supplémentaires. Pour les clients qui bénéficient d’un service de ramassage planifié régulier, nous évaluons les frais de ramassage hebdomadaires selon le numéro de compte associé à ce service.

  • Dans le cas des clients qui n’ont pas de ramassage planifié régulier, nous facturons des frais de ramassage sur appel, par colis. Les frais de ramassage sur appel ne s’appliquent pas si vous déposez votre colis à un point d’expédition FedEx. Par ailleurs, les frais de ramassage sur appel ne s’appliquent pas aux ramassages avec impression de l’étiquette de retour FedEx GroundMD Economy (connu auparavant sous le nom de FedEx SmartPostMD), avec étiquette de retour FedEx GroundMD Economy (connu auparavant sous le nom FedEx SmartPostMD) envoyée par courriel et avec le Service de retour des colis FedEx GroundMD.
  • Pour les clients qui bénéficient d’un ramassage planifié régulier, FedEx Ground assure un service de ramassage sur demande depuis une adresse autre que le lieu d’expédition associé au numéro de compte FedEx Ground. Des frais de ramassage à une autre adresse, par adresse unique et par semaine, sont facturés pour ce service.

FedEx Extra Hours

Les services FedEx Extra Hours sont disponibles du lundi au vendredi pour les ramassages avec transit d’une journée, ce qui permet aux détaillants d’exécuter les commandes en soirée et de les faire livrer localement le jour suivant par FedEx Express.

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

Fonctionnement de l’API de demande de ramassage

Voici les options de ramassage disponibles pour l’API de demande de ramassage :

Vérifier la disponibilité du ramassage

Utilisez ce point de terminaison pour demander les détails concernant les horaires de ramassage disponibles.

Voici les renseignements clés associés à cette demande :

  • Détails sur l’adresse du ramassage.
  • Type de demande de ramassage (par exemple : même jour/date future).
  • Transporteur FedEx prévu pour le ramassage (p. ex. Express/Ground).
  • Ramassage intérieur ou international.

Une demande sans erreur renvoie les horaires de ramassage disponibles, tels que l’heure limite de ramassage, la date de ramassage, l’heure d’accès au ramassage, l’heure de disponibilité par défaut et d’autres détails relatifs à l’horaire de disponibilité du ramassage. Elle renvoie également les erreurs et leur description en cas d’échec.

Créer un ramassage

Utilisez ce point de terminaison pour créer une demande de ramassage de colis.

Voici les renseignements clés associés à cette demande :

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

Une demande de ramassage sans erreur renvoie un numéro de confirmation de ramassage, un avis de ramassage et un code d’emplacement pour le ramassage planifié. Elle renvoie également les erreurs et leur description en cas d’échec.

Annuler le ramassage

Utilisez cette demande pour annuler une demande de ramassage de colis déjà planifiée.

Voici les renseignements clés associés à cette demande :

  • Code de confirmation de ramassage (obtenu lors de l’envoi d’une demande de ramassage)
  • Transporteur FedEx prévu pour le ramassage (Express/Ground)
  • Date prévue (date à laquelle le ramassage doit avoir lieu)
  • Emplacement (emplacement FedEx Express responsable du traitement de la demande de ramassage)

Une annulation de ramassage sans erreur renvoie un numéro de confirmation et un message de confirmation d’annulation du ramassage. Elle renvoie également les erreurs et leur description en cas d’échec.

Remarque : Soumettez le code de confirmation du ramassage et le code d’emplacement correspondant (concerne uniquement FDXE) pour annuler le ramassage déjà planifié. Le numéro de confirmation de ramassage et le code d’emplacement correspondant (concerne uniquement FDXE) s’obtiennent lors de l’envoi d’une demande de ramassage. Vous recevrez un avis d’échec si vous tentez d’annuler un ramassage après que le messager FedEx a été envoyé sur les lieux du ramassage.

Règles opérationnelles 

  • Pour demander un ramassage pour un autre pays, indiquez l’élément de pays avec le code correspondant au pays où vous souhaitez que FedEx ramasse votre envoi.
  • Si votre demande de répartition est sans erreur, FedEx renvoie un numéro de confirmation de la répartition. Les demandes de répartition 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 répartition peuvent échouer si vous entrez 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 de ramassage, appelez votre ligne d’assistance FedEx régionale.
  • L’API de demande de ramassage prend en charge les unités de poids « lb » et « kg ». L’unité de poids choisie doit être la même pour le colis et la marchandise, sinon la demande renverra une erreur.
  • Si vous souhaitez planifier un ramassage à la fois pour des colis FedEx Express (y compris les expéditions à l’intérieur du Mexique) et FedEx Ground, vous devez planifier un ramassage pour chacun des transporteurs.
  • Si votre point de ramassage se trouve dans une zone éloignée, veillez à ce que vos colis soient prêts plus tôt afin de respecter l’horaire de ramassage en zone éloignée.
  • Indiquez toujours la dernière heure à laquelle votre colis peut être ramassé (ou l’heure de fermeture de votre entreprise).
  • Le service de ramassage le samedi est offert à certains endroits dans le monde pour vos colis FedEx Express. Vous pouvez également déposer vos envois le samedi dans de nombreux centres FedEx. Utilisez le point de terminaison Services aux emplacements pour obtenir une liste des points de dépôt ouverts le samedi.
  • Pour les ramassages FedEx Ground et FedEx Express, vous pouvez demander une adresse de ramassage autre que celle du point d’expédition lié à votre numéro de compte FedEx.
  • Si vous souhaitez demander un service de ramassage régulier FedEx Express ou FedEx Ground, veuillez communiquer avec votre directeur de compte FedEx.
  • Vous ne pouvez annuler un ramassage FedEx Express ou FedEx Ground que si :
    • l’heure de disponibilité du colis n’est pas encore écoulée;
    • le messager n’a pas été envoyé sur les lieux.

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