MAX
7 мин··

PHP SDK Relaya: как быстро подключить MAX в Laravel и обычном PHP

Практический quickstart для relaya/sdk-php: composer, RelayaApi facade, Configuration и отправка сообщения через IntegrationsApi.

Установка

Пакет публикуется в Packagist как relaya/sdk-php и рассчитан на PHP 8.1+. Это нормальный вариант и для Laravel, и для более классических PHP-проектов.

composer require relaya/sdk-php

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

Laravel и обычный PHP

В README пакета отдельно указана поддержка Laravel auto-discovery. Если вам удобнее, можно работать и через фасад RelayaApi, и через явную конфигурацию с Configuration.

use Relaya\RelayaApi;
 
RelayaApi::configure(accessToken: getenv('RELAYA_API_TOKEN'));

Для сценария с profile-token отдельная настройка тоже доступна, она разобрана в статье про авторизацию.

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

Для отправки используется IntegrationsApi и модель SendMessageInputBody. У модели есть fluent setters, так что payload можно собирать без массивов и без ручной сериализации.

<?php
 
require_once __DIR__ . '/vendor/autoload.php';
 
use Relaya\RelayaApi;
use Relaya\Sdk\Model\SendMessageInputBody;
 
RelayaApi::configure(accessToken: getenv('RELAYA_API_TOKEN'));
 
$result = RelayaApi::IntegrationsApi()->postProfilesProfileIdIntegrationsIntegrationMessages(
    'prof_abc123',
    'max',
    (new SendMessageInputBody())
        ->setPhone('+79991234567')
        ->setMessage('Ваш заказ #1234 готов')
        ->setClientId('order_1234_ready')
);
 
print_r($result);

Когда PHP SDK окупается быстрее всего

  • Когда продукт уже на Laravel и не хочется тащить отдельный сервис под интеграцию.
  • Когда важна совместимость с существующей бизнес-логикой и очередями на PHP.
  • Когда команда хочет убрать ручную работу с заголовками, URL и сериализацией моделей.

Если вы пока не уверены в выборе стека, начните с общего обзора SDK Relaya.

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

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