SDK Relaya: с чего начать, если не хочется писать API-клиент руками
Общий обзор публичных SDK Relaya для Node.js, Python и PHP: установка, авторизация и первый вызов IntegrationsApi без ручного fetch.
Зачем вообще брать SDK
Если задача проста, raw HTTP-запросов иногда хватает. Но как только в проекте появляются реальные профили, токены, webhook, QR-авторизация и несколько интеграций, самодельный клиент быстро начинает разрастаться бесполезным кодом.
У Relaya уже есть публичные SDK, сгенерированные из OpenAPI-контракта. Это означает две полезные вещи: у вас сразу есть типизированные модели запросов и имена методов совпадают с тем, что реально опубликовано в API.
Какие пакеты уже есть
| Стек | Пакет | Когда удобен |
|---|---|---|
| Node.js | @relaya/sdk-node | API routes, workers, backend на TypeScript |
| Python | relaya-sdk-python | FastAPI, Django, automation jobs, internal tools |
| PHP | relaya/sdk-php | Laravel и классические PHP-бэкенды |
У каждого пакета уже есть свой quickstart: Node.js, Python и PHP.
Авторизация в SDK
В autogenerated-доках SDK явно описаны две схемы авторизации: Bearer JWT и заголовок X-Profile-Token. Для большинства первых интеграций хватает Bearer-токена пользователя.
- Bearer удобен, когда вы работаете от имени аккаунта и быстро собираете первый рабочий контур.
X-Profile-Tokenполезен, когда вызов должен быть жёстко привязан к одному профилю.- Если сомневаетесь, начните с Bearer и отдельно посмотрите разбор схем авторизации.
Первое сообщение
Один метод, три языка
Во всех трёх SDK первый полезный шаг выглядит одинаково: создаёте IntegrationsApi, задаёте токен и вызываете метод отправки сообщения в интеграцию max.
Для backend-сервисов, workers и Next.js API routes без ручного fetch.
Установка
npm i @relaya/sdk-nodeДля FastAPI, Django, скриптов интеграции и продуктовых cron-задач.
Установка
pip install relaya-sdk-pythonДля Laravel и обычного PHP без ручной сборки OpenAPI-клиента.
Установка
composer require relaya/sdk-phpОтправка сообщения через SDK
В autogenerated-доках SDK доступны и Bearer JWT, и `X-Profile-Token`. Для большинства quickstart-примеров здесь используется Bearer-токен пользователя.
import { IntegrationsApi, SendMessageInputBody } from "@relaya/sdk-node";
const api = new IntegrationsApi("https://api.relaya.ru/v1");
api.accessToken = process.env.RELAYA_API_TOKEN || "";
const payload: SendMessageInputBody = {
phone: "+79991234567",
message: "Ваш заказ #1234 готов",
clientId: "order_1234_ready",
};
const { body } =
await api.postProfilesProfileIdIntegrationsIntegrationMessages(
"prof_abc123",
"max",
payload,
);
console.log(body);Как выбрать стек
Выбирайте не “самый модный” SDK, а тот, который совпадает с вашим реальным backend-слоем.
- Если основной backend на TypeScript, не тяните Python только ради одной интеграции.
- Если у вас уже живут cron-задачи и data pipelines в Python, логично оставить отправку там же.
- Если продукт на Laravel или legacy PHP, SDK для PHP сэкономит больше всего ручной работы.
Сами SDK не заменяют продуктовые решения вроде очередей, retry и idempotency. Но они убирают лишнюю низкоуровневую рутину и уменьшают риск ошибиться в базовом клиенте.
Хороший первый шаг в Relaya это не “написать свой SDK”, а взять готовый пакет и быстрее дойти до реального события: профиль подключён, сообщение ушло, статус приехал обратно.
Создайте бесплатный MAX-профиль
Если хочется не просто читать, а сразу проверить сценарий руками: подключите MAX, отправьте себе тестовое сообщение и уже потом решайте, нужны ли другие каналы.