Árbol del API · Productos y precios › priceStructuresConnection
Lista de estructuras de precios
priceStructuresConnection
Tipo
Query
Devuelve
Permiso de la llave
Cliente
Página
20 por omisión · máx. 100
Lista las estructuras de precios de la empresa con las listas de precios que las forman, de la modificada hace más tiempo a la más reciente.
Una estructura de precios agrupa las listas de precios con que AdvantaCloud
calcula el precio de un artículo para un cliente. Para los precios de cada
lista usa priceListEntriesConnection
con el id de la lista. Para el precio ya calculado de un artículo, usa
price en productsConnection.
Llegan todas las listas de cada estructura, también las que ya vencieron o
todavía no empiezan: revisa validFrom y validUntil.
priceStructuresConnection( first: Int after: String ): PriceStructureConnection!
Argumentos
2
| Argumento | Tipo | Descripción |
|---|---|---|
firstInt |
Int | Cuántas estructuras devolver desde el inicio o desde |
afterString |
String | Cursor de la página anterior ( |
Lo que devuelve
PriceStructureConnection!
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 PriceStructure
| Campo | Tipo | Descripción |
|---|---|---|
idID! |
ID! | Identificador de la estructura; es el que se envía en priceStructureId. |
codeString |
String | Clave de la estructura, p. ej. MAY. |
nameString |
String | Nombre de la estructura. |
currencyString |
String | Clave SAT de la moneda de la estructura, tomada de su primera lista de precios. |
listsPriceListConnection! |
PriceListConnection! | Listas de precios que forman la estructura, de la modificada hace más tiempo a la más reciente, vigentes o no.20 por omisión, hasta 100 por página. |
Paginación
first · after
Pide hasta 100 estructuras de precios 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 estructuras de precios 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: falseSi una estructura cambia mientras recorres la lista, pasa al final y te llega otra vez con sus datos nuevos: guarda por id. Las listas de precios de cada estructura (lists) son otra conexión con su propio límite de 100.
Permisos
Llave API Integraciones
La llave ve los registros de toda la empresa del subdominio.
Sin el permiso Error sin código
La respuesta trae data: null y un error en errors con el mensaje «Cannot return null for non-nullable field…», sin extensions.code.
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. |
| Error sin código | La llave no tiene «Cliente». La respuesta trae data: null y un error en errors con el mensaje «Cannot return null for non-nullable field…», sin extensions.code. | La llave necesita ese permiso; reintentar no ayuda. |
VALIDATION | El cursor de after no tiene el formato de esta lista, o first es negativo. | Usa el endCursor tal como llegó y con los mismos argumentos; si lo perdiste, reinicia sin after. |
| 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.