Skip to main content
La API REST de La Pyme te permite integrar datos operativos de tu organización con sistemas externos. Podés consultar clientes, proveedores, productos, inventario, compras, ventas, cobranzas, pagos, reportes y configuración. Esta página te lleva desde una API key nueva hasta tu primera request autenticada.
Necesitás una cuenta activa en La Pyme y acceso a Configuración > Integraciones para crear API keys.

Base URL

Todos los endpoints de la API están disponibles en:
https://api.lapyme.com.ar

Obtener una API key

  1. Iniciá sesión en La Pyme.
  2. Entrá a Configuración > Integraciones > API Keys.
  3. Hacé click en Crear nuevo API Key.
  4. Para esta primera prueba, seleccioná warehouses:read y products:read.
  5. Dale un nombre descriptivo, por ejemplo Mi primera integración.
  6. Hacé click en Generar.
  7. Copiá el API key y guardalo en un lugar seguro.
El API key solo se muestra una vez. Si lo perdés, vas a tener que crear uno nuevo.

Verificar disponibilidad

El endpoint de health check no requiere autenticación:
curl "https://api.lapyme.com.ar/health"

Hacer la primera request autenticada

Pedí una ubicación con GET /api/v1/warehouses?limit=1. Es un buen smoke test porque valida credencial, scopes y formato de respuesta sin depender de datos comerciales sensibles.
curl "https://api.lapyme.com.ar/api/v1/warehouses?limit=1" \
  -H "Authorization: Bearer TU_API_KEY_AQUI"

Response esperada

{
  "request_id": "req_123",
  "object": "list",
  "url": "/api/v1/warehouses",
  "data": [
    {
      "object": "warehouse",
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Depósito principal",
      "address": "Av. Corrientes 1234",
      "is_default": true,
      "is_active": true,
      "points_of_sale_count": 1,
      "member_count": 3,
      "register_count": 2
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Convenciones principales

  • Todas las requests autenticadas usan Authorization: Bearer ....
  • Las respuestas incluyen request_id para trazabilidad.
  • Los recursos incluyen object como discriminador de solo lectura.
  • Los listados devuelven has_more y next_cursor para paginar.
  • Los errores usan un objeto error con type, code, message, retryable y details.
  • Los importes monetarios se envían y devuelven en centavos.
  • Las escrituras que pueden crear duplicados usan Idempotency-Key.

Filtrar productos

Los listados aceptan filtros propios de cada recurso. Para productos podés usar query:
curl "https://api.lapyme.com.ar/api/v1/products?query=almohada&limit=10" \
  -H "Authorization: Bearer TU_API_KEY_AQUI"

Ejemplo completo

const API_KEY = process.env.LAPYME_API_KEY;
const BASE_URL = "https://api.lapyme.com.ar";

async function apiRequest(path: string, options: RequestInit = {}) {
  const response = await fetch(`${BASE_URL}${path}`, {
    ...options,
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      "Content-Type": "application/json",
      ...options.headers,
    },
  });

  const data = await response.json();

  if (!response.ok) {
    throw new Error(
      `API Error ${data.error.code}: ${data.error.message} (${data.request_id})`
    );
  }

  return data;
}

async function listProducts(query = "", cursor?: string) {
  const params = new URLSearchParams({
    limit: "25",
  });

  if (query) params.set("query", query);
  if (cursor) params.set("cursor", cursor);

  return apiRequest(`/api/v1/products?${params}`);
}

async function main() {
  const products = await listProducts("almohada");
  console.log(`Productos recibidos: ${products.data.length}`);

  if (products.has_more) {
    const nextPage = await listProducts("almohada", products.next_cursor);
    console.log(`Siguiente página: ${nextPage.data.length}`);
  }
}

main().catch((error) => {
  console.error(error.message);
  process.exit(1);
});
Para ejecutar este script:
export LAPYME_API_KEY="tu_api_key_aqui"
node api-client.js

Próximos pasos

  1. Revisá Autenticación para elegir entre API keys y OAuth delegado.
  2. Leé Paginación, Idempotencia, Errores y Rate limits.
  3. Instalá el SDK TypeScript si querés usar un cliente oficial.