FeniciaDocs
DocumentaciónAPICambiosSoporte
Buscar⌘K
API de ÓrdenesListar PedidosCrear un pedidoBuscar PedidosConsultar un pedidoActualizar un pedidoTransiciones de Estado de PedidosPreparación y EnvíoDevoluciones y ReembolsosAdjuntosHistorial y ExportaciónCarritos AbandonadosCatálogo de Errores

Producto

  • Características
  • Precios
  • Integraciones

Recursos

  • Documentación
  • API
  • Cambios
  • Blog

Empresa

  • Sobre nosotros
  • Contacto
  • Carreras

Legal

  • Privacidad
  • Términos
FeniciaLa plataforma de e-commerce para merchants profesionales

© 2026 Hobbio Inc. Todos los derechos reservados.

Consultar un pedido

Este endpoint devuelve toda la información de un pedido: sus items, el cliente, la dirección de envío, el historial de pagos y los enlaces HATEOAS con las acciones que puedes ejecutar según su estado actual.

Úsalo cuando necesites:

  • Mostrar el detalle de un pedido en tu aplicación.
  • Sincronizar información hacia sistemas externos.
  • Verificar el estado actual antes de ejecutar una transición (aceptar, preparar, cancelar).
  • Auditar la trazabilidad de un pedido específico.

Endpoint

Obtiene un pedido por su ID de MongoDB

Permiso requerido: orders:read

Parámetros de ruta

ParámetroTipoDescripción
orderIdstringObjectId del pedido (24 caracteres hex). Se obtiene al crear un pedido o desde el listado.

Proyección de campos

Si solo necesitas algunos campos, usa ?fields= para reducir el tamaño de la respuesta:

GET /orders/65f3a1b2c4d5e6f7a8b9c0d1?fields=externalId,orderStatus,total,items

Tip

La proyección mejora el rendimiento cuando consultas pedidos en lote o desde clientes móviles con conexiones lentas.

Enlaces HATEOAS

El objeto _links te indica qué acciones están disponibles sobre el pedido según su estado actual. No tienes que hardcodear la lógica de transiciones en tu cliente.

EnlaceAparece cuando
acceptEl pedido está en pending.
rejectEl pedido está en pending.
prepareEl pedido está en accepted.
cancelEl pedido no ha sido enviado ni entregado.
returnsEl pedido está en fulfilled o delivered.
attachmentsSiempre disponible para adjuntar archivos.

Si un enlace no aparece, la acción no es válida en el estado actual.

Ejemplos

curl https://api.fenicia.io/orders/65f3a1b2c4d5e6f7a8b9c0d1 \
  -H "Authorization: Bearer fn_live_tu_api_key"

Respuesta de ejemplo

{
  "_id": "65f3a1b2c4d5e6f7a8b9c0d1",
  "externalId": "FEN-10042",
  "tenantId": "69db07c8bce4d49b18c42a49",
  "channelId": "manual",
  "channelType": "manual",
  "orderStatus": "accepted",
  "paymentStatus": "paid",
  "currency": "MXN",
  "subtotal": 1798.50,
  "discount": 100.00,
  "tax": 287.76,
  "total": 1986.26,
  "items": [
    {
      "sku": "CAM-ROJO-M",
      "productName": "Camisa Roja Talla M",
      "quantity": 2,
      "unitPrice": 499.00,
      "lineTotal": 998.00
    },
    {
      "sku": "PAN-AZUL-32",
      "productName": "Pantalón Azul 32",
      "quantity": 1,
      "unitPrice": 899.50,
      "discount": 100.00,
      "lineTotal": 799.50
    }
  ],
  "customerInfo": {
    "customerId": "65f3a1b2c4d5e6f7a8b9c0d2",
    "firstName": "María",
    "lastName": "González",
    "email": "maria.gonzalez@example.com",
    "phone": "+525512345678"
  },
  "shippingAddress": {
    "street": "Av. Reforma 123",
    "city": "Ciudad de México",
    "state": "CDMX",
    "zipCode": "06600",
    "country": "MX"
  },
  "deliveryInfo": { "method": "express", "carrier": "dhl" },
  "timeline": [
    { "event": "order_created", "timestamp": "2026-04-11T14:23:11.000Z" },
    { "event": "payment_received", "timestamp": "2026-04-11T14:23:15.000Z" },
    { "event": "order_accepted", "timestamp": "2026-04-11T14:30:02.000Z" }
  ],
  "orderCreated": "2026-04-11T14:23:11.000Z",
  "updatedAt": "2026-04-11T14:30:02.000Z",
  "_links": {
    "self": "/orders/65f3a1b2c4d5e6f7a8b9c0d1",
    "prepare": "/orders/65f3a1b2c4d5e6f7a8b9c0d1/prepare",
    "cancel": "/orders/65f3a1b2c4d5e6f7a8b9c0d1/cancel",
    "attachments": "/orders/65f3a1b2c4d5e6f7a8b9c0d1/attachments"
  }
}

Errores

CódigoStatusDescripción
ORDER_NOT_FOUND404No existe un pedido con ese ID en tu tenant.
INVALID_OBJECT_ID400El orderId no tiene formato válido de ObjectId.
INSUFFICIENT_PERMISSIONS403La API key no tiene el scope orders:read.
INVALID_API_KEY401La API key es inválida o fue revocada.

Aislamiento por tenant

Solo puedes consultar pedidos de tu propio tenant. Intentar acceder a un pedido de otro tenant devuelve 404, nunca información cruzada.

Siguientes pasos

  • Actualizar un pedido
  • Transiciones de estado
  • Buscar pedidos
  • Crear un pedido