Requiply
SDK TypeScript

Użycie w przeglądarce i na serwerze

Które metody SDK sklep internetowy w przeglądarce może wywołać z kluczem publicznym, które należą do serwera z kluczem tajnym i jak połączyć oba w Next.js lub Nuxt.

Wywołania z przeglądarki i sklepu internetowego

Klucz publiczny może wywoływać te metody bezpośrednio z przeglądarki:

  • org.info()
  • categories.list(), services.list(), inventory.list(), inventory.getGroup()
  • availability.calendar(), availability.items(), pricing.quote()
  • bookings.create({ ..., asRequest: true })
  • saleItems.list(), saleItems.get() oraz saleLines w wycenach i zapytaniach o rezerwację, gdy organizacja sprzedaje klientom

Publiczne API przyjmuje żądania z przeglądarki z dowolnego źródła, więc nie trzeba rejestrować żadnej domeny. SDK samo wysyła tylko nagłówki Authorization, Accept i Content-Type. Jeśli dodasz własne nagłówki, przeglądarki zablokują żądanie. Zobacz Opcje żądań.

Wywołania z serwera

Klucza tajnego z zaufanego serwera używaj do:

  • org.summary(), inventory.status()
  • Zwykłych rezerwacji: bookings.create() bez asRequest, bookings.list(), bookings.get(), bookings.addNote()
  • clients.lookup(), clients.create()
  • sales.list(), sales.get(), sales.create()
  • Wszystkich raportów
  • adjustment i allowOutsideWorkingHours w rezerwacjach oraz pozycji z podnajmu od dostawców

Klucze tajne należą do zmiennych środowiskowych serwera. Nie nadawaj im prefiksu, który udostępnia wartości w paczkach przeglądarkowych, takiego jak NEXT_PUBLIC_ lub NUXT_PUBLIC_.

Frameworki

Używaj bezpośrednio @requiply/api-sdk. Typowa konfiguracja tworzy dwóch klientów:

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

// Safe to ship to the browser.
export const storefront = new RequiplyClient({
  apiKey: 'rq_pk_live_...',
});

// Import only from server code: route handlers, server actions, Nuxt server/ routes.
export const createServerClient = () =>
  new RequiplyClient({ apiKey: process.env.REQUIPLY_SECRET_KEY! });

Trzymaj klienta serwerowego w module, który importuje wyłącznie kod serwera. Jeśli klient z kluczem tajnym mimo to zostanie utworzony w przeglądarce, SDK zgłosi TypeError zamiast wysłać klucz.

Operatorzy płatności

bookings.create() i sales.create() przyjmują payOnPickup, stripe, wayforpay, monobank i liqpay. Metoda online wymaga aktywnej integracji płatności z danym operatorem. Odpowiedź zawiera wtedy paymentUrl, na który należy przekierować klienta (rezerwacje zwracają też paymentRedirect, który może być wysłaniem formularza).

supportedPaymentMethods w org.info() i org.summary() wymienia payOnPickup oraz połączone integracje monobank, liqpay i wayforpay, ale nie Stripe, nawet gdy jest połączony. SDK typuje to pole wszystkimi metodami płatności, więc Twój kod będzie działać dalej, gdy Stripe zostanie dodany.
Copyright © 2026