Skip to main content
GET
Retorna un listado paginado de órdenes de un negocio, pensado para scroll infinito. Permite filtrar por sucursal, “tab” de estado, agente de soporte asignado y rango de fechas.
Este endpoint no usa x-api-key. Requiere un token de sesión de usuario (a diferencia de otros endpoints de órdenes como Enviar Link de Pago o Agregar Producto a una Orden, que sí aceptan App Key). Además, el negocio debe tener un plan asignado; si no lo tiene, la respuesta es 400.

Autenticación

Requiere el parámetro token (token de sesión del usuario) enviado en el query string o en el body de la solicitud. Consulta Autenticación.

Parámetros de ruta

number
required
ID del negocio cuyas órdenes se desean listar.

Parámetros de consulta

string
required
Token de sesión del usuario.
string
Filtra por “tab” de estado. Valores válidos:
  • pending → status 8
  • progress → status 1
  • on-the-way → status 2, 3
  • completed → status 4
  • cancelled → status 5
Si se omite, se incluyen órdenes de cualquier status.
number
default:"1"
Página de resultados, empezando en 1.
number
default:"9"
Registros por página.
number
Filtra las órdenes de una sucursal específica.
number
Filtra por el agente de soporte (soporte_id) asignado al chat de la orden.
string
Fecha inicial del rango de creación de la orden (createdAt), en formato ISO 8601. El cliente debe enviar el límite ya calculado en su propia zona horaria.
string
Fecha final del rango de creación de la orden, en formato ISO 8601. Es un límite exclusivo.

Comportamiento

  • Filtra siempre por empresa_id = businessId; opcionalmente por sucursal_id, rango de createdAt (from/to) y status según el tab indicado.
  • Cuenta el total de órdenes que cumplen el filtro y obtiene la página solicitada en paralelo, incluyendo chat (con contacto), sucursal y zona de cada orden.
  • Si se envía userId, la consulta se une (INNER JOIN) con chat filtrando por soporte_id, tanto para el conteo como para el listado.
  • Por cada orden de la página, calcula y agrega:
    • details: productos de la orden con su articulo y extras.
    • total: productos + extras (con precio personalizado si existe en order.extra_data) + costo de envío según la zona. Si hay un producto delivery_coupon, el envío es 0.
    • discount: cupones, recompensas y puntos reclamados.
  • Devuelve hasNextPage calculado a partir del offset, la cantidad de resultados de la página y el total.
Existen rutas hermanas bajo el mismo prefijo /catalogs/v2/orders/sucursal/:businessId, con la misma autenticación por token:
  • GET .../counts — conteo de órdenes agrupado por tab.
  • GET .../search — búsqueda de órdenes.
  • GET .../order/:orderId — detalle de una orden específica de la sucursal.

Respuesta

string
"success" cuando la solicitud se procesó correctamente.
object[]
Listado de órdenes de la página solicitada.
number
Total de órdenes que cumplen el filtro, sin paginar.
boolean
Si existe una página siguiente.
number
Página actual devuelta.