> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lapyme.com.ar/llms.txt
> Use this file to discover all available pages before exploring further.

# TypeScript SDK

> Usá el SDK oficial de TypeScript para integrar con la API de La Pyme sin escribir requests HTTP manuales

El SDK de TypeScript expone la misma API pública que la referencia OpenAPI, pero con cliente tipado, validación de entrada, manejo de errores y helpers por recurso.

```bash theme={null}
pnpm add lapyme
```

```typescript theme={null}
import { Lapyme } from "lapyme";

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

const externalOrderId = "shopify-1001";

const sale = await lapyme.sales.create({
  idempotencyKey: `sale:shopify:${externalOrderId}`,
  body: {
    customerId: "9c692e8b-0f9a-4f7c-8b99-061a2eb188ae",
    pointOfSaleId: "8d3e9c5a-0b1d-4a8c-9b55-4f1d6b6d4a10",
    voucherType: 6,
    invoiceDate: new Date(),
    currency: "PES",
    items: [
      {
        productId: "4fb3af29-4ee4-4a8d-8b20-9a95b2431b73",
        quantity: 1,
        unitPrice: 125000,
      },
    ],
  },
});

console.log(sale.result.data.sale.id);
```

<Info>
  La opción del constructor se llama `bearerAuth` porque la API usa `Authorization: Bearer ...`. Pasá ahí el API key que generás desde La Pyme.
</Info>

## Cuándo usarlo

* Integraciones Node.js, workers, scripts internos y backends propios.
* Flujos que necesitan tipos para request/response y errores.
* Operaciones con paginación por cursor o `Idempotency-Key`.

## Recursos principales

| Recurso     | Cliente            |
| ----------- | ------------------ |
| Clientes    | `lapyme.customers` |
| Productos   | `lapyme.products`  |
| Proveedores | `lapyme.suppliers` |
| Ventas      | `lapyme.sales`     |
| Compras     | `lapyme.purchases` |
| Inventario  | `lapyme.inventory` |
| Reportes    | `lapyme.reports`   |

## Guías

* [Instalación y autenticación](/api-reference/sdk/instalacion)
* [Ejemplo: crear una venta](/api-reference/sdk/ventas)
* [Ejemplo: productos](/api-reference/sdk/productos)
* [Idempotencia](/api-reference/sdk/idempotencia)
* [Paginación](/api-reference/sdk/paginacion)
* [Errores](/api-reference/sdk/errores)
* [Versiones](/api-reference/sdk/versiones)

<Tip>
  La referencia de endpoints sigue siendo el contrato canónico. Usá estas páginas para entender la ergonomía del SDK y la referencia para revisar parámetros, respuestas y scopes.
</Tip>
