Crea, cotiza, etiqueta, cancela y confirma tus envíos
Verificación de seguridad
Marca la casilla para confirmar que eres tú.
Protegido por Cloudflare. Así evitamos que los bots creen cuentas falsas.
Compra productos seleccionados de vendedores WeShipYou, con fulfillment integral y garantía de envío.
¡Compra en Amazon, la tienda más grande del mundo con la mayor variedad de productos, todo con la seguridad de WeShipYou!
Artículos nuevos y usados de vendedores en EE. UU.: compramos por ti los anuncios con “Cómpralo ahora”.
Millones de productos a precio de fábrica, comprados y enviados por nosotros.
¡Compra productos de farmacia y supermercado en Walmart de forma rápida y fácil!
¡Compra los últimos productos de tendencia a los mejores precios con descuento, solo en la tienda Shein!
¡Compra los mejores productos a precios con descuento en la tienda Temu!
Busca en miles de tiendas Shopify de EE. UU. a la vez, o pega un enlace de cualquiera de ellas.
Recepción, almacenamiento, pick & pack el mismo día, envíos multi-transportista y devoluciones — gestionado por nosotros.
Compara y selecciona el servicio de envío según tus necesidades de forma rápida y fácil
App para Shopify, API pública y más — conecta WeShipYou a tu tienda.
Acceso API para desarrolladores
Facturas mensuales automáticas, PDFs con tu marca y pagos con un clic.
Crea, cotiza, etiqueta, cancela y confirma tus envíos
Un envío: qué se envía, de quién, para quién, y el estado de su etiqueta y su entrega.
uidstringobligatorioUID del envío. Úsalo como shipmentId.
statestringobligatorioEstado del ciclo de vida, desde created pasando por label_created hasta delivered o cancelled.
statusTrackingstringadmite nullÚltimo estado de rastreo del transportista, en palabras.
transactionStatestringadmite nullEstado de cobro del envío, cuando se cobró o se reembolsó.
externalReferenceCodestringadmite nullTu propia referencia para el envío.
externalCustomerIdstringadmite nullTu propia referencia de cliente.
externalUniqueIdstringadmite nullTu propia referencia de idempotencia.
incotermsstringobligatorioQuién paga los aranceles: el destinatario (DDU) o el remitente (DDP).
DDUDDPweightUnitstringobligatorioUnidad de weight.
gmkgozlbdimUnitstringobligatorioUnidad de length, width y height.
weightnumberadmite nullPeso total.
lengthnumberadmite nullLargo de la caja.
widthnumberadmite nullAncho de la caja.
heightnumberadmite nullAlto de la caja.
totalValuenumberadmite nullValor declarado del contenido, USD.
insuranceboolean | integerEl envío está asegurado. 1/true o 0/false.
insuranceAmountnumberadmite nullMonto asegurado, USD.
appliedCouponDiscountnumberadmite nullDescuento de cupón aplicado al precio de la etiqueta, USD.
sellerNotesstringadmite nullNotas del remitente.
buyerNotesstringadmite nullNotas del destinatario.
labelCreatedAtstring <date-time>admite nullCuándo se compró la etiqueta.
deliveredAtstring <date-time>admite nullCuándo el transportista entregó el envío.
cancellationReasonstringadmite nullPor qué se canceló el envío.
cancellationReasonCodestringadmite nullCódigo técnico del motivo de cancelación.
customsAuthorizationsobjectDocumentos de aduana que exige el destino, y si el cliente todavía puede editarlos.
senderobjectadmite nullEl remitente. Se incluye cuando el envío se lee solo.
uidstringUID de la entrada de la libreta de direcciones.
nicknamestringadmite nullTu etiqueta para la entrada.
companyNamestringadmite nullNombre de la empresa.
namestringadmite nullNombre completo.
taxIdstringadmite nullId fiscal.
emailstringadmite nullCorreo electrónico.
phonestringadmite nullNúmero de teléfono.
isResidentialboolean | integerDirección de entrega residencial.
statusstringEstado de la entrada.
addressobjectadmite nullUna dirección postal tal como WeShipYou la interpretó.
uidstringUID de la dirección.
houseNumberstringadmite nullNúmero de casa o edificio.
roadstringadmite nullNombre de la calle.
unitstringadmite nullApartamento, oficina o unidad.
cityobjectadmite nullnamestringNombre de la ciudad.
stateobjectadmite nullnamestringisoCodestringadmite nullCódigo del estado.
countryobjectadmite nullisoCodestringnamestringpostal_codeobjectadmite nullpostalCodestringrecipientobjectadmite nullEl destinatario. Se incluye cuando el envío se lee solo.
uidstringUID de la entrada de la libreta de direcciones.
nicknamestringadmite nullTu etiqueta para la entrada.
companyNamestringadmite nullNombre de la empresa.
namestringadmite nullNombre completo.
taxIdstringadmite nullId fiscal.
emailstringadmite nullCorreo electrónico.
phonestringadmite nullNúmero de teléfono.
isResidentialboolean | integerDirección de entrega residencial.
statusstringEstado de la entrada.
addressobjectadmite nullUna dirección postal tal como WeShipYou la interpretó.
uidstringUID de la dirección.
houseNumberstringadmite nullNúmero de casa o edificio.
roadstringadmite nullNombre de la calle.
unitstringadmite nullApartamento, oficina o unidad.
cityobjectadmite nullnamestringNombre de la ciudad.
stateobjectadmite nullnamestringisoCodestringadmite nullCódigo del estado.
countryobjectadmite nullisoCodestringnamestringpostal_codeobjectadmite nullpostalCodestringparcelslista de objectLos paquetes y sus artículos. Se incluyen cuando el envío se lee solo.
parcel_rateslista de TarifaLos servicios con los que se puede enviar este envío y sus precios. Se incluye en la respuesta de POST /shipments y PATCH /shipments/{shipmentId}; elige uno y cómpralo con POST /shipments/labels. Su totalChargePrice incluye el seguro (insuranceFee) aunque el envío no esté asegurado; consulta el objeto Tarifa.
uidstringobligatorioEl id de la tarifa. Envíalo como rateId a POST /shipments/labels.
serviceobjectEl servicio de envío.
uidstringadmite nullEl uid del servicio.
namestringadmite nullEl nombre del servicio.
umbrellaNamestringadmite nullEl transportista o la marca a la que pertenece el servicio.
serviceTypestringadmite nullground, air o sea.
totalChargePricenumberEl precio cotizado. Incluye insuranceFee esté o no asegurado el envío, y improvedFoamProtectionFee. Resta insuranceFee cuando el envío no está asegurado.
insuranceFeenumberEl precio de asegurar el envío con este servicio. Ya está dentro de totalChargePrice; solo se cobra cuando el envío está asegurado.
improvedFoamProtectionFeenumberEl precio de la protección mejorada con espuma, ya incluido en totalChargePrice. Es 0 a menos que el envío la pida.
shipmentChargeTotalPricenumberEl precio del servicio de envío por sí solo; los descuentos de cupones se calculan sobre él. No es lo que cuesta la etiqueta: consulta totalChargePrice.
pickupFeenumberSe suma al precio de la etiqueta cuando se recogen los paquetes.
minimumPickupFeenumberSe suma al precio de la etiqueta cuando se recogen los paquetes.
labelobjectadmite nullLa etiqueta, una vez comprada. Se incluye cuando el envío se lee por sí solo (GET /shipments/{shipmentId}).
trackingNumberstringadmite nullEl número de rastreo de WeShipYou (WSY…). Úsalo con GET /tracking/{trackingNumber} y para cancelar la etiqueta.
createdAtstring <date-time>obligatorioCuándo se creó el envío.
updatedAtstring <date-time>obligatorioCuándo cambió el envío por última vez.
{
"uid": "wwbvygom0rlz",
"state": "created",
"statusTracking": "in transit",
"transactionState": null,
"externalReferenceCode": "shp1x6",
"externalCustomerId": null,
"externalUniqueId": null,
"incoterms": "DDU",
"weightUnit": "gm",
"dimUnit": "cm",
"weight": 1000,
"length": 10,
"width": 10,
"height": 10,
"totalValue": 10,
"insurance": 0,
"insuranceAmount": null,
"appliedCouponDiscount": 0,
"sellerNotes": null,
"buyerNotes": null,
"labelCreatedAt": null,
"deliveredAt": null,
"cancellationReason": null,
"cancellationReasonCode": null,
"customsAuthorizations": {
"required": [],
"mincomDocumentsCount": 0,
"canCustomerEdit": true,
"recipientAuthorization": "optional",
"recipientAuthorizationDocumentsCount": 0,
"canCustomerEditRecipientAuthorization": true
},
"createdAt": "2026-11-01T00:37:50.000Z",
"updatedAt": "2026-11-01T00:37:50.000Z"
}Una categoría de contenido de envío. Cada artículo de un paquete declara una.
uidstringobligatorioUID de la categoría.
namestringobligatorioNombre visible.
slugstringobligatorioNombre técnico estable.
weightnumberadmite nullPeso por defecto de una unidad, en gramos.
lengthnumberadmite nullLargo por defecto, en centímetros.
widthnumberadmite nullAncho por defecto, en centímetros.
heightnumberadmite nullAlto por defecto, en centímetros.
containsDocumentsboolean | integerLos artículos de esta categoría son documentos. 1/true o 0/false.
containsOtherDgboolean | integerLos artículos de esta categoría son mercancías peligrosas distintas de baterías. 1/true o 0/false.
containsLiquidsboolean | integerLos artículos de esta categoría contienen líquidos. 1/true o 0/false.
containsBatteryPi967boolean | integerBaterías de iones de litio contenidas en un equipo (PI 967). 1/true o 0/false.
containsBatteryPi966boolean | integerBaterías de iones de litio embaladas con un equipo (PI 966). 1/true o 0/false.
containsBatteryPi965boolean | integerBaterías de iones de litio sueltas (PI 965). 1/true o 0/false.
parentIdintegeradmite nullCategoría padre, cuando es una subcategoría.
{
"uid": "u40h56jccmdi",
"name": "Phone Accessory (no battery)",
"slug": "accessory_no_battery",
"weight": null,
"length": null,
"width": null,
"height": null,
"containsDocuments": 0,
"containsOtherDg": 0,
"containsLiquids": 0,
"containsBatteryPi967": 0,
"containsBatteryPi966": 0,
"containsBatteryPi965": 0,
"parentId": null
}uidstringadmite nullnamestringadmite nullslugstringadmite nullweightnumberadmite nulllengthnumberadmite nullwidthnumberadmite nullheightnumberadmite nullcontainsDocumentsbooleanadmite nullcontainsOtherDgbooleanadmite nullcontainsLiquidsbooleanadmite nullcontainsBatteryPi967booleanadmite nullcontainsBatteryPi966booleanadmite nullcontainsBatteryPi965booleanadmite nullcustomsValuenumberadmite nullqtynumberadmite nullmaxWeightnumberadmite nullunitTypestringadmite nullobservationsstringadmite nullisDiscontinuedbooleanadmite nullcreatedAtstring <date-time>admite nullupdatedAtstring <date-time>admite nullparentIdnumberadmite nullUn servicio con el que se puede enviar el envío, y su precio en USD.
totalChargePrice siempre incluye el precio del seguro (insuranceFee), aunque el envío no esté asegurado. Los envíos no se aseguran a menos que lo pidas (insurance: true), así que en la mayoría de los casos resta insuranceFee para obtener lo que cuesta la etiqueta:
totalChargePrice − insuranceFee cuando el envío no está asegurado, o totalChargePrice cuando lo está;pickupFee y minimumPickupFee cuando se recogen los paquetes (handoverOption: "pickup" en POST /shipments/labels).Un cupón reduce ese precio aún más.
uidstringEl id de la tarifa. Envíalo como rateId a POST /shipments/labels.
serviceobjectEl servicio de envío.
uidstringadmite nullEl uid del servicio.
namestringadmite nullEl nombre del servicio.
umbrellaNamestringadmite nullEl transportista o la marca a la que pertenece el servicio.
serviceTypestringadmite nullground, air o sea.
totalChargePricenumberEl precio cotizado. Incluye insuranceFee esté o no asegurado el envío, y improvedFoamProtectionFee. Resta insuranceFee cuando el envío no está asegurado.
insuranceFeenumberEl precio de asegurar el envío con este servicio. Ya está dentro de totalChargePrice; solo se cobra cuando el envío está asegurado.
improvedFoamProtectionFeenumberEl precio de la protección mejorada con espuma, ya incluido en totalChargePrice. Es 0 a menos que el envío la pida.
shipmentChargeTotalPricenumberEl precio del servicio de envío por sí solo; los descuentos de cupones se calculan sobre él. No es lo que cuesta la etiqueta: consulta totalChargePrice.
pickupFeenumberSe suma al precio de la etiqueta cuando se recogen los paquetes.
minimumPickupFeenumberSe suma al precio de la etiqueta cuando se recogen los paquetes.
{
"uid": "k3m9x2p7q1zt",
"service": {
"uid": "q8c2kd0x1m4z",
"name": "USPS Priority Mail",
"umbrellaName": "USPS",
"serviceType": "ground"
},
"totalChargePrice": 20.75,
"insuranceFee": 2.35,
"improvedFoamProtectionFee": 0,
"shipmentChargeTotalPrice": 18.4,
"pickupFee": 0,
"minimumPickupFee": 0
}Cotiza todos los servicios disponibles para un envío. Envía el envío tal como lo crearías; accountId es opcional. Para cotizar paquetes que ya están en tu casillero, envía el uid de cada artículo de GET /forwarder como forwardingOrderItemId en un artículo del paquete (el ejemplo Desde artículos del casillero).
El totalChargePrice de cada tarifa incluye el seguro (insuranceFee), aunque no lo pidas. Si el envío no va a estar asegurado (lo predeterminado), resta insuranceFee para obtener el precio de su etiqueta.
Accept-LanguagestringCódigo de dos letras del idioma de los mensajes: en, es o pt.
en-USEl envío que se va a crear.
accountIdstringobligatorioEl uid de tu cuenta, tal como lo devuelve POST /authentication.
Tu número de cuenta (CU…).
totalValuenumberobligatorioinsurancebooleanAsegura el envío. Por defecto es false. Las tarifas siempre incluyen el precio del seguro (insuranceFee) en totalChargePrice; solo se cobra cuando esto es true.
incotermsstringobligatorioDDUDDPweightUnitstringUnidad de weight para cada paquete que no indique su propio weightUnit. Sin unidad en el paquete ni aquí, los pesos se leen en gramos.
gmkgozlbdimUnitstringUnidad de length, width y height para cada paquete que no indique su propio dimUnit. Sin unidad en el paquete ni aquí, las medidas se leen en centímetros.
cminsenderobjectobligatorioaddressobjectobligatoriocityobjectnamestringstateobjectnamestringstreetstringDirección, incluido el número de edificio o apartamento.
postalCodestringcountryobjectobligatorioUn país, por su código ISO 3166-1 alfa-2.
isoCodestringADAEAFALAGAIAQAMAOARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRXKKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMHUMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSSSESGSHSISJSKSLSMSNSOSRSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYTYEZAZMZWCSANrecipientobjectobligatorioaddressobjectobligatoriocityobjectnamestringstateobjectnamestringstreetstringDirección, incluido el número de edificio o apartamento.
postalCodestringcountryobjectobligatorioUn país, por su código ISO 3166-1 alfa-2.
isoCodestringADAEAFALAGAIAQAMAOARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRXKKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMHUMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSSSESGSHSISJSKSLSMSNSOSRSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYTYEZAZMZWCSANparcelslista de objectobligatoriodimUnitstringobligatorioUnidad de length, width y height.
cminwidthnumberobligatoriolengthnumberobligatorioheightnumberobligatorioweightUnitstringobligatorioUnidad de weight.
gmkgozlbgmweightnumberobligatorioparcel_itemslista de objectobligatorioskustringforwardingOrderItemIdstringEnvía un paquete que ya está en tu casillero: el uid del artículo de la orden de reenvío, tal como lo lista GET /forwarder. El artículo debe pertenecer a la cuenta del envío. Su peso y su cantidad, y su valor declarado cuando lo tiene, se leen del casillero, y las dimensiones del paquete se recalculan a partir de su peso. Un uid desconocido, o un artículo de otra cuenta, es un 400.
descriptionstringobligatoriocategoryobjectobligatorioslugstringobligatoriopricenumberobligatorioqtynumberobligatoriooriginCountryobjectisoCodestringweightnumbercurrencystring | CurrencyobligatorioMoneda del valor del artículo: un código ISO 4217 o un objeto de moneda.
namestringobligatoriocodestringobligatorioprefixstringobligatorioLas tarifas disponibles. Cada totalChargePrice incluye el seguro (insuranceFee); consulta el objeto Tarifa.
Paquetes no válidos, o un forwardingOrderItemId desconocido
namestringBadRequestmessagestringcodenumber400classNamestringbad-requestdataobjectToken de acceso ausente o no válido
namestringNotAuthenticatedmessagestringcodenumber401classNamestringnot-authenticateddataobjectcurl -X POST 'https://sandbox.weshipyou.com/api/v1/shipments/rates' \
-H "Authorization: Bearer $WSY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"accountId": "CU1234567",
"totalValue": 2999,
"insurance": true,
"incoterms": "DDU",
"sender": {
"address": {
"city": {
"name": "Homestead",
"state": {
"name": "Florida"
}
},
"street": "924 NW 36 Ave",
"postalCode": "33033"
},
"country": {
"isoCode": "US"
}
},
"recipient": {
"address": {
"city": {
"name": "Homestead",
"state": {
"name": "Florida"
}
},
"street": "924 NW 36 Ave",
"postalCode": "33033"
},
"country": {
"isoCode": "US"
}
},
"parcels": [
{
"dimUnit": "cm",
"width": 10,
"length": 10,
"height": 10,
"weightUnit": "gm",
"weight": 100,
"parcel_items": [
{
"sku": "SKU-WSY-EXAMPLE",
"description": "Play Station 4",
"category": {
"slug": "board_games"
},
"price": 450,
"qty": 1,
"originCountry": {
"isoCode": "JP"
},
"weight": 2.5,
"currency": "USD"
}
]
}
]
}'{
"accountId": "CU1234567",
"totalValue": 2999,
"insurance": true,
"incoterms": "DDU",
"sender": {
"address": {
"city": {
"name": "Homestead",
"state": {
"name": "Florida"
}
},
"street": "924 NW 36 Ave",
"postalCode": "33033"
},
"country": {
"isoCode": "US"
}
},
"recipient": {
"address": {
"city": {
"name": "Homestead",
"state": {
"name": "Florida"
}
},
"street": "924 NW 36 Ave",
"postalCode": "33033"
},
"country": {
"isoCode": "US"
}
},
"parcels": [
{
"dimUnit": "cm",
"width": 10,
"length": 10,
"height": 10,
"weightUnit": "gm",
"weight": 100,
"parcel_items": [
{
"sku": "SKU-WSY-EXAMPLE",
"description": "Play Station 4",
"category": {
"slug": "board_games"
},
"price": 450,
"qty": 1,
"originCountry": {
"isoCode": "JP"
},
"weight": 2.5,
"currency": "USD"
}
]
}
]
}[
{
"uid": "k3m9x2p7q1zt",
"service": {
"uid": "q8c2kd0x1m4z",
"name": "USPS Priority Mail",
"umbrellaName": "USPS",
"serviceType": "ground"
},
"totalChargePrice": 20.75,
"insuranceFee": 2.35,
"improvedFoamProtectionFee": 0,
"shipmentChargeTotalPrice": 18.4,
"pickupFee": 0,
"minimumPickupFee": 0
}
]Lista los envíos de tus cuentas.
accountIdstringLimita los resultados a una de tus cuentas o a una de sus subcuentas: su uid, su número de cuenta (CU…) o su número de cuenta externo. Sin él, se incluyen las cuentas a las que perteneces y todas sus subcuentas.
$limitnumberNúmero máximo de resultados (20 por defecto).
20$skipnumberNúmero de resultados que se omiten, para paginar.
0Accept-LanguagestringCódigo de dos letras del idioma de los mensajes: en, es o pt.
en-USUna página de tus envíos.
totalintegerobligatorioNúmero total de registros que coinciden.
limitintegerobligatorioTamaño de página usado en esta respuesta.
skipintegerobligatorioNúmero de registros omitidos antes de esta página.
datalista de EnvíoobligatorioToken de acceso ausente o no válido
namestringNotAuthenticatedmessagestringcodenumber401classNamestringnot-authenticateddataobjectNo tienes acceso a esta cuenta
namestringForbiddenmessagestringcodenumber403classNamestringforbiddendataobjectcurl 'https://sandbox.weshipyou.com/api/v1/shipments' \
-H "Authorization: Bearer $WSY_ACCESS_TOKEN"{
"total": 1,
"limit": 20,
"skip": 0,
"data": [
{
"uid": "wwbvygom0rlz",
"state": "created",
"statusTracking": "in transit",
"transactionState": null,
"externalReferenceCode": "shp1x6",
"externalCustomerId": null,
"externalUniqueId": null,
"incoterms": "DDU",
"weightUnit": "gm",
"dimUnit": "cm",
"weight": 1000,
"length": 10,
"width": 10,
"height": 10,
"totalValue": 10,
"insurance": 0,
"insuranceAmount": null,
"appliedCouponDiscount": 0,
"sellerNotes": null,
"buyerNotes": null,
"labelCreatedAt": null,
"deliveredAt": null,
"cancellationReason": null,
"cancellationReasonCode": null,
"customsAuthorizations": {
"required": [],
"mincomDocumentsCount": 0,
"canCustomerEdit": true,
"recipientAuthorization": "optional",
"recipientAuthorizationDocumentsCount": 0,
"canCustomerEditRecipientAuthorization": true
},
"createdAt": "2026-11-01T00:37:50.000Z",
"updatedAt": "2026-11-01T00:37:50.000Z"
}
]
}Crea un envío (todavía sin etiqueta). accountId acepta el uid de la cuenta, su número de cuenta (CU…) o su número de cuenta externo. Cotízalo con POST /shipments/rates y compra la etiqueta con POST /shipments/labels.
Para enviar paquetes que ya están en tu casillero, lístalos con GET /forwarder y envía el uid de cada artículo como forwardingOrderItemId en un artículo del paquete (el ejemplo Desde artículos del casillero).
Accept-LanguagestringCódigo de dos letras del idioma de los mensajes: en, es o pt.
en-USEl envío que se va a crear.
accountIdstring | integerobligatorioEl uid de tu cuenta, tal como lo devuelve POST /authentication, o el uid de una de sus subcuentas (GET /accounts) para enviar en nombre de esa subcuenta.
Tu número de cuenta (CU…).
senderobjectobligatoriouseExistingAddressbooleanobligatoriouseExistingAddressbooleanfalsenicknamestringadmite nulladdressobjectobligatoriocityobjectnamestringadmite nullstateobjectnamestringadmite nullstreetstringDirección, incluido el número de edificio o apartamento.
postalCodestringnamestringobligatorioadmite nullcompanyNamestringadmite nulltaxIdstringadmite nulltaxIdCountryobjectUn país, por su código ISO 3166-1 alfa-2.
isoCodestringADAEAFALAGAIAQAMAOARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRXKKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMHUMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSSSESGSHSISJSKSLSMSNSOSRSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYTYEZAZMZWCSANphonestring <phone>obligatorioadmite nullemailstring <email>obligatorioadmite nullCorreo del destinatario
countryobjectobligatorioUn país, por su código ISO 3166-1 alfa-2.
isoCodestringADAEAFALAGAIAQAMAOARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRXKKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMHUMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSSSESGSHSISJSKSLSMSNSOSRSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYTYEZAZMZWCSANuseExistingAddressbooleanaddressobjectobligatorioidnumber <int64>ID de la dirección
recipientobjectobligatoriouseExistingAddressbooleanobligatoriouseExistingAddressbooleanfalsenicknamestringadmite nulladdressobjectobligatoriocityobjectnamestringadmite nullstateobjectnamestringadmite nullstreetstringDirección, incluido el número de edificio o apartamento.
postalCodestringnamestringobligatorioadmite nullcompanyNamestringadmite nulltaxIdstringadmite nulltaxIdCountryobjectUn país, por su código ISO 3166-1 alfa-2.
isoCodestringADAEAFALAGAIAQAMAOARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRXKKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMHUMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSSSESGSHSISJSKSLSMSNSOSRSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYTYEZAZMZWCSANphonestring <phone>obligatorioadmite nullemailstring <email>obligatorioadmite nullCorreo del destinatario
countryobjectobligatorioUn país, por su código ISO 3166-1 alfa-2.
isoCodestringADAEAFALAGAIAQAMAOARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRXKKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMHUMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSSSESGSHSISJSKSLSMSNSOSRSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYTYEZAZMZWCSANuseExistingAddressbooleanaddressobjectobligatorioidnumber <int64>ID de la dirección
totalValuenumberobligatorioexternalReferenceCodestringexternalCustomerIdstringadmite nullinsuranceboolean | integerAsegura el envío. Por defecto es false. Las tarifas siempre incluyen el precio del seguro (insuranceFee) en totalChargePrice; solo se cobra cuando esto es true.
incotermsstringobligatorioDDUDDPweightUnitstringUnidad de weight para cada paquete que no indique su propio weightUnit. Se guarda en el envío, y el panel muestra el peso del envío en esa unidad. Por defecto, la weightUnit del primer paquete.
gmkgozlbdimUnitstringUnidad de length, width y height para cada paquete que no indique su propio dimUnit. Se guarda en el envío. Por defecto, el dimUnit del primer paquete.
cminparcelslista de objectobligatoriodimUnitstringobligatorioUnidad de length, width y height.
cminwidthnumberobligatoriolengthnumberobligatorioheightnumberobligatorioweightUnitstringobligatorioUnidad de weight.
gmkgozlbgmweightnumberobligatorioparcel_itemslista de objectobligatorioskustringforwardingOrderItemIdstringEnvía un paquete que ya está en tu casillero: el uid del artículo de la orden de reenvío, tal como lo lista GET /forwarder. El artículo debe pertenecer a la cuenta del envío. Su peso y su cantidad, y su valor declarado cuando lo tiene, se leen del casillero, y las dimensiones del paquete se recalculan a partir de su peso. Un uid desconocido, o un artículo de otra cuenta, es un 400.
descriptionstringobligatoriocategoryobjectobligatorioslugstringobligatoriopricenumberobligatorioqtynumberobligatoriooriginCountryobjectisoCodestringweightnumbercurrencystring | CurrencyobligatorioMoneda del valor del artículo: un código ISO 4217 o un objeto de moneda.
namestringobligatoriocodestringobligatorioprefixstringobligatorioEl envío creado
Error de validación; data contiene el mensaje de cada campo no válido
namestringBadRequestmessagestringcodenumber400classNamestringbad-requestdataobjectToken de acceso ausente o no válido
namestringNotAuthenticatedmessagestringcodenumber401classNamestringnot-authenticateddataobjectNo tienes acceso a esta cuenta
namestringForbiddenmessagestringcodenumber403classNamestringforbiddendataobjectcurl -X POST 'https://sandbox.weshipyou.com/api/v1/shipments' \
-H "Authorization: Bearer $WSY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"accountId": "CU1234567",
"sender": {
"useExistingAddress": false,
"nickname": "Main office",
"address": {
"city": {
"name": "Homestead",
"state": {
"name": "Florida"
}
},
"street": "924 NW 36 Ave",
"postalCode": "33033"
},
"name": "John Doe",
"companyName": "We Ship You Corp",
"taxId": "88-1345985",
"taxIdCountry": {
"isoCode": "US"
},
"phone": "+1 (786) 651-0451",
"email": "john.doe@weshipyou.com",
"country": {
"isoCode": "US"
}
},
"recipient": {
"useExistingAddress": false,
"nickname": "Main office",
"address": {
"city": {
"name": "Homestead",
"state": {
"name": "Florida"
}
},
"street": "924 NW 36 Ave",
"postalCode": "33033"
},
"name": "John Doe",
"companyName": "We Ship You Corp",
"taxId": "88-1345985",
"taxIdCountry": {
"isoCode": "US"
},
"phone": "+1 (786) 651-0451",
"email": "john.doe@weshipyou.com",
"country": {
"isoCode": "US"
}
},
"totalValue": 2999,
"externalReferenceCode": "ORDER-1001",
"externalCustomerId": "CUST-42",
"insurance": true,
"incoterms": "DDU",
"parcels": [
{
"dimUnit": "cm",
"width": 10,
"length": 10,
"height": 10,
"weightUnit": "gm",
"weight": 100,
"parcel_items": [
{
"sku": "SKU-WSY-EXAMPLE",
"description": "Play Station 4",
"category": {
"slug": "board_games"
},
"price": 450,
"qty": 1,
"originCountry": {
"isoCode": "JP"
},
"weight": 2.5,
"currency": "USD"
}
]
}
]
}'{
"accountId": "CU1234567",
"sender": {
"useExistingAddress": false,
"nickname": "Main office",
"address": {
"city": {
"name": "Homestead",
"state": {
"name": "Florida"
}
},
"street": "924 NW 36 Ave",
"postalCode": "33033"
},
"name": "John Doe",
"companyName": "We Ship You Corp",
"taxId": "88-1345985",
"taxIdCountry": {
"isoCode": "US"
},
"phone": "+1 (786) 651-0451",
"email": "john.doe@weshipyou.com",
"country": {
"isoCode": "US"
}
},
"recipient": {
"useExistingAddress": false,
"nickname": "Main office",
"address": {
"city": {
"name": "Homestead",
"state": {
"name": "Florida"
}
},
"street": "924 NW 36 Ave",
"postalCode": "33033"
},
"name": "John Doe",
"companyName": "We Ship You Corp",
"taxId": "88-1345985",
"taxIdCountry": {
"isoCode": "US"
},
"phone": "+1 (786) 651-0451",
"email": "john.doe@weshipyou.com",
"country": {
"isoCode": "US"
}
},
"totalValue": 2999,
"externalReferenceCode": "ORDER-1001",
"externalCustomerId": "CUST-42",
"insurance": true,
"incoterms": "DDU",
"parcels": [
{
"dimUnit": "cm",
"width": 10,
"length": 10,
"height": 10,
"weightUnit": "gm",
"weight": 100,
"parcel_items": [
{
"sku": "SKU-WSY-EXAMPLE",
"description": "Play Station 4",
"category": {
"slug": "board_games"
},
"price": 450,
"qty": 1,
"originCountry": {
"isoCode": "JP"
},
"weight": 2.5,
"currency": "USD"
}
]
}
]
}{
"uid": "42ailx0umn2q",
"state": "created",
"statusTracking": "in transit",
"transactionState": null,
"externalReferenceCode": "ORDER-1001",
"externalCustomerId": "CUST-42",
"externalUniqueId": null,
"incoterms": "DDU",
"weightUnit": "gm",
"dimUnit": "cm",
"weight": 2.5,
"length": 10,
"width": 10,
"height": 10,
"totalValue": 450,
"insurance": true,
"insuranceAmount": null,
"sellerNotes": null,
"buyerNotes": null,
"labelCreatedAt": null,
"deliveredAt": null,
"cancellationReason": null,
"cancellationReasonCode": null,
"sender": {
"uid": "vbnk8892rbji",
"nickname": "Main office",
"companyName": "We Ship You Corp",
"name": "John Doe",
"taxId": "88-1345985",
"email": "john.doe@weshipyou.com",
"phone": "+1 (786) 651-0451",
"isResidential": false,
"status": "active",
"address": {
"uid": "e9j57zlvd0z8",
"houseNumber": "924",
"road": "nw 36 ave",
"unit": null,
"city": {
"name": "Homestead",
"state": {
"name": "Florida",
"isoCode": "FL",
"country": {
"isoCode": "US",
"name": "United States"
}
}
},
"postal_code": {
"postalCode": "33033"
}
}
},
"recipient": {
"uid": "vbnk8892rbji",
"nickname": "Main office",
"companyName": "We Ship You Corp",
"name": "John Doe",
"taxId": "88-1345985",
"email": "john.doe@weshipyou.com",
"phone": "+1 (786) 651-0451",
"isResidential": false,
"status": "active",
"address": {
"uid": "e9j57zlvd0z8",
"houseNumber": "924",
"road": "nw 36 ave",
"unit": null,
"city": {
"name": "Homestead",
"state": {
"name": "Florida",
"isoCode": "FL",
"country": {
"isoCode": "US",
"name": "United States"
}
}
},
"postal_code": {
"postalCode": "33033"
}
}
},
"createdAt": "2026-11-01T00:37:51.000Z",
"updatedAt": "2026-11-01T00:37:51.000Z"
}Devuelve uno de tus envíos.
shipmentIdstringobligatorioEl uid del envío, o su número de rastreo de WeShipYou (WSY…).
Accept-LanguagestringCódigo de dos letras del idioma de los mensajes: en, es o pt.
en-USEl envío
Token de acceso ausente o no válido
namestringNotAuthenticatedmessagestringcodenumber401classNamestringnot-authenticateddataobjectNingún envío tiene ese id
namestringNotFoundmessagestringcodenumber404classNamestringnot-founddataobjectcurl 'https://sandbox.weshipyou.com/api/v1/shipments/{shipmentId}' \
-H "Authorization: Bearer $WSY_ACCESS_TOKEN"{
"uid": "wwbvygom0rlz",
"state": "created",
"statusTracking": "in transit",
"transactionState": null,
"externalReferenceCode": "shp1x6",
"externalCustomerId": null,
"externalUniqueId": null,
"incoterms": "DDU",
"weightUnit": "gm",
"dimUnit": "cm",
"weight": 1000,
"length": 10,
"width": 10,
"height": 10,
"totalValue": 10,
"insurance": 0,
"insuranceAmount": null,
"appliedCouponDiscount": 0,
"sellerNotes": null,
"buyerNotes": null,
"labelCreatedAt": null,
"deliveredAt": null,
"cancellationReason": null,
"cancellationReasonCode": null,
"customsAuthorizations": {
"required": [],
"mincomDocumentsCount": 0,
"canCustomerEdit": true,
"recipientAuthorization": "optional",
"recipientAuthorizationDocumentsCount": 0,
"canCustomerEditRecipientAuthorization": true
},
"createdAt": "2026-11-01T00:37:50.000Z",
"updatedAt": "2026-11-01T00:37:50.000Z"
}Cambia los campos que envías y mantiene el resto como está. Para cambiar una dirección, envía el objeto sender o recipient completo (o { "id": <address id>, "useExistingAddress": true } para usar una de tu libreta de direcciones); para cambiar el contenido, envía el arreglo parcels completo. Las tarifas se recalculan después del cambio. Un envío entregado no se puede editar.
shipmentIdstringobligatorioEl uid del envío, o su número de rastreo de WeShipYou (WSY…).
Accept-LanguagestringCódigo de dos letras del idioma de los mensajes: en, es o pt.
en-USCualquiera de los campos del envío.
accountIdstringEl uid de tu cuenta, tal como lo devuelve POST /authentication.
Tu número de cuenta (CU…).
senderobjectuseExistingAddressbooleanobligatoriouseExistingAddressbooleanfalsenicknamestringadmite nulladdressobjectobligatoriocityobjectnamestringadmite nullstateobjectnamestringadmite nullstreetstringDirección, incluido el número de edificio o apartamento.
postalCodestringnamestringobligatorioadmite nullcompanyNamestringadmite nulltaxIdstringadmite nulltaxIdCountryobjectUn país, por su código ISO 3166-1 alfa-2.
isoCodestringADAEAFALAGAIAQAMAOARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRXKKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMHUMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSSSESGSHSISJSKSLSMSNSOSRSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYTYEZAZMZWCSANphonestring <phone>obligatorioadmite nullemailstring <email>obligatorioadmite nullCorreo del destinatario
countryobjectobligatorioUn país, por su código ISO 3166-1 alfa-2.
isoCodestringADAEAFALAGAIAQAMAOARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRXKKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMHUMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSSSESGSHSISJSKSLSMSNSOSRSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYTYEZAZMZWCSANuseExistingAddressbooleanaddressobjectobligatorioidnumber <int64>ID de la dirección
recipientobjectuseExistingAddressbooleanobligatoriouseExistingAddressbooleanfalsenicknamestringadmite nulladdressobjectobligatoriocityobjectnamestringadmite nullstateobjectnamestringadmite nullstreetstringDirección, incluido el número de edificio o apartamento.
postalCodestringnamestringobligatorioadmite nullcompanyNamestringadmite nulltaxIdstringadmite nulltaxIdCountryobjectUn país, por su código ISO 3166-1 alfa-2.
isoCodestringADAEAFALAGAIAQAMAOARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRXKKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMHUMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSSSESGSHSISJSKSLSMSNSOSRSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYTYEZAZMZWCSANphonestring <phone>obligatorioadmite nullemailstring <email>obligatorioadmite nullCorreo del destinatario
countryobjectobligatorioUn país, por su código ISO 3166-1 alfa-2.
isoCodestringADAEAFALAGAIAQAMAOARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRXKKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMHUMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSSSESGSHSISJSKSLSMSNSOSRSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYTYEZAZMZWCSANuseExistingAddressbooleanaddressobjectobligatorioidnumber <int64>ID de la dirección
totalValuenumberexternalReferenceCodestringexternalCustomerIdstringinsurancebooleanAsegura el envío. Por defecto es false. Las tarifas siempre incluyen el precio del seguro (insuranceFee) en totalChargePrice; solo se cobra cuando esto es true.
incotermsstringDDUDDPparcelslista de objectdimUnitstringobligatorioUnidad de length, width y height.
cminwidthnumberobligatoriolengthnumberobligatorioheightnumberobligatorioweightUnitstringobligatorioUnidad de weight.
gmkgozlbgmweightnumberobligatorioparcel_itemslista de objectobligatorioskustringforwardingOrderItemIdstringEnvía un paquete que ya está en tu casillero: el uid del artículo de la orden de reenvío, tal como lo lista GET /forwarder. El artículo debe pertenecer a la cuenta del envío. Su peso y su cantidad, y su valor declarado cuando lo tiene, se leen del casillero, y las dimensiones del paquete se recalculan a partir de su peso. Un uid desconocido, o un artículo de otra cuenta, es un 400.
descriptionstringobligatoriocategoryobjectobligatorioslugstringobligatoriopricenumberobligatorioqtynumberobligatoriooriginCountryobjectisoCodestringweightnumbercurrencystring | CurrencyobligatorioMoneda del valor del artículo: un código ISO 4217 o un objeto de moneda.
namestringobligatoriocodestringobligatorioprefixstringobligatorioEl envío actualizado
Error de validación, o el envío ya no se puede editar
namestringBadRequestmessagestringcodenumber400classNamestringbad-requestdataobjectToken de acceso ausente o no válido
namestringNotAuthenticatedmessagestringcodenumber401classNamestringnot-authenticateddataobjectNingún envío tiene ese id
namestringNotFoundmessagestringcodenumber404classNamestringnot-founddataobjectcurl -X PATCH 'https://sandbox.weshipyou.com/api/v1/shipments/{shipmentId}' \
-H "Authorization: Bearer $WSY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"accountId": "CU1234567",
"sender": {
"useExistingAddress": false,
"nickname": "Main office",
"address": {
"city": {
"name": "Homestead",
"state": {
"name": "Florida"
}
},
"street": "924 NW 36 Ave",
"postalCode": "33033"
},
"name": "John Doe",
"companyName": "We Ship You Corp",
"taxId": "88-1345985",
"taxIdCountry": {
"isoCode": "US"
},
"phone": "+1 (786) 651-0451",
"email": "john.doe@weshipyou.com",
"country": {
"isoCode": "US"
}
},
"recipient": {
"useExistingAddress": false,
"nickname": "Main office",
"address": {
"city": {
"name": "Homestead",
"state": {
"name": "Florida"
}
},
"street": "924 NW 36 Ave",
"postalCode": "33033"
},
"name": "John Doe",
"companyName": "We Ship You Corp",
"taxId": "88-1345985",
"taxIdCountry": {
"isoCode": "US"
},
"phone": "+1 (786) 651-0451",
"email": "john.doe@weshipyou.com",
"country": {
"isoCode": "US"
}
},
"totalValue": 2999,
"externalReferenceCode": "ORDER-1001",
"externalCustomerId": "CUST-42",
"insurance": true,
"incoterms": "DDU",
"parcels": [
{
"dimUnit": "cm",
"width": 10,
"length": 10,
"height": 10,
"weightUnit": "gm",
"weight": 100,
"parcel_items": [
{
"sku": "SKU-WSY-EXAMPLE",
"description": "Play Station 4",
"category": {
"slug": "board_games"
},
"price": 450,
"qty": 1,
"originCountry": {
"isoCode": "JP"
},
"weight": 2.5,
"currency": "USD"
}
]
}
]
}'{
"uid": "42ailx0umn2q",
"state": "created",
"statusTracking": "in transit",
"transactionState": null,
"externalReferenceCode": "ORDER-1002",
"externalCustomerId": "CUST-42",
"externalUniqueId": null,
"incoterms": "DDU",
"weightUnit": "gm",
"dimUnit": "cm",
"weight": 2.5,
"length": 10,
"width": 10,
"height": 10,
"totalValue": 450,
"insurance": true,
"insuranceAmount": null,
"sellerNotes": null,
"buyerNotes": null,
"labelCreatedAt": null,
"deliveredAt": null,
"cancellationReason": null,
"cancellationReasonCode": null,
"sender": {
"uid": "vbnk8892rbji",
"nickname": "Main office",
"companyName": "We Ship You Corp",
"name": "John Doe",
"taxId": "88-1345985",
"email": "john.doe@weshipyou.com",
"phone": "+1 (786) 651-0451",
"isResidential": false,
"status": "active",
"address": {
"uid": "e9j57zlvd0z8",
"houseNumber": "924",
"road": "nw 36 ave",
"unit": null,
"city": {
"name": "Homestead",
"state": {
"name": "Florida",
"isoCode": "FL",
"country": {
"isoCode": "US",
"name": "United States"
}
}
},
"postal_code": {
"postalCode": "33033"
}
}
},
"recipient": {
"uid": "vbnk8892rbji",
"nickname": "Main office",
"companyName": "We Ship You Corp",
"name": "John Doe",
"taxId": "88-1345985",
"email": "john.doe@weshipyou.com",
"phone": "+1 (786) 651-0451",
"isResidential": false,
"status": "active",
"address": {
"uid": "e9j57zlvd0z8",
"houseNumber": "924",
"road": "nw 36 ave",
"unit": null,
"city": {
"name": "Homestead",
"state": {
"name": "Florida",
"isoCode": "FL",
"country": {
"isoCode": "US",
"name": "United States"
}
}
},
"postal_code": {
"postalCode": "33033"
}
}
},
"createdAt": "2026-11-01T00:37:51.000Z",
"updatedAt": "2026-11-01T00:37:52.000Z"
}Elimina un envío que todavía no tiene etiqueta (estado created). Para cancelar un envío cuya etiqueta ya se compró, usa DELETE /shipments/labels/{trackingNumber}.
shipmentIdstringobligatorioEl uid del envío, o su número de rastreo de WeShipYou (WSY…).
Accept-LanguagestringCódigo de dos letras del idioma de los mensajes: en, es o pt.
en-USEl envío eliminado
El envío no se puede eliminar en su estado actual
namestringBadRequestmessagestringcodenumber400classNamestringbad-requestdataobjectToken de acceso ausente o no válido
namestringNotAuthenticatedmessagestringcodenumber401classNamestringnot-authenticateddataobjectNingún envío tiene ese id
namestringNotFoundmessagestringcodenumber404classNamestringnot-founddataobjectcurl -X DELETE 'https://sandbox.weshipyou.com/api/v1/shipments/{shipmentId}' \
-H "Authorization: Bearer $WSY_ACCESS_TOKEN"{
"uid": "wwbvygom0rlz",
"state": "created",
"statusTracking": "in transit",
"transactionState": null,
"externalReferenceCode": "shp1x6",
"externalCustomerId": null,
"externalUniqueId": null,
"incoterms": "DDU",
"weightUnit": "gm",
"dimUnit": "cm",
"weight": 1000,
"length": 10,
"width": 10,
"height": 10,
"totalValue": 10,
"insurance": 0,
"insuranceAmount": null,
"sellerNotes": null,
"buyerNotes": null,
"labelCreatedAt": null,
"deliveredAt": null,
"cancellationReason": null,
"cancellationReasonCode": null,
"createdAt": "2026-11-01T00:37:50.000Z",
"updatedAt": "2026-11-01T00:37:50.000Z"
}Lista las categorías de contenido que puede declarar un artículo de un paquete.
Accept-LanguagestringCódigo de dos letras del idioma de los mensajes: en, es o pt.
en-USUna página de categorías de contenido de envío.
totalintegerobligatorioNúmero total de registros que coinciden.
limitintegerobligatorioTamaño de página usado en esta respuesta.
skipintegerobligatorioNúmero de registros omitidos antes de esta página.
datalista de CategoríaobligatorioToken de acceso ausente o no válido
namestringNotAuthenticatedmessagestringcodenumber401classNamestringnot-authenticateddataobjectProhibido
curl 'https://sandbox.weshipyou.com/api/v1/shipments/categories' \
-H "Authorization: Bearer $WSY_ACCESS_TOKEN"{
"total": 30,
"limit": 500,
"skip": 0,
"data": [
{
"uid": "u40h56jccmdi",
"name": "Phone Accessory (no battery)",
"slug": "accessory_no_battery",
"weight": null,
"length": null,
"width": null,
"height": null,
"containsDocuments": 0,
"containsOtherDg": 0,
"containsLiquids": 0,
"containsBatteryPi967": 0,
"containsBatteryPi966": 0,
"containsBatteryPi965": 0,
"parentId": null
}
]
}Lista las categorías de contenido que usa un país de destino para la aduana.
Accept-LanguagestringCódigo de dos letras del idioma de los mensajes: en, es o pt.
en-USUna página de categorías de contenido por país.
totalintegerobligatorioNúmero total de registros que coinciden.
limitintegerobligatorioTamaño de página usado en esta respuesta.
skipintegerobligatorioNúmero de registros omitidos antes de esta página.
datalista de Categoría por paísobligatorioToken de acceso ausente o no válido
namestringNotAuthenticatedmessagestringcodenumber401classNamestringnot-authenticateddataobjectProhibido
curl 'https://sandbox.weshipyou.com/api/v1/shipments/country-categories' \
-H "Authorization: Bearer $WSY_ACCESS_TOKEN"{
"total": 0,
"limit": 500,
"skip": 0,
"data": []
}Compra la etiqueta de uno o varios envíos con la tarifa que elegiste. El cobro se registra en tu billetera de WeShipYou: primero se usa tu saldo y solo el resto se cobra a paymentMethod.
Cada etiqueta cuesta el totalChargePrice de su tarifa menos insuranceFee cuando el envío no está asegurado (las tarifas siempre incluyen el seguro), más pickupFee y minimumPickupFee para una entrega pickup. Un cupón reduce ese precio aún más.
Accept-LanguagestringCódigo de dos letras del idioma de los mensajes: en, es o pt.
en-USaccountIdstringuid de la cuenta, número de cuenta (CU…) o número de cuenta externo.
paymentMethod"credit_line" | objectCómo pagar lo que el saldo de tu billetera no cubre: "credit_line" para cuentas con línea de crédito, o una tarjeta guardada como { "paymentMethodId": "pm_…" }. Se puede omitir cuando el saldo cubre el monto completo.
credit_linepaymentMethodIdstringusePointsbooleanUsa primero tus puntos de WeShipYou.
insurancebooleanAsegura todos los envíos de esta compra (true) o ninguno (false). Omítelo para mantener el insurance propio de cada envío.
handoverOptionslista de objectobligatoriohandoverOptionstringobligatoriodropoffpickuppickupDatestring <date>pickupTimestringshipmentslista de objectobligatorioshipmentIdstringobligatoriouid del envío o número de rastreo de WeShipYou.
rateIdstringobligatorioEl uid de la tarifa elegida para ese envío.
El resultado de cada lote de etiquetas
statusstringobligatorioResultado del lote.
fulfilledrejectedreasonanyPor qué falló el lote, cuando status es rejected.
Solicitud no válida, pago no encontrado o fondos insuficientes
namestringBadRequestmessagestringcodenumber400classNamestringbad-requestdataobjectToken de acceso ausente o no válido
namestringNotAuthenticatedmessagestringcodenumber401classNamestringnot-authenticateddataobjectNo tienes acceso a esta cuenta
namestringForbiddenmessagestringcodenumber403classNamestringforbiddendataobjectcurl -X POST 'https://sandbox.weshipyou.com/api/v1/shipments/labels' \
-H "Authorization: Bearer $WSY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"accountId": "CU1234567",
"paymentMethod": "credit_line",
"usePoints": true,
"insurance": false,
"handoverOptions": [
{
"handoverOption": "dropoff",
"pickupDate": "2026-10-02",
"pickupTime": "10:00",
"shipments": [
{
"shipmentId": "6f1c2b8e-3d4a-4f5b-9c6d-7e8f9a0b1c2d",
"rateId": "0b1c2d3e-4f5a-4b6c-8d7e-9f0a1b2c3d4e"
}
]
}
]
}'[
{
"status": "fulfilled"
}
]Cancela una etiqueta que el transportista todavía no ha recogido. Lo que pagaste por ella se acredita de vuelta a tu billetera de WeShipYou.
trackingNumberstringobligatorioEl número de rastreo de WeShipYou de la etiqueta.
Accept-LanguagestringCódigo de dos letras del idioma de los mensajes: en, es o pt.
en-USLa etiqueta se canceló
idstringobligatorioNúmero de rastreo de WeShipYou de la etiqueta cancelada.
La etiqueta ya no se puede cancelar
namestringBadRequestmessagestringcodenumber400classNamestringbad-requestdataobjectToken de acceso ausente o no válido
namestringNotAuthenticatedmessagestringcodenumber401classNamestringnot-authenticateddataobjectNo tienes acceso a esta cuenta
namestringForbiddenmessagestringcodenumber403classNamestringforbiddendataobjectNo encontrado
namestringNotFoundmessagestringcodenumber404classNamestringnot-founddataobjectEl envío cambió de estado durante la cancelación; vuelve a intentarlo
namestringConflictmessagestringcodenumber409classNamestringconflictdataobjectcurl -X DELETE 'https://sandbox.weshipyou.com/api/v1/shipments/labels/{trackingNumber}' \
-H "Authorization: Bearer $WSY_ACCESS_TOKEN"{
"id": "WSYOP5B60J3SCU"
}Registra que el destinatario recibió un envío que está en tránsito o entregado. No se necesita token de acceso: el número de rastreo y el número de cuenta identifican el envío.
Un envío que ya está delivered siempre se puede confirmar. Un envío in_transit solo se puede confirmar cuando está atrasado (su etiqueta se compró hace al menos 30 días y, si tiene una fecha prometida de entrega, pasaron al menos 15 días desde esa fecha) y no ha llegado a WeShipYou en destino. Cuando el paquete ya está con WeShipYou en Cuba (recogido en el aeropuerto o el puerto, en un viaje de tránsito o en una ruta de entrega), solo WeShipYou lo marca como entregado. Un rechazo es un 400 con data.code: delivery-confirmation-at-destination, o delivery-confirmation-too-early con data.availableFrom.
Accept-LanguagestringCódigo de dos letras del idioma de los mensajes: en, es o pt.
en-UStrackingNumberstringobligatorioaccountNumberstringobligatorioEl número de cuenta del dueño del envío (CU…).
Entrega registrada
okbooleantrueidstringEl número de rastreo.
Faltan campos, la cuenta o el envío no existen, o el envío no está en tránsito
namestringBadRequestmessagestringcodenumber400classNamestringbad-requestdataobjectcurl -X POST 'https://sandbox.weshipyou.com/api/v1/shipments/confirm-delivery' \
-H "Content-Type: application/json" \
-d '{
"trackingNumber": "WSY0000000000US",
"accountNumber": "CU1234567"
}'{
"ok": true,
"id": "WSYZD8KI41VSCU"
}