---
title: "Cómo empezar a usar el SDK de Requiply"
description: "Instala @requiply/api-sdk desde npm, crea un RequiplyClient con una clave de API secreta y haz tus primeras llamadas a la API pública de Requiply."
canonical_url: "https://requiply.com/docs/es/developers/how-to-start-using-the-sdk"
---
# Cómo empezar a usar el SDK de Requiply

> Instala @requiply/api-sdk desde npm, crea un RequiplyClient con una clave de API secreta y haz tus primeras llamadas a la API pública de Requiply.

<quick-answer>

Crea una clave de API secreta en **Ajustes → Organización → Claves de API**, instala el paquete con `npm install @requiply/api-sdk` y crea un `RequiplyClient` con la clave. Después llama a sus recursos, por ejemplo `inventory.list()`, `pricing.quote()` y `bookings.create()`. El SDK necesita Node.js 18 o posterior, o un navegador moderno.

</quick-answer>

`@requiply/api-sdk` es el cliente oficial de TypeScript para la API pública de Requiply. Funciona en Node.js, funciones serverless, Next.js, Nuxt y navegadores, con entradas y respuestas tipadas. Esta página te lleva de cero a una solicitud de reserva en tu cuenta de Requiply en unos diez minutos.

## 1. Crea una clave de API

Sigue [Cómo generar un token de API](https://requiply.com/docs/es/developers/how-to-generate-an-api-token) y elige **Secreta**. Guárdala en una variable de entorno:

```bash
REQUIPLY_SECRET_KEY=rq_sk_live_...
```

¿Construyes una tienda online que se ejecuta en el navegador? Crea una clave **Publicable**. Puede hacer todo lo de esta página, pero las reservas se tienen que enviar como solicitudes (`asRequest: true`).

## 2. Instala el paquete

```bash
npm install @requiply/api-sdk
```

El paquete es solo ESM. Consulta [Instalación](https://requiply.com/docs/es/developers/typescript-sdk/installation) para ver los requisitos de entorno.

## 3. Crea el cliente y haz una primera llamada

```ts
import { RequiplyClient } from '@requiply/api-sdk';

const requiply = new RequiplyClient({
  apiKey: process.env.REQUIPLY_SECRET_KEY!,
});

const org = await requiply.org.info();
console.log(org.name);
```

Si se imprime el nombre de tu organización, la clave funciona. Una clave incorrecta o revocada lanza un `RequiplyError` con `status` 401.

## 4. Busca un artículo y calcula un presupuesto

```ts
const startDate = '2026-11-10T10:00:00';
const endDate = '2026-11-12T18:00:00';

const inventory = await requiply.inventory.list({ startDate, endDate });
const item = inventory.items[0];

const quote = await requiply.pricing.quote({
  startDate,
  endDate,
  items: [{ groupId: item.id, quantity: 1 }],
});

console.log(item.name, item.availableQuantity, quote.total, quote.currency);
```

Las fechas sin desfase horario se leen en la zona horaria de tu organización. Envía siempre una hora: una fecha sola significa medianoche, que suele quedar fuera del [horario de apertura](https://requiply.com/docs/es/guides/settings/organization/how-to-set-working-hours). El presupuesto aplica las mismas reglas que la app: [tramos de precio](https://requiply.com/docs/es/guides/settings/pricing/pricing-tiers), el descuento del cliente y los servicios.

## 5. Envía una solicitud de reserva

```ts
const request = await requiply.bookings.create({
  startDate,
  endDate,
  items: [{ groupId: item.id, quantity: 1 }],
  deliveryType: 'pickup',
  asRequest: true,
  client: { name: 'Sophie', lastName: 'Marlow', email: 'sophie.marlow@example.com' },
});

if (request.success) {
  console.log('Booking request', request.reservationOrgId);
} else {
  console.log('Not accepted:', request.message);
}
```

El cliente se busca por email, después por teléfono, y si no existe se crea. Una reserva que Requiply no puede aceptar, por ejemplo en un día de cierre o sin unidades libres, se resuelve con `success: false` y un `message` en lugar de lanzar un error.

## 6. Compruébalo en Requiply

<figure>

![La página de la reserva n.º 44 creada con el SDK, con tres marcas numeradas: la etiqueta amarilla de estado Solicitud, la tarjeta Cliente con Sophie Marlow y el Periodo de alquiler del 10 al 12 de noviembre](https://requiply.com/docs/assets/developers/sdk/booking-request.png)<figcaption>

La solicitud de reserva del código anterior, en la app web.

</figcaption>
</figure>

1. **Solicitud**: el estado de una solicitud de reserva. Tu equipo la hace avanzar con la flecha junto a la etiqueta.
2. **Cliente**: el cliente que el SDK encontró o creó.
3. **Periodo de alquiler**: las fechas que enviaste, en la zona horaria de tu organización.

La solicitud también aparece en la app móvil, en **Reservas**.

## Preguntas frecuentes

### ¿Uso el SDK o la API REST?

Usa el SDK en JavaScript y TypeScript. En cualquier otro lenguaje, llama a la [API REST](https://requiply.com/docs/es/developers/api-reference) con la misma clave; el SDK es una capa fina y tipada sobre ella.

### ¿Cómo creo una reserva confirmada en lugar de una solicitud?

Usa una clave secreta, omite `asRequest` y pasa un `paymentType`. Consulta [Reservas](https://requiply.com/docs/es/developers/typescript-sdk/bookings).

### ¿Cómo gestiono los errores?

Captura `RequiplyError` y lee `status` y `reason`. Un `429` incluye `retryAfter` en segundos. Consulta [Gestión de errores](https://requiply.com/docs/es/developers/typescript-sdk/error-handling).

### ¿Hay un entorno de pruebas (sandbox)?

No. Todas las claves trabajan con datos reales, así que haz las pruebas en una organización de demostración. Consulta [Sin modo de prueba](https://requiply.com/docs/es/developers/authentication-and-api-keys#sin-modo-de-prueba).

## Próximos pasos

- [Inicio rápido](https://requiply.com/docs/es/developers/typescript-sdk/quick-start): un ejemplo de servidor y otro de tienda online, uno junto al otro.
- [Recursos del SDK](https://requiply.com/docs/es/developers/typescript-sdk#recursos): todos los métodos, por recurso.
- [Ejemplos](https://requiply.com/docs/es/developers/examples): patrones para tiendas online e integraciones.


## Sitemap

See the full [sitemap](https://requiply.com/docs/sitemap.md) for all pages.
