Użycie w przeglądarce i na serwerze
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()orazsaleLinesw 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()bezasRequest,bookings.list(),bookings.get(),bookings.addNote() clients.lookup(),clients.create()sales.list(),sales.get(),sales.create()- Wszystkich raportów
adjustmentiallowOutsideWorkingHoursw 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.