Fedex Logo
Developer Portal

Pickup Request API

Introducción

LA API de solicitud de recolección le permite verificar la disponibilidad de recolección, programar una recolección por mensajero, y cancelar una solicitud de recolección.

La API de solicitud de recolección aplica para paquetes nuevos o procesados previamente en todas las regiones para los envíos (retorno y salida) con FedEx Express y FedEx Ground. Esta guía detallada le pondrá al día y le enseñará todo lo que necesita saber sobre la API de solicitud de recolección.

Detalles de la API de solicitud de recolección

Las siguientes son las características principales asociadas con la API de solicitud de recolección:

Disponibilidad de recolección

Con la disponibilidad de recolección, puede verificar la disponibilidad del servicio de recolección con base en la solicitud de entrada. La disponibilidad de recolección depende de dos factores: la hora de cierre y la hora de acceso.

Hora de cierre: el último horario permitido para programar una recolección. El horario es local de acuerdo con código postal de recolección.

Hora de acceso: el tiempo entre el horario de recolección (cuando el paquete está listo para recogerse) y la hora cuando el conductor está listo para recoger el paquete.

Crear recolección

Esta opción le permite programar una recolección y aplica a envíos nacionales e internacionales con FedEx Express® y FedEx Ground®. La API de solicitud de recolección con FedEx Ground y Express arroja un número de confirmación de recolección y, adicionalmente, con la solicitud de recolección Express se arroja un código de ubicación para la recolección programada. También puede programar una recolección para un envío de devolución usando esta API.

La línea adicional para la dirección del destinatario (Línea 3 de la dirección) le permite proporcionar detalles más completos y precisos de la ubicación para realizar envíos más rápidos con FedEx Express®. Ahorre tiempo y esfuerzo al programar una recolección para que un mensajero de FedEx pase a recolectar sus envíos a su ubicación u otra ubicación con un cargo adicional.

Cancelar recolección

Esta opción le permite cancelar recolecciones programadas previamente. Esta opción aplica a envíos nacionales e internacionales con FedEx Express y FedEx Ground. La cancelación de recolecciones nacionales e internacionales con FedEx Express pueden realizarse el mismo día. La cancelación de envíos nacionales e internacionales con FedEx Ground está disponible hasta 24 horas después de que se envía la solicitud de recolección. Si su envío ya se recolectó, llame al Servicio al Cliente de FedEx, al 800 FedEx (800 3339) para continuar con la solicitud.

Detalles de la solicitud de recolección

Solicitud de recolección con FedEx Express

  • La hora en que su paquete está listo para la recolección no debe ser posterior a la hora límite del código postal de su ubicación. La hora límite puede recuperarse con la solicitud Disponibilidad de recolección.
  • El período de tiempo desde que sus paquetes estarán listos hasta momento en que el servicio de mensajería ya no podrá ingresar a las oficinas para recolectar los paquetes no debe ser menor a la "hora de acceso", que puede también recuperarse con la solicitud Disponibilidad de recolección.
  • Por ejemplo: 'PT4H0M' indica que la hora de recolección es 4 horas y 0 minutos.

  • Las recolecciones FedEx Express pueden ser programadas para el día hábil actual o el siguiente.
  • El número máximo de paquetes para una solicitud de recolección simple es 99.
  • Si usted ya tiene una recolección regular programada, no es necesario programar una única recolección o agregar otra recolección programada regular.
  • Usted no puede cambiar una solicitud de recolección. Para cambiar una solicitud, debe cancelar la solicitud original e ingresar una nueva solicitud.
  • Los sistemas FedEx ahora admiten la funcionalidad de recolección doméstica del Reino Unido.

Solicitud de recolección FedEx Ground

  • La recolección se puede programar para el siguiente día hábil o para cualquier día hábil hasta con dos semanas de anticipación.
  • El número máximo de paquetes para una solicitud de recolección simple es 99.
  • Si usted ya tiene una recolección regular programada, no es necesario programar una única recolección o agregar otra recolección programada regular.
  • La recolección en una dirección residencial está disponible con un recargo adicional.
  • Usted no puede cambiar una solicitud de recolección. Para cambiar una solicitud, debe cancelar la solicitud original e ingresar una nueva solicitud.

Tipos de servicio de la API de solicitud de recolección

Recolección FedEx Express

Aplica un cargo de recolección por mensajero cuando solicita una recolección de FedEx Express, incluyendo solicitudes hechas en fedex.com y Servicio al cliente de FedEx.

Recolección FedEx Ground

FedEx Ground brinda el servicio de recolección a solicitud por un cargo adicional. Para nuestros clientes regulares de recolecciones programadas, evaluamos la tarifa de recolección semanal al número de cuenta asociado con la recolección programada regular.

  • Para clientes que no tienen una recolección regular programada, calculamos un cargo de recolección a pedido por paquete. Los cargos de recolección a pedido no se aplican si dejas tu paquete en una oficina de envío de FedEx. Además, los cargos por recolección a pedido no aplican para las recolecciones de FedEx Ground® Economy (antes conocido como FedEx SmartPost®) Print Return Label, FedEx Ground® Economy (antes conocido como FedEx SmartPost®) Email Return Label y FedEx Ground® Package Returns Program.
  • Para clientes regulares de recolecciones programadas, FedEx Ground proporciona un servicio de recolección a solicitud de una dirección alterna a la ubicación del envío del número de cuenta de FedEx Ground. Por este servicio se aplica un cargo adicional de recolección en dirección alterna por dirección única por semana.

