---
title: "Jak zacząć korzystać z SDK Requiply"
description: "Zainstaluj @requiply/api-sdk z npm, utwórz RequiplyClient z kluczem tajnym API i wykonaj pierwsze wywołania publicznego API Requiply."
canonical_url: "https://requiply.com/docs/pl/developers/how-to-start-using-the-sdk"
---
# Jak zacząć korzystać z SDK Requiply

> Zainstaluj @requiply/api-sdk z npm, utwórz RequiplyClient z kluczem tajnym API i wykonaj pierwsze wywołania publicznego API Requiply.

<quick-answer>

Utwórz klucz tajny API w **Ustawienia → Organizacja → Klucze API**, zainstaluj pakiet poleceniem `npm install @requiply/api-sdk` i utwórz `RequiplyClient` z tym kluczem. Następnie wywołuj jego zasoby, na przykład `inventory.list()`, `pricing.quote()` i `bookings.create()`. SDK wymaga Node.js 18 lub nowszego albo nowoczesnej przeglądarki.

</quick-answer>

`@requiply/api-sdk` to oficjalny klient TypeScript publicznego API Requiply. Działa w Node.js, funkcjach serverless, Next.js, Nuxt i przeglądarkach, z typowanymi danymi wejściowymi i odpowiedziami. Ta strona prowadzi od zera do zapytania o rezerwację na Twoim koncie Requiply w około dziesięć minut.

## 1. Utwórz klucz API

Wykonaj kroki z [Jak wygenerować token API](https://requiply.com/docs/pl/developers/how-to-generate-an-api-token) i wybierz **Tajny**. Zapisz klucz w zmiennej środowiskowej:

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

Budujesz sklep internetowy działający w przeglądarce? Utwórz zamiast tego klucz **Publiczny**. Pozwala on zrobić wszystko, co opisuje ta strona, ale rezerwacje trzeba wysyłać jako zapytania (`asRequest: true`).

## 2. Zainstaluj pakiet

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

Pakiet jest dostępny tylko jako ESM. Wymagania środowiska uruchomieniowego opisuje strona [Instalacja](https://requiply.com/docs/pl/developers/typescript-sdk/installation).

## 3. Utwórz klienta i wykonaj pierwsze wywołanie

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

Jeśli kod wypisze nazwę Twojej organizacji, klucz działa. Błędny lub unieważniony klucz zgłasza `RequiplyError` ze `status` 401.

## 4. Znajdź pozycję i oblicz wycenę

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

Daty bez przesunięcia strefy czasowej są odczytywane w strefie czasowej organizacji. Zawsze podawaj godzinę: sama data oznacza północ, która zwykle wypada poza [godzinami pracy](https://requiply.com/docs/pl/guides/settings/organization/how-to-set-working-hours). Wycena stosuje te same reguły co aplikacja: [progi cenowe](https://requiply.com/docs/pl/guides/settings/pricing/pricing-tiers), rabat klienta i usługi.

## 5. Wyślij zapytanie o rezerwację

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

Klient jest dopasowywany po adresie e-mail, potem po telefonie, a jeśli go nie ma, zostaje utworzony. Rezerwacja, której Requiply nie może przyjąć, na przykład w dzień zamknięcia albo bez wolnych egzemplarzy, kończy się wynikiem `success: false` i komunikatem `message` zamiast zgłoszenia wyjątku.

## 6. Sprawdź ją w Requiply

<figure>

![Strona rezerwacji #44 utworzonej przez SDK z trzema ponumerowanymi wyróżnieniami: żółty znacznik statusu Zapytanie, karta Klient z Sophie Marlow i Okres wynajmu od 10 do 12 listopada](https://requiply.com/docs/assets/developers/sdk/booking-request.png)<figcaption>

Zapytanie o rezerwację z powyższego kodu w aplikacji webowej.

</figcaption>
</figure>

1. **Zapytanie**: status zapytania o rezerwację. Pracownicy zmieniają go strzałką obok znacznika.
2. **Klient**: klient, którego SDK dopasowało lub utworzyło.
3. **Okres wynajmu**: wysłane daty w strefie czasowej organizacji.

Zapytanie pojawia się też w aplikacji mobilnej, w **Rezerwacje**.

## Częste pytania

### Czy używać SDK czy REST API?

W JavaScript i TypeScript używaj SDK. W każdym innym języku wywołuj [REST API](https://requiply.com/docs/pl/developers/api-reference) z tym samym kluczem. SDK to cienka, typowana warstwa nad nim.

### Jak utworzyć potwierdzoną rezerwację zamiast zapytania?

Użyj klucza tajnego, pomiń `asRequest` i przekaż `paymentType`. Zobacz [Rezerwacje](https://requiply.com/docs/pl/developers/typescript-sdk/bookings).

### Jak obsługiwać błędy?

Przechwytuj `RequiplyError` i odczytuj `status` oraz `reason`. Odpowiedź `429` zawiera `retryAfter` w sekundach. Zobacz [Obsługa błędów](https://requiply.com/docs/pl/developers/typescript-sdk/error-handling).

### Czy jest środowisko testowe?

Nie. Każdy klucz działa na prawdziwych danych, więc testuj na organizacji demonstracyjnej. Zobacz [Brak trybu testowego](https://requiply.com/docs/pl/developers/authentication-and-api-keys#brak-trybu-testowego).

## Kolejne kroki

- [Szybki start](https://requiply.com/docs/pl/developers/typescript-sdk/quick-start): przykład dla serwera i dla sklepu internetowego obok siebie.
- [Zasoby SDK](https://requiply.com/docs/pl/developers/typescript-sdk#zasoby): wszystkie metody według zasobów.
- [Przykłady](https://requiply.com/docs/pl/developers/examples): wzorce dla sklepów internetowych i integracji.


## Sitemap

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