Documentación para desarrolladores

Smart Sends Express API

Integra envíos multi-carrier en tu plataforma con unas pocas líneas de código

Empezar gratis
Base URLhttps://smartsendsllc.com/api/v1

Quick Start

Obtén una cotización multi-carrier en segundos.

curl -X POST https://smartsendsllc.com/api/v1/quotes \
  -H "Authorization: Bearer ss_live_tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "origin": {"city":"Bogota","state":"Cundinamarca","country":"CO","postal_code":"110111"},
    "destination": {"city":"Miami","state":"Florida","country":"US","postal_code":"33101"},
    "package": {"weight_kg":2,"length_cm":30,"width_cm":20,"height_cm":15}
  }'

Características

Todo lo que necesitas para gestionar envíos a escala.

Multi-Carrier

DHL, FedEx, TCC, Coordinadora, ServiEntrega — cotiza y envía con todos desde un solo endpoint.

Webhooks en Tiempo Real

Recibe notificaciones automáticas cada vez que un envío cambie de estado.

Rastreo Unificado

Un solo endpoint para rastrear envíos de cualquier carrier, sin importar quién lo transporte.

Seguridad

HMAC signatures para webhooks, rate limiting configurable y scopes granulares por API key.

Referencia API

Todos los endpoints disponibles. Haz clic para expandir detalles y ejemplos.

Guías de Integración

Conecta Smart Sends con tu plataforma de e-commerce favorita.

  1. 1

    Obtén tu API key en /dashboard/developers

  2. 2

    En tu admin de Shopify, ve a Settings > Shipping

  3. 3

    Agrega "Carrier Service" con URL: https://smartsendsllc.com/api/v1/carrier/shopify/rates

  4. 4

    Las tarifas aparecerán automáticamente en el checkout

Webhooks

Recibe notificaciones en tiempo real cuando cambia el estado de un envío.

Eventos disponibles

shipment.createdEnvío creado y guía generada
shipment.shippedEnvío despachado por el carrier
shipment.in_transitEnvío en tránsito
shipment.deliveredEnvío entregado al destinatario
shipment.cancelledEnvío cancelado
shipment.exceptionProblema con el envío (devolución, dirección incorrecta, etc.)

Verificación de firma

Cada petición webhook incluye un header X-Signature con la firma HMAC-SHA256 del body. Verifica siempre la firma antes de procesar el evento.

const crypto = require('crypto');

function verifySignature(payload, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

Política de reintentos

Si tu endpoint responde con un código diferente a 2xx, reintentamos hasta 3 veces con backoff exponencial:2s → 4s → 8s.

Autenticación

Cómo autenticarte y los límites de uso de la API.

API Key

Envía tu API key en cada petición usando uno de estos headers:

Authorization: Bearer ss_live_tu_api_key

# o alternativamente:
X-API-Key: ss_live_tu_api_key

Rate Limiting

Por defecto, cada API key tiene un límite de 60 solicitudes por minuto. Los headers de respuesta incluyen información del estado actual:

HeaderDescripción
X-RateLimit-LimitLímite máximo de solicitudes por minuto
X-RateLimit-RemainingSolicitudes restantes en la ventana actual
X-RateLimit-ResetTimestamp Unix cuando se renueva la ventana

Scopes

Cada API key tiene scopes granulares que controlan qué operaciones puede realizar. Los scopes disponibles son:

quotes:readshipments:readshipments:writetracking:readaddresses:readwebhooks:manage