API de Socio de Envíos · v1

API de Socio de Envíos de Pigee

Integra envíos globales multitransportista en tiempo real, aduanas automatizadas, seguimiento en vivo y cobro de pagos en tus propios sistemas, con una única API REST. Funciona para agentes de envío, 3PLs, plataformas de comercio electrónico e integraciones de cumplimiento personalizadas.

REST
JSON
190+ países
200+ transportistas
135+ divisas

Tarifas multitransportista en vivo

DHL, FedEx, UPS, Aramex, Parcelforce y más de 200 mensajerías locales, todo en un único POST. Devuelve tarifas ordenadas con tiempo de tránsito y coste total de entrega.

🤖

Automatización aduanera con IA

Clasifica automáticamente los códigos HS a partir de tu catálogo de productos. Facturas comerciales, declaraciones aduaneras y aranceles calculados por destino.

💳

Cobro con Pigee Pay

Comparte un enlace de pago o integra el checkout. Cobra a tus clientes finales en más de 135 divisas y liquida en tu banco en tu moneda local.

📡

Webhooks en tiempo real

Recibe shipment.created, payment.received, parcel.delivered y muchos más eventos enviados a tu endpoint al instante.

🏷️

Etiquetas y facturas

Etiquetas en PDF y facturas comerciales generadas automáticamente al crear el pedido. Sin necesidad de portales de transportistas.

💰

Tarifas de servicio personalizadas

Añade tu propio margen porcentual o de tarifa fija sobre las tarifas base de Pigee por transportista, por ruta o de forma global.

Inicio rápido

Desde la creación de la cuenta hasta tu primer envío en producción en menos de una hora. Sigue estos cinco pasos:

  1. Crea una cuenta gratuita de Pigee en account.pigeepost.com y selecciona Shipping Partner como tipo de cuenta.
  2. Ve a Dashboard → Developer → API Keys y genera una clave de producción y una clave de prueba.
  3. Elige tu modo de pago: Pigee Pay o Pigee Account Balance.
  4. Configura tu tarifa de servicio en Dashboard → Fees.
  5. Importa la colección de Postman para el desarrollo en el entorno de pruebas.
💡
Consejo: El sandbox de Postman replica el entorno de producción con transportistas sintéticos, eventos aduaneros y pagos simulados. No se realiza ningún cargo real.

Autenticación

Cada solicitud debe incluir tu clave API en la cabecera Authorization como un Bearer token. Las claves están vinculadas a tu cuenta de socio y llevan asociada tu configuración de tarifas y tu modo de pago.

Cabecera HTTP
Authorization: Bearer pgk_live_YOUR_API_KEY_HERE

Tipos de clave

PrefijoEntornoDescripción
pgk_live_…PRODUCCIÓNEnvíos reales y cargos reales.
pgk_test_…PRUEBASolo sandbox. Sin cargos, respuestas de transportistas simuladas, segura para CI/CD.
⚠️
Seguridad: Nunca expongas tu clave API en el lado del cliente ni en repositorios públicos. Regenera de inmediato las claves comprometidas desde tu panel de control.

Entornos y URL base

Producciónhttps://api.pigeepost.comPRODUCCIÓN
Sandboxhttps://sandbox.api.pigeepost.comPRUEBA

El sandbox es una réplica exacta y completa del entorno de producción. Cambia de entorno sustituyendo el prefijo de tu clave, o usa la URL explícita del sandbox para mayor claridad.

ℹ️
Versión de la API: Todos los endpoints están actualmente en v1. La versión forma parte de la ruta: /api/v1/….

SDKs y bibliotecas

Los SDK oficiales encapsulan la API REST con modelos tipados, reintentos automáticos y herramientas de sandbox.

🟨 JavaScript / Node.js
🐍 Python
🐘 PHP
📱 iOS Swift
🤖 Android Kotlin
🛒 Plugin de WooCommerce
🛍️ App de Shopify
📮 colección de Postman

Validar clave de API

Llama a este endpoint para confirmar que tu clave de API está activa y correctamente configurada antes de pasar a producción.

POST/api/v1/store/valid200 OK
Valida tu clave de API y devuelve los datos de la cuenta de partner.
Solicitud
POST /api/v1/store/valid
Authorization: Bearer pgk_live_…
Content-Type: application/json

{
  "store_type": 2,
  "api_key": "pgk_live_YOUR_KEY"
}
Respuesta 200
{
  "valid": true,
  "account": {
    "id": "acc_7H4K",
    "type": "shipping_partner",
    "payment_mode": "pigee_pay",
    "service_fee_pct": 8.5,
    "balance_gbp": 240.00
  }
}

