---
title: "Як почати користуватися SDK Requiply"
description: "Встановіть @requiply/api-sdk з npm, створіть RequiplyClient із секретним API ключем і зробіть перші виклики до публічного API Requiply."
canonical_url: "https://requiply.com/docs/uk/developers/how-to-start-using-the-sdk"
---
# Як почати користуватися SDK Requiply

> Встановіть @requiply/api-sdk з npm, створіть RequiplyClient із секретним API ключем і зробіть перші виклики до публічного API Requiply.

<quick-answer>

Створіть секретний API ключ у **Налаштування → Організація → API ключі**, встановіть пакет командою `npm install @requiply/api-sdk` і створіть `RequiplyClient` із цим ключем. Потім викликайте його ресурси, наприклад `inventory.list()`, `pricing.quote()` і `bookings.create()`. SDK потребує Node.js 18 або новішої версії чи сучасного браузера.

</quick-answer>

`@requiply/api-sdk` є офіційним TypeScript-клієнтом для публічного API Requiply. Він працює в Node.js, serverless-функціях, Next.js, Nuxt і браузерах, а вхідні дані й відповіді в ньому типізовані. Ця сторінка приблизно за десять хвилин проведе вас від нуля до запиту на бронювання у вашому акаунті Requiply.

## 1. Створіть API ключ

Виконайте кроки зі сторінки [Як згенерувати API-токен](https://requiply.com/docs/uk/developers/how-to-generate-an-api-token) і оберіть **Секретний**. Збережіть ключ у змінній середовища:

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

Створюєте вітрину, що працює в браузері? Тоді створіть **Публічний** ключ. Він уміє все, що описано на цій сторінці, але бронювання потрібно надсилати як запити (`asRequest: true`).

## 2. Встановіть пакет

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

Пакет підтримує лише ESM. Вимоги до середовища описано на сторінці [Встановлення](https://requiply.com/docs/uk/developers/typescript-sdk/installation).

## 3. Створіть клієнт і зробіть перший виклик

```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);
```

Якщо код виводить назву вашої організації, ключ працює. Неправильний або відкликаний ключ викидає `RequiplyError` зі `status` 401.

## 4. Знайдіть товар і розрахуйте ціну

```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);
```

Дати без зсуву читаються в часовому поясі вашої організації. Завжди вказуйте час: дата без часу означає північ, а це зазвичай поза [робочими годинами](https://requiply.com/docs/uk/guides/settings/organization/how-to-set-working-hours). Розрахунок застосовує ті самі правила, що й застосунок: [кількісне ціноутворення](https://requiply.com/docs/uk/guides/settings/pricing/pricing-tiers), знижку клієнта й послуги.

## 5. Надішліть запит на бронювання

```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);
}
```

Клієнта шукають за електронною поштою, потім за телефоном, а якщо не знаходять, створюють нового. Бронювання, яке Requiply не може прийняти, наприклад на неробочий день чи без вільних одиниць, повертає `success: false` і `message` замість винятку.

## 6. Перевірте в Requiply

<figure>

![Сторінка бронювання #91, створеного через SDK, з трьома пронумерованими позначками: жовтий тег статусу Запит, картка Клієнт з Іриною Мельник і Період оренди з 10 до 12 листопада, товар Rode PSA1](https://requiply.com/docs/assets/developers/sdk/booking-request.uk.png)<figcaption>

Запит на бронювання з коду вище у вебзастосунку.

</figcaption>
</figure>

1. **Запит**: статус запиту на бронювання. Персонал переводить його далі стрілкою поруч із тегом.
2. **Клієнт**: клієнт, якого SDK знайшов або створив.
3. **Період оренди**: дати, які ви надіслали, у часовому поясі вашої організації.

Запит також зʼявляється в мобільному застосунку в розділі **Бронювання**.

## Поширені запитання

### Що використовувати: SDK чи REST API?

Використовуйте SDK у JavaScript і TypeScript. В інших мовах викликайте [REST API](https://requiply.com/docs/uk/developers/api-reference) з тим самим ключем: SDK є тонким типізованим шаром над ним.

### Як створити підтверджене бронювання замість запиту?

Використайте секретний ключ, не передавайте `asRequest` і вкажіть `paymentType`. Див. [Бронювання](https://requiply.com/docs/uk/developers/typescript-sdk/bookings).

### Як обробляти помилки?

Перехоплюйте `RequiplyError` і читайте `status` та `reason`. Помилка `429` містить `retryAfter` у секундах. Див. [Обробка помилок](https://requiply.com/docs/uk/developers/typescript-sdk/error-handling).

### Чи є пісочниця?

Ні. Кожен ключ працює з реальними даними, тому тестуйте на демо-організації. Див. [Тестового режиму немає](https://requiply.com/docs/uk/developers/authentication-and-api-keys#%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D1%83-%D0%BD%D0%B5%D0%BC%D0%B0%D1%94).

## Наступні кроки

- [Швидкий старт](https://requiply.com/docs/uk/developers/typescript-sdk/quick-start): приклади для сервера й для вітрини поруч.
- [Ресурси SDK](https://requiply.com/docs/uk/developers/typescript-sdk#%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%B8): усі методи за ресурсами.
- [Приклади](https://requiply.com/docs/uk/developers/examples): підходи для вітрин та інтеграцій.


## Sitemap

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