MAX
7 мин··

Python SDK Relaya: быстрый старт для MAX API без лишней обвязки

Показываем, как использовать relaya-sdk-python: Configuration, ApiClient, IntegrationsApi и типизированный payload для отправки сообщения.

Установка

Пакет публикуется как relaya-sdk-python и требует Python 3.9+. Это хороший вариант для FastAPI, Django, внутренних сервисов и автоматизаций, которые уже живут в Python.

pip install relaya-sdk-python

Репозиторий пакета: relaya-ru/sdk-python.

Конфигурация клиента

У Python SDK базовая точка входа это объект Configuration и контекст ApiClient. В нём же хранятся схема авторизации и базовый URL.

import relaya_sdk
 
configuration = relaya_sdk.Configuration(
    host="https://api.relaya.ru/v1",
    access_token="YOUR_RELAYA_API_TOKEN",
)

Если вам нужен header X-Profile-Token, он тоже поддерживается в конфигурации. Подробный пример есть в статье про авторизацию.

Отправка сообщения

Для интеграции профиля MAX используется IntegrationsApi и модель SendMessageInputBody. Поля называются так же, как в OpenAPI-контракте.

import os
import relaya_sdk
from relaya_sdk.api.integrations_api import IntegrationsApi
from relaya_sdk.models.send_message_input_body import SendMessageInputBody
 
configuration = relaya_sdk.Configuration(
    host="https://api.relaya.ru/v1",
    access_token=os.environ["RELAYA_API_TOKEN"],
)
 
with relaya_sdk.ApiClient(configuration) as api_client:
    api = IntegrationsApi(api_client)
    result = api.post_profiles_profile_id_integrations_integration_messages(
        "prof_abc123",
        "max",
        SendMessageInputBody(
            phone="+79991234567",
            message="Ваш заказ #1234 готов",
            client_id="order_1234_ready",
        ),
    )
    print(result)

Это особенно удобно, когда у вас уже есть worker на Celery или фоновые джобы: typed-модель заметно снижает шанс отправить неполный payload.

Когда Python SDK удобнее всего

  • Когда отправка сообщений живёт в async backend или очередях на Python.
  • Когда нужно быстро собирать внутренние утилиты без ручной генерации клиента.
  • Когда API вызывает одна и та же команда, которая и так поддерживает сервисы на Python.

Если основной backend всё же на TypeScript или PHP, лучше не разносить интеграцию по стекам без причины: рядом лежат материалы про Node.js SDK и PHP SDK.

Создайте бесплатный MAX-профиль

Если хочется не просто читать, а сразу проверить сценарий руками: подключите MAX, отправьте себе тестовое сообщение и уже потом решайте, нужны ли другие каналы.