developers Entrar a AdvantaCloud
Árbol del API · Productos y precios › product

Detalle de un artículo

product

Tipo

Query

Devuelve

Product

Permiso de la llave

Articulos

Estable

Devuelve un artículo por su id, con su unidad, su familia y su control de inventario, y su precio para un cliente o una estructura de precios.

Si la llave no tiene el permiso, la respuesta es product: null sin error; un artículo que no existe responde NOT_FOUND. Llegan también los artículos inactivos y obsoletos.

price llega sólo si envías customerId o priceStructureId y la llave tiene además «Cliente». Es el precio de lista en la unidad del artículo, antes de descuentos e impuestos. Para el precio exacto de una partida, con descuentos e impuestos, cotiza la orden con quoteOrder.

product(
  id: ID!  customerId: ID  priceStructureId: ID
  currencyId: ID
): Product

Argumentos

4

ArgumentoTipoDescripción
Identificación
idID! ID!

Identificador del artículo, el mismo id que llega en productsConnection, productSuggestions o en las partidas de una orden.

Obligatorio.
Precio
customerIdID ID

Calcula price con la estructura de precios de este cliente: la auxiliar si tiene una y el artículo tiene precio en ella; si no, la principal.

priceStructureIdID ID

Calcula price con esta estructura de precios. Con customerId no hace falta; si envías los dos, ésta debe ser la principal o la auxiliar del cliente, y el precio sale de la del cliente.

currencyIdID ID

Moneda del precio: sólo cuentan las listas de precios vigentes en esa moneda. Sin currencyId se usa la moneda de documentos del cliente o, sin cliente, la primera moneda registrada en la empresa. Envíala siempre.

Lo que devuelve

Product

Campos principales de Product:

CampoTipoDescripción
idID! ID! Identificador del artículo; es el que se envía en productId.
idpartString String Clave del artículo, p. ej. TOR-0420.
nameString String Descripción principal del artículo.
descriptionString String Descripción adicional, en una o dos líneas separadas por un salto de línea.
unitUnit Unit Unidad de medida del artículo; sus precios y cantidades están en esta unidad.
familyProductFamily ProductFamily Familia del artículo. Si pertenece a varias, llega sólo una.
barcodeString String Código de barras; si tiene dos, el principal.
imageUrlString String Liga a la imagen del artículo. Está firmada y vence a los 7 días; null si no tiene imagen.
priceProductPrice ProductPrice Precio de lista en la unidad del artículo, antes de descuentos e impuestos. Llega sólo en product y productsConnection cuando envías customerId o priceStructureId; en los demás casos, como en las partidas de una orden, llega null. Requiere «Cliente» en la llave; sin él llega null.
inventoryControlInventoryControl InventoryControl Cómo controla el inventario el artículo, de los lotes y series al redondeo de cantidades.
updatedAtDateTime DateTime Fecha y hora de la última modificación del artículo; úsala con productsConnection(updatedAfter:). Un cambio de precio no la mueve.

Ver todos los campos de Product

Permisos

Llave API Integraciones

Articulos

La llave ve los registros de toda la empresa del subdominio.

Sin el permiso Sin error

La consulta responde sin error, pero el resultado llega null.

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ódigoCuándo ocurreQué hacer
HTTP 401Falta 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.
NOT_FOUNDNo hay un artículo con ese id, o no existe el cliente de customerId, la moneda de currencyId o, si pides price, la estructura de priceStructureId.Revisa los identificadores.
VALIDATIONpriceStructureId no es la estructura principal ni la auxiliar del cliente de customerId.Omite priceStructureId o usa una estructura del cliente.
HTTP 422Falla 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.

Relacionadas

Schema del 26 oct 2026 · Ver cambios¿Algo no cuadra? Repórtalo en ayuda.advanta.mx