Obtener un producto
const url = 'https://api.posdata.so/public/v1/products/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0?include_deleted=false';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.posdata.so/public/v1/products/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0?include_deleted=false' \ --header 'Authorization: Bearer <token>'Permiso requerido: products:read.
Autorización
Sección titulada «Autorización»Parámetros
Sección titulada «Parámetros»Parámetros de ruta
Sección titulada «Parámetros de ruta»Parámetros de consulta
Sección titulada «Parámetros de consulta»Si es true, incluye los registros eliminados (con deleted_at).
Respuestas
Sección titulada «Respuestas»OK
Producto del catálogo. Precios en pesos enteros, digitados como los digita el negocio: con impuestos incluidos cuando su perfil fiscal dice pricesIncludeTax (lo normal), antes de impuestos si no.
object
composite = se arma desde una receta y no descuenta su propio stock.
false = insumo que no se vende por sí solo.
Clase fiscal del ítem. standard hereda del perfil fiscal del negocio.
Precio de lista, antes del descuento propio del producto.
Precio al que el POS vende. Si el producto no tiene descuento es igual a base_price.
Descuento del producto sobre base_price, en porcentaje (0-100, puede tener decimales).
Unidad base (und, g, kg, lb, oz, ml, l, doc). Stock y costo se expresan en ella.
Se vende por peso: la cantidad de la línea es un peso en base_unit.
Costo promedio ponderado por unidad base (informativo).
Variantes vigentes (no eliminadas).
Variante de un producto. Precios en pesos enteros, digitados como los digita el negocio: con impuestos incluidos cuando su perfil fiscal dice pricesIncludeTax (lo normal), antes de impuestos si no.
object
Nombre de la variante (“Talla M / Rojo”).
Precio de lista, antes del descuento propio del producto.
Precio al que el POS vende esta variante. Si es 0 en la variante, el POS usa el del producto.
Descuento del producto sobre base_price, en porcentaje (0-100, puede tener decimales).
Ejemplo
{ "object": "product", "kind": "simple", "tax_class": "standard", "variants": [ { "object": "product_variant" } ]}Petición inválida (VALIDATION_ERROR, INVALID_JSON, INVALID_CURSOR).
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}Sin API key válida (UNAUTHENTICATED, INVALID_API_KEY, API_KEY_REVOKED, API_KEY_EXPIRED, API_KEY_WRONG_ENVIRONMENT, ACCOUNT_INACTIVE).
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}Sin permiso (PLAN_REQUIRED, INSUFFICIENT_SCOPE, BROWSER_REQUESTS_NOT_ALLOWED).
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}No existe en esta cuenta (NOT_FOUND).
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}Límite de peticiones (RATE_LIMITED). Respeta Retry-After.
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}Error interno (INTERNAL_ERROR). Reintenta y comparte el request_id si persiste.
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}