Árbol del API · Pedidos › orderDefaults
Valores iniciales de una orden
orderDefaults
Devuelve los valores con los que conviene empezar una orden para un cliente: estructura de precios, términos de crédito, tipos de venta, vendedor, almacén, moneda, lugares de entrega y contactos.
Llámala al elegir el cliente y usa sus valores para armar el input de
quoteOrder y
createOrder: priceStructureId es la
estructura de precios que esas operaciones aceptan para el cliente, y
creditTerms y saleTypes son las opciones válidas.
Cuando creditTermLocked o salespersonLocked es true, la configuración de
la empresa fija ese valor: la orden lo toma aunque envíes otro.
orderDefaults( customerId: ID! userId: ID warehouseId: ID saleTypeId: ID ): OrderDefaults!
Argumentos
4
| Argumento | Tipo | Descripción |
|---|---|---|
customerIdID! |
ID! | Cliente de la orden. Obligatorio. |
userIdID |
ID | Usuario activo de AdvantaCloud a nombre de quien se capturará la orden. Obligatorio con Llave API: el vendedor y el almacén propuestos pueden depender de ese usuario. |
warehouseIdID |
ID | Almacén que quieres usar; si no es un almacén de venta válido, se propone otro. |
saleTypeIdID |
ID | Tipo de venta, cuando el término de crédito depende de él. |
Lo que devuelve
OrderDefaults!
Campos principales de OrderDefaults:
| Campo | Tipo | Descripción |
|---|---|---|
priceStructureIdID |
ID | Estructura de precios que quoteOrder y createOrder aceptan para el cliente. |
creditTermCreditTerm |
CreditTerm | Término de crédito propuesto. |
creditTerms[CreditTerm!]! |
[CreditTerm!]! | Términos de crédito que puede usar la orden. |
creditTermLockedBoolean! |
Boolean! | true si la empresa fija el término de crédito (del cliente o del tipo de venta). |
saleTypes[SaleType!]! |
[SaleType!]! | Tipos de venta activos. |
salespersonEmployee |
Employee | Vendedor propuesto (el del cliente, o el del usuario si así lo configura la empresa). |
salespersonLockedBoolean! |
Boolean! | true si la empresa fija el vendedor. |
warehouseWarehouse |
Warehouse | Almacén propuesto. |
currencyCurrency |
Currency | Moneda propuesta. |
shippingMethodShippingMethod |
ShippingMethod | Forma de embarque del cliente. |
addresses[CustomerAddress!]! |
[CustomerAddress!]! | Lugares de entrega del cliente. Requiere «Cliente» en la llave; sin él llega una lista vacía. |
contacts[CustomerContact!]! |
[CustomerContact!]! | Contactos del cliente. Requiere «Cliente» en la llave; sin él llega una lista vacía. |
Permisos
Llave API Integraciones
La llave ve los registros de toda la empresa del subdominio.
«Cliente»: Sin él la consulta responde FORBIDDEN.
Sin el permiso HTTP 422
La respuesta es HTTP 422 con el cuerpo {"error": "invalid_graphql_request"}, sin data.
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. |
| HTTP 422 | La llave no tiene «Ventas». La respuesta es HTTP 422 con el cuerpo {"error": "invalid_graphql_request"}, sin data. | La llave necesita ese permiso; reintentar no ayuda. |
FORBIDDEN | La llave tiene «Ventas» pero no «Cliente». | La llave necesita también «Cliente». |
VALIDATION | Falta userId o ese usuario no está activo. | Envía el usuario de tu integración. |
NOT_FOUND | El cliente o el tipo de venta no existe en la empresa. | Revisa customerId y saleTypeId. |
| 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.