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.