Árbol del API · Pedidos › ordersConnection
Lista de órdenes de venta
ordersConnection
Tipo
Query
Devuelve
Permiso de la llave
Ventas
Página
20 por omisión · máx. 100
Lista las órdenes de venta de la empresa, de la más reciente a la más antigua. Filtra por cliente, vendedor, almacén, estatus, origen y rango de fechas, y recorre el resultado por páginas con cursores.
Úsala para llevar las órdenes de venta a tu sistema: pide sólo los campos que
necesitas y continúa con after hasta que hasNextPage sea false. Para
traer una sola orden con todas sus partidas usa order(id:).
La llave ve las órdenes de toda la empresa del subdominio, sin importar quién las capturó.
ordersConnection( first: Int after: String customerId: ID customerName: String folio: String status: [OrderStatus!] origin: [OrderOrigin!] from: Date to: Date warehouseId: ID salespersonId: ID saleTypeId: ID purchaseOrder: String reference: String userId: ID sort: OrderSort = CREATED_AT_DESC ): OrderConnection!
Argumentos
16
| Argumento | Tipo | Descripción |
|---|---|---|
| Paginación | ||
firstInt |
Int | Cuántas órdenes devolver desde el inicio o desde |
afterString |
String | Cursor de la página anterior ( |
| Filtros | ||
customerIdID |
ID | Sólo las órdenes de este cliente. |
customerNameString |
String | Nombre del cliente que contiene el texto, sin distinguir mayúsculas. |
folioString |
String | Folio que contiene el texto: |
status[OrderStatus!] |
[OrderStatus!] | Uno o varios estatus; basta con que la orden tenga uno de ellos. |
origin[OrderOrigin!] |
[OrderOrigin!] | Dónde se capturó: orden de venta ( |
fromDate |
Date | Capturadas desde este día, inclusive ( |
toDate |
Date | Capturadas hasta este día, inclusive. Con Llave API el día se corta en la hora del centro de México. |
warehouseIdID |
ID | Almacén que surte la orden. |
salespersonIdID |
ID | Vendedor asignado. |
saleTypeIdID |
ID | Tipo de venta. |
purchaseOrderString |
String | Orden de compra del cliente que contiene el texto. |
referenceString |
String | Referencia de la orden que contiene el texto. |
userIdID |
ID | Usuario que capturó la orden. |
| Orden | ||
sortOrderSort |
OrderSort |
CREATED_AT_DESC
|
Estatus de una orden
OrderStatus
REGISTEREDRegistrada, aún sin confirmarPRECONFIRMEDPreconfirmada por el vendedorPENDING_CONFIRMATIONPor confirmarCONFIRMEDConfirmadaPENDING_APPROVALEn espera de aprobaciónREJECTEDRechazadaSOLDVendidaCLOSEDCerradaCANCELLEDCanceladaQUOTEDCotización de mostradorQUOTE_REQUESTEDCotización solicitadaQUOTE_SENTCotización enviada al clienteQUOTE_APPROVEDCotización aprobada por el clienteQUOTE_DECLINEDCotización rechazada por el clienteQUOTE_EXPIREDCotización vencidaQUOTE_CONVERTEDCotización convertida en ordenUNKNOWNSin equivalente; revisa rawStatusLo que devuelve
OrderConnection!
hasNextPageBoolean!Hay más elementos después de esta página.endCursorStringCursor del último elemento; pásalo en after para pedir la página siguiente.hasPreviousPageBoolean!true si pediste esta página con after, es decir, si no es la primera.startCursorStringCursor del primer elemento de esta página.Campos principales de Order
| Campo | Tipo | Descripción |
|---|---|---|
idID |
ID | Identificador de la orden; úsalo con order(id:). |
folioString |
String | Folio visible en la aplicación y en los documentos, p. ej. OV00512. |
statusOrderStatus! |
OrderStatus! | Estatus de la orden. |
originOrderOrigin! |
OrderOrigin! | Dónde se capturó la orden. |
createdAtDateTime |
DateTime | Fecha y hora de captura, con su desfase horario. |
customerCustomer |
Customer | Cliente de la orden. |
salespersonEmployee |
Employee | Vendedor asignado. |
warehouseWarehouse |
Warehouse | Almacén que surte la orden. |
currencyString |
String | Clave de la moneda de la orden, p. ej. MXN. |
subtotalMoney |
Money | Importe antes de impuestos. |
discountMoney |
Money | Descuento total. |
taxMoney |
Money | Impuestos. |
totalMoney |
Money | Total de la orden. |
openBalanceMoney |
Money | Saldo por cobrar de la orden. |
invoiceStatusString |
String | Estatus de facturación; vacío mientras la orden no se factura. |
linesOrderLineConnection! |
OrderLineConnection! | Partidas de la orden por número de partida, paginadas con cursores igual que las listas.20 por omisión, hasta 100 por página. |
shipmentOrderShipment! |
OrderShipment! | Avance del embarque de la orden. |
Paginación
first · after
Pide hasta 100 órdenes por página junto con pageInfo. Repite la misma consulta pasando endCursor en after mientras hasNextPage sea true. El orden es estable: no se saltan órdenes entre páginas. Más sobre paginación.
Página 1
first: 100
endCursor: "WzEs…MTAwXQ"
hasNextPage: truePágina 2
after: "WzEs…MTAwXQ"
endCursor: "WzEs…MjAwXQ"
hasNextPage: truePágina 3
after: "WzEs…MjAwXQ"
endCursor: "WzEs…MjQ3XQ"
hasNextPage: falseLas partidas de cada orden (lines) son otra conexión con su propio límite de 100. Si una orden tiene más, pide el resto con order(id:) y lines(after:).
Permisos
Llave API Integraciones
La llave ve los registros de toda la empresa del subdominio.
Sin el permiso Sin error
La consulta responde sin error, pero nodes llega vacío y hasNextPage es false.
Así lo conserva el API para las integraciones que ya lo usan: revisa los permisos de la llave si una lista llega vacía sin razón.
Errores
| Código | Cuándo ocurre | Qué hacer |
|---|---|---|
| HTTP 401 | Falta el header Authorization o la llave no existe en la empresa del subdominio. La respuesta no trae cuerpo. | Revisa la llave y el subdominio. No reintentes. |
argumentLiteralsIncompatible | Un argumento escrito en la consulta no tiene el tipo esperado: una fecha que no es AAAA-MM-DD o un estatus fuera de OrderStatus. Si el valor llega en una variable, el error trae extensions.problems y puede no traer code. | Corrige la consulta; reintentar no ayuda. |
undefinedField | Pides un campo que no existe en el tipo. | Revisa el nombre del campo en esta página o en el explorador. |
| HTTP 422 | Falla interna o dato rechazado al guardar. El cuerpo es {"error": …}, sin data. | Si no cambiaste nada, reintenta con espera exponencial. |
Los errores de la consulta llegan con HTTP 200 en errors, con su código en extensions.code. Revisa siempre errors, no sólo el estatus HTTP. Errores y reintentos.