Obtener tarifas de envío

Consulta tarifas de transportistas en tiempo real para un envío. Devuelve todos los servicios disponibles ordenados por precio, incluyendo tiempo de tránsito, cobertura de seguro y coste total de importación.

POST/api/v1/store/order/getcarriercost200 OK
Devuelve un array con las opciones de transportista disponibles, con precios, tiempos de tránsito estimados y un carrier_request_id para usar al crear el pedido.
Cuerpo de la solicitud
{
  "shop_url": "https://your-store.com",
  "currency": "GBP",
  "parcel": {
    "type": "Box",
    "boxsize": 4
  },
  "weight": { "value": 4, "units": "kg" },
  "dimension": {
    "length": 40,
    "width": 30,
    "height": 20,
    "units": "cms"
  },
  "address": {
    "pickup": {
      "address_line1": "10 High Street",
      "town": "London",
      "post_code": "SW1A 1AA",
      "country": "United Kingdom"
    },
    "destination": {
      "address_line1": "123 Ocean Drive",
      "town": "Miami",
      "post_code": "33101",
      "country": "United States"
    }
  }
}
Respuesta 200
{
  "rates": [
    {
      "carrier_request_id": "cr_abc123",
      "carrier_id": "dhl",
      "pigee_carrier_id": "DHL_EXPRESS_WORLDWIDE",
      "method_title": "DHL Express Worldwide",
      "price": 125.50,
      "currency": "GBP",
      "transit_days": 2,
      "insurance_available": true,
      "customs_included": true
    }
  ],
  "currency": "GBP",
  "request_id": "req_7H4K2026"
}

Parámetros de la solicitud

CampoTipoObligatorioDescripción
shop_urlstringobligatorioURL de tu tienda o plataforma.
currencystringobligatorioCódigo de moneda ISO 4217.
parcel.typestringobligatorioBox | Bag | Tube | Pallet
parcel.boxsizeintegerobligatorioNivel de tamaño del 1 al 6.
weight.valuenumberobligatorioPeso real del paquete.
weight.unitsstringobligatoriokg | lbs
dimensionobjectopcionalLargo, ancho, alto y unidades.
address.pickupobjectobligatorioDirección del remitente.
address.destinationobjectobligatorioDirección del destinatario.

Crear pedido

Crea un pedido de Pigee usando un carrier_request_id del endpoint de tarifas. Pigee genera la etiqueta, la factura comercial y, si usas Pigee Pay, un enlace de pago alojado.

ℹ️
Modo de pago se configura en tu panel de control, no en esta solicitud.
POST/api/v1/store/order/create200 OK
Crea un envío y devuelve un ID de pedido Pigee, la URL de la etiqueta y el enlace de pago alojado si es necesario.
Cuerpo de la solicitud
{
  "order_from": "api",
  "shop_url": "https://your-store.com",
  "order_id": "ORDER-10001",
  "currency": "GBP",
  "items": [
    {
      "name": "Vintage leather jacket",
      "quantity": 1,
      "value": 600.00,
      "currency": "GBP",
      "hs_code": "4203100090"
    }
  ],
  "shippingData": {
    "method_title": "DHL Express Worldwide",
    "cost": 125.50,
    "currency": "GBP",
    "meta_data": {
      "carrier_request_id": "cr_abc123",
      "carrier_id": "dhl",
      "pigee_carrier_id": "DHL_EXPRESS_WORLDWIDE"
    }
  }
}
Respuesta 200
{
  "order_id": "po_78910",
  "pigee_order_id": "PGE-7H4K-2026-0042",
  "status": "pending_payment",
  "payment_url": "https://pay.pigee.com/c/abc123",
  "label_url": null,
  "tracking_number": null
}

Completar pedido

Envía los datos finales de cumplimiento una vez confirmado el pago. Pigee genera la etiqueta de envío, reserva el transportista y devuelve un número de seguimiento.

POST/api/v1/store/order/fulfill200 OK
Activa la generación de etiquetas y la reserva del transportista.
Cuerpo de la solicitud
{
  "order_id": "po_78910",
  "status": "processing",
  "shop_id": "https://your-store.com",
  "currency": "GBP",
  "total": 725.50,
  "shipping_total": 125.50
}
Respuesta 200
{
  "order_id": "po_78910",
  "pigee_order_id": "PGE-7H4K-2026-0042",
  "status": "booked",
  "label_url": "https://labels.pigeepost.com/PGE-7H4K-2026-0042.pdf",
  "tracking_number": "1234567890",
  "carrier": "DHL",
  "estimated_delivery": "2026-05-08"
}