FedEx Extra Hours

Los servicios de FedEx Extra Hours están disponibles para recolecciones durante la noche con tránsito de un día, de lunes a viernes, lo que permite a los minoristas cumplir con los pedidos nocturnos mediante la entrega local al día siguiente de FedEx Express.

Para obtener más información sobre los servicios disponibles, visite fedex.com.

Cómo funciona la API de solicitud de recolección

A continuación se muestran las opciones disponibles de recolección con la API de solicitud de recolección:

Verificar disponibilidad de recolección

Utiliza este extremo para solicitar los detalles de los horarios de recolección disponibles.

La información clave de ingreso asociada a esta solicitud es:

  • Detalles de dirección y código postal de la recolección.
  • Tipo de solicitud de recolección (ejemplo: mismo día u otro día).
  • Transportista FedEx para la recolección (ejemplo: express o ground).
  • Si sea una recolección nacional o internacional o no.

La respuesta exitosa a esta solicitud arrojará los detalles de los horarios de recolección disponibles, como la hora límite para la recolección, la fecha de recolección, la hora de acceso para la recolección, la hora predeterminada en la que el paquete estará listo y otros detalles de los horarios de recolección disponibles. También arroja errores y las descripciones en caso de cualquier falla.

Crear recolección

Utiliza este extremo para crear una solicitud de recolección a fin de que se recolecte un paquete.

La información clave de ingreso asociada a esta solicitud es:

  • Número de cuenta FedEx, que será facturado para la recolección.
  • Detalles de origen (dirección, ubicación y tipo de dirección de recolección como cuenta, remitente, u otro).
  • Transportista FedEx para la recolección (ejemplo: express o ground).
  • Detalles de la dirección de la cuenta asociada.

La solicitud de recolección exitosa arrojará un número de confirmación de recolección, notificación de recolección y código de ubicación para la recolección programada. También arroja errores y las descripciones en caso de cualquier falla.

Cancelar recolección

Use esta solicitud para cancelar una solicitud de recolección ya programada de un paquete.

La información clave de ingreso asociada a esta solicitud es:

  • Código de confirmación de recolección (se obtiene al enviar una solicitud de recolección)
  • Transportista FedEx para la recolección (ejemplo: express o ground).
  • Fecha programada (fecha en que se produce el envío)
  • Ubicación (Ubicación de FedEx Express responsable de procesar la solicitud de recolección)

La cancelación de recolección exitosa arrojará un número de confirmación y un mensaje de confirmación de la cancelación de recolección. También arroja errores y las descripciones en caso de cualquier falla.

Nota: Ingrese el número de confirmación de recolección y su código de ubicación correspondiente (solo aplica a FDXE) para cancelar la recolección programada. El número de confirmación de recolección y la información de su código de ubicación correspondiente (solo aplica a FDXE) se obtienen cuando se envía una solicitud de recolección. Se enviará una notificación de error si intenta cancelar una recolección después de que el transportista haya sido despachado a la ubicación de la recolección

Normas comerciales 

  • Para solicitar una recolección para un país diferente, incluya el elemento país con el código de país apropiado donde usted desearía que FedEx recolecte su envío.
  • FedEx arroja un número de confirmación de envío para una solicitud de despacho exitosa. Las solicitudes de envío deben limitarse a una solicitud por día, a menos que agregue paquetes que excedan las dimensiones o el peso de la solicitud original.
  • Las solicitudes de envío pueden fallar si introduce una ventana de tiempo insuficiente entre Package Ready y Business Close. Si tiene consultas respecto al horario de recolección, póngase en contacto con la línea telefónica regional de asistencia de FedEx.
  • La API de solicitud de recolección es compatible con tipos de peso como "lb" y "kg". La unidad de peso por paquete y la mercancía debe ser la misma, o la solicitud arrojará un error.
  • Si usted necesita programar una recolección para paquetes FedEx Express (incluyendo envío dentro de México) y también por FedEx Ground, es necesario que usted programe una recolección para cada uno de los transportistas en forma individual.
  • Si su ubicación de recolección está en un área remota, asegúrese de que sus paquetes estén listos más temprano para adaptarse al cronograma de recolección remota.
  • Siempre incluya la última hora en que su paquete puede ser recolectado (o la hora de cierre de su empresa).
  • El servicio de recolección los sábados se ofrece en oficinas selectas alrededor del mundo para tus paquetes FedEx Express. Muchas oficinas de FedEx aceptan entregas el sábado. Usa la variable Ubicación de Servicios para recibir una lista de ubicaciones de puntos de entrega los sábados.
  • Para recolecciones FedEx Ground y FedEx Express, usted puede solicitar una dirección alternativa de recolección diferente a la ubicación de envío adjunta a su número de cuenta FedEx.
  • Si usted quiere un servicio regular de recolección FedEx Express o FedEx Ground, contacte a su ejecutivo de cuenta FedEx.
  • Puede cancelar una recolección con FedEx Express o FedEx Ground solamente si:
    • La hora en que el paquete solicitado esté listo no se ha cumplido, y
    • El transportista no ha sido despachado.

Colección de JSON de la API

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