Requiply
TypeScript SDK

Використання в браузері та на сервері

Які методи SDK браузерна вітрина може викликати з публічним ключем, які належать серверу із секретним ключем і як підключити обидва в Next.js чи Nuxt.

Виклики з браузера та вітрини

Публічний ключ може виконувати ці методи просто з браузера:

  • org.info()
  • categories.list(), services.list(), inventory.list(), inventory.getGroup()
  • availability.calendar(), availability.items(), pricing.quote()
  • bookings.create({ ..., asRequest: true })
  • saleItems.list(), saleItems.get(), а також saleLines у розрахунках ціни та запитах на бронювання, поки організація продає клієнтам

Публічний API приймає запити з браузера з будь-якого джерела, тож домен реєструвати не потрібно. Сам SDK надсилає лише такі заголовки: Authorization, Accept, Content-Type. Якщо додати власні заголовки, браузери заблокують запит; див. Параметри запитів.

Серверні виклики

Використовуйте секретний ключ на довіреному сервері для:

  • org.summary(), inventory.status()
  • Звичайних бронювань: bookings.create() без asRequest, bookings.list(), bookings.get(), bookings.addNote()
  • clients.lookup(), clients.create()
  • sales.list(), sales.get(), sales.create()
  • Усіх звітів
  • adjustment і allowOutsideWorkingHours у бронюваннях, а також товарів суборенди від постачальників

Секретним ключам місце в змінних середовища сервера. Не давайте їм префікса, який відкриває значення для браузерних бандлів, як-от NEXT_PUBLIC_ чи NUXT_PUBLIC_.

Фреймворки

Використовуйте @requiply/api-sdk напряму. Типове налаштування створює два клієнти:

// 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! });

Тримайте серверний клієнт у модулі, який імпортує лише серверний код. Якщо клієнт із секретним ключем усе ж створять у браузері, SDK викине TypeError замість того, щоб надіслати ключ.

Платіжні провайдери

bookings.create() і sales.create() приймають такі значення: payOnPickup, stripe, wayforpay, monobank, liqpay. Онлайн-спосіб оплати потребує активної платіжної інтеграції для цього провайдера. Тоді відповідь містить paymentUrl, на який треба перенаправити клієнта (бронювання також повертають paymentRedirect, який може бути надсиланням форми).

supportedPaymentMethods в org.info() і org.summary() перелічує payOnPickup і підключені інтеграції (monobank, liqpay, wayforpay), але не Stripe, навіть коли його підключено. SDK типізує це поле з усіма способами оплати, тож ваш код працюватиме й тоді, коли додадуть Stripe.
Copyright © 2026