Seguimiento

Consulta eventos de seguimiento en tiempo real para cualquier envío creado a través de la API.

GET/api/v1/tracking/{pigee_order_id}200 OK
Devuelve el historial de seguimiento normalizado de un envío.
Respuesta 200
{
  "pigee_order_id": "PGE-7H4K-2026-0042",
  "tracking_number": "1234567890",
  "carrier": "DHL",
  "status": "in_transit",
  "estimated_delivery": "2026-05-08",
  "events": [
    {
      "timestamp": "2026-05-06T08:14:00Z",
      "status": "in_transit",
      "location": "DHL Hub, Leipzig",
      "description": "Shipment in transit"
    }
  ]
}

Métodos de pago

Pigee admite dos modos de pago. El modo activo se configura en tu panel de socio y se aplica a todos los pedidos.

ModoCómo funcionaIdeal para
Pigee PayPigee aloja una página de pago. La creación del pedido devuelve un payment_url.Integraciones de comercio electrónico y marketplaces.
Saldo de la cuentaEl coste del envío se descuenta de tu saldo Pigee prefinanciado.Agentes de transporte, operadores 3PL y socios de gran volumen.

Tarifas de servicio

Como Socio de Envíos, puedes añadir tu propia tarifa sobre las tarifas base del transportista de Pigee. Las tarifas se configuran en tu panel y se aplican automáticamente antes de devolver los precios.

  • Tarifa porcentual: Se aplica como un porcentaje del coste base del transportista.
  • Tarifa fija: Un importe fijo añadido por envío.
  • Excepciones por ruta: Anula la tarifa global para pares específicos de origen/destino.

Liquidaciones y cambio de divisas

Pigee Pay cobra a los clientes finales en más de 135 divisas y liquida en tu cuenta bancaria en tu moneda local.

  • El ciclo de liquidación suele ser T+2 días hábiles tras la confirmación de entrega del envío.
  • Retira fondos de tu saldo Pigee a través del panel.
  • Los registros detallados de transacciones están disponibles en Finanzas → Liquidaciones.
  • Las facturas de las transacciones liquidadas se generan automáticamente y están disponibles en PDF.

Webhooks

Pigee envía eventos en tiempo real a tu endpoint HTTPS en formato JSON POST solicitudes. Configura la URL de tu webhook en Panel → Desarrollador → Webhooks.

Ejemplo de payload de webhook
{
  "event": "parcel.delivered",
  "created_at": "2026-05-08T14:22:07Z",
  "api_version": "v1",
  "data": {
    "pigee_order_id": "PGE-7H4K-2026-0042",
    "order_id": "ORDER-10001",
    "carrier": "DHL",
    "tracking_number": "1234567890",
    "delivered_at": "2026-05-08T14:18:00Z"
  }
}

Referencia de eventos de webhook

shipment.createdPedido confirmado, transportista reservado, etiqueta generada.shipment
payment.receivedEl cliente completó el pago con Pigee Pay.payment
payment.failedEl pago con Pigee Pay expiró o fue rechazado.payment
parcel.collectedEl transportista recogió el paquete del remitente.tracking
parcel.in_transitPaquete escaneado en un centro de tránsito.tracking
parcel.customs_holdPaquete retenido en aduana.aduana
parcel.customs_clearedDespacho aduanero completado.aduana
parcel.out_for_deliveryPaquete cargado en el vehículo de última milla.tracking
parcel.deliveredEntrega confirmada.tracking
parcel.delivery_failedIntento de entrega fallido.tracking
parcel.returnedPaquete devuelto al remitente.tracking
settlement.completedFondos liquidados en tu cuenta bancaria.payment

Firmas de Webhook

Cada solicitud de webhook incluye un encabezado X-Pigee-Signature , un resumen HMAC-SHA256 del cuerpo bruto de la solicitud. Verifícalo siempre antes de procesarlo.

Ejemplo de verificación en Node.js
// Node.js
const crypto = require('crypto');

function verifyPigeeWebhook(rawBody, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(rawBody)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(expected, 'hex'),
    Buffer.from(signature, 'hex')
  );
}
⚠️
Usa una comparación segura frente a ataques de temporización para evitar ataques de temporización. Rechaza cualquier webhook cuya firma no coincida.

