tRPC-процедуры
Типобезопасный транспорт /api/trpc: неймспейсы и примеры вызовов.
5 мин чтения#api#trpc#typescript
tRPC доступен по адресу /api/trpc. Это основной транспорт веб-клиента: дашборд, маркетинг, отзывы и поддержка ходят именно сюда.
Неймспейсы
orders— статистика, список, синхронизация, статусы.settings— зоны, кухня, доставка, фидбэк.marketing/marketingCampaigns— клиенты, кампании, промокоды.reviews— отзывы и переписка по чекам.operationalStats— операционный дашборд и планы.prizes— призы рулетки.clients— поиск клиента по телефону.support— тикеты поддержки.
Вызов из TypeScript
import { createTRPCProxyClient, httpBatchLink } from "@trpc/client";
import type { AppRouter } from "server/src/trpc/routers/_app";
const trpc = createTRPCProxyClient<AppRouter>({
links: [
httpBatchLink({
url: "https://api.smartdelivery.ru/api/trpc",
headers: { "x-restaurant-id": "12" },
}),
],
});
const stats = await trpc.orders.getStats.query();Вызов «по-сырому» через HTTP
Query-процедуры вызываются GET, мутации — POST. Входные данные передаются в параметре input.
# query без параметров
curl "https://api.smartdelivery.ru/api/trpc/orders.getStats" \
-H "x-restaurant-id: 12"
# query с параметрами
curl "https://api.smartdelivery.ru/api/trpc/clients.getByPhone?input=$(jq -rn '{phone:"+79991234567"}|@uri')" \
-H "x-restaurant-id: 12"Совет
Если вам нужен только классический REST — пропустите этот раздел и используйте
/api/* из «REST-эндпоинты».