Skip to main content
Los métodos de productos viven en lapyme.products. Los nombres de campos del SDK son camelCase; el SDK convierte esos campos al contrato público snake_case antes de enviar la request.

Listar productos

import { Lapyme } from "lapyme";

const lapyme = new Lapyme({
  bearerAuth: process.env["LAPYME_API_KEY"] ?? "",
});

const products = await lapyme.products.list({
  limit: 20,
  query: "remera",
  productType: "product",
  isActive: true,
});

for (const product of products.result.data) {
  console.log(product.id, product.name);
}

Crear un producto

Los importes monetarios se envían en centavos. Reutilizá el mismo idempotencyKey si tenés que reintentar la misma creación.
import { Lapyme } from "lapyme";

const lapyme = new Lapyme({
  bearerAuth: process.env["LAPYME_API_KEY"] ?? "",
});

const product = await lapyme.products.create({
  idempotencyKey: crypto.randomUUID(),
  body: {
    name: "Remera básica",
    sku: "REM-BASICA-M",
    productType: "product",
    price: 1250000,
    cost: 700000,
    currency: "PES",
  },
});

console.log(product.result.data.product.id);

Actualizar precio

import { Lapyme } from "lapyme";

const lapyme = new Lapyme({
  bearerAuth: process.env["LAPYME_API_KEY"] ?? "",
});

const updated = await lapyme.products.update({
  productId: "9c692e8b-0f9a-4f7c-8b99-061a2eb188ae",
  body: {
    price: 1390000,
  },
});

console.log(updated.result.data.product.price);

Ajuste masivo

Usá lapyme.productBulkAdjustments.create para cambios masivos de precios o costos. Es una operación de escritura: mandá idempotencyKey.
import { Lapyme } from "lapyme";

const lapyme = new Lapyme({
  bearerAuth: process.env["LAPYME_API_KEY"] ?? "",
});

const adjustment = await lapyme.productBulkAdjustments.create({
  idempotencyKey: crypto.randomUUID(),
  body: {
    target: "price",
    operationType: "increase",
    adjustmentType: "percentage",
    adjustmentValue: 10,
    selection: {
      type: "specific",
      ids: ["9c692e8b-0f9a-4f7c-8b99-061a2eb188ae"],
    },
  },
});

console.log(adjustment.result.data.productBulkAdjustment.updated);
La forma exacta de selection y los campos disponibles para ajustes masivos están en la referencia de POST /api/v1/products/bulk-adjustments.