Errores

Todos los errores devuelven JSON con un objeto error que contiene un code legible por máquina y un message.

Respuesta de error
{
  "error": {
    "code": "INSUFFICIENT_BALANCE",
    "message": "Your Pigee partner balance is not sufficient to create this shipment.",
    "request_id": "req_7H4K2026"
  }
}
HTTPCódigo de errorSignificado y solución
400INVALID_REQUESTCampo faltante o mal formado.
401INVALID_API_KEYLa clave falta, está mal formada o ha sido revocada.
402INSUFFICIENT_BALANCESaldo de la cuenta insuficiente.
403FORBIDDENEl tipo de cuenta no tiene acceso a este endpoint.
404ORDER_NOT_FOUNDNo se encontró ningún pedido con el ID indicado.
409ORDER_ALREADY_FULFILLEDEl pedido ya ha sido procesado.
422INVALID_ADDRESSLa dirección no pudo validarse.
422CARRIER_UNAVAILABLENo hay servicios de transportista disponibles para esta ruta.
422RATE_EXPIREDcarrier_request_id caducada. Vuelve a consultar las tarifas.
429RATE_LIMITEDDemasiadas solicitudes. Reduce la frecuencia y vuelve a intentarlo.
500INTERNAL_ERRORError del lado de Pigee. Reintentar con back-off.
503CARRIER_TIMEOUTLa API del transportista tardó demasiado en responder.

Límites de solicitudes

Los límites de solicitudes se aplican por clave de API y varían según el nivel de tu cuenta.

Nivel de cuentaSolicitudes / minutoSolicitudes / día
Prueba gratuita601,000
Shipping Partner en producción30050,000
EmpresarialPersonalizadoPersonalizado

Cuando se alcanza un límite de solicitudes, la API devuelve HTTP 429 con un encabezado Retry-After .

Tipos de datos y convenciones

  • Fechas y horas - ISO 8601 UTC, p. ej. 2026-05-06T14:22:07Z
  • Divisas - Códigos de tres letras ISO 4217, p. ej. GBP, USD, NGN
  • Valores monetarios - number con dos decimales, siempre acompañados de un campo currency campo
  • Nombres de países - Nombres completos en inglés, p. ej. "United Kingdom", "United States"
  • Números de teléfono - Se recomienda el formato E.164, p. ej. +447700900123
  • Pesos - kg o lbs especificados por solicitud
  • IDs - Los IDs generados por Pigee usan un formato con prefijo, p. ej. po_78910, cr_abc123

Referencia de IDs de transportistas

Usa una pigee_carrier_id valores de la respuesta de tarifas al crear pedidos.

carrier_idEjemplo pigee_carrier_idRegión
dhlDHL_EXPRESS_WORLDWIDE, DHL_EXPRESS_12Global
fedexFEDEX_INTERNATIONAL_PRIORITY, FEDEX_INTERNATIONAL_ECONOMYGlobal
upsUPS_WORLDWIDE_EXPRESS, UPS_WORLDWIDE_EXPEDITEDGlobal
aramexARAMEX_EXPRESS, ARAMEX_ECONOMYMENA, África, Asia
parcelforcePARCELFORCE_EXPRESS24, PARCELFORCE_GLOBAL_EXPRESSReino Unido e internacional
teleportTELEPORT_STANDARDSudeste Asiático
local_*local_5b3, local_8acRegional, devuelto dinámicamente

Registro de cambios

v1.3 - mayo de 2026

  • Se añadieron los indicadores insurance_available y customs_included a la respuesta de tarifas.
  • La verificación de firma de los webhooks ahora utiliza HMAC-SHA256.
  • Nuevo código de error RATE_EXPIRED.
  • Endpoint de seguimiento añadido: GET /api/v1/tracking/{pigee_order_id}.

v1.2 - febrero de 2026

  • Se añadieron anulaciones de tarifas de servicio por ruta en el panel.
  • Los enlaces de pago de Pigee Pay ahora incluyen un campo expires_at campo.
  • Nuevos eventos de webhook añadidos para aduanas y liquidaciones.

v1.1 - octubre de 2025

  • Publicación de la colección inicial de Postman.
  • Lanzamiento del entorno sandbox.
  • Lanzamiento del modo de pago con Saldo de Cuenta.

v1.0 - junio de 2025

  • Lanzamiento público inicial: Validar, Obtener Tarifas, Crear Pedido, Procesar Pedido.
🚀 SEO por Pigee