Что SDK делает для вашего приложения
PHPЧто ваше приложение делает через SDK — запускает флоу, ждёт их, ведёт клиентов и их кредиты, проверяет вебхуки, — и что SDK делает сам при каждом вызове.
3 мин чтения
SDK — это код вашего приложения, который работает со Slen. Он запускает флоу вашего проекта и читает, чем они закончились, ведёт ваших клиентов и их кредиты и проверяет вебхуки, которые присылает Slen. У Slen есть SDK для PHP и SDK для Node.js. Оба обращаются к одному API, и вызовы у них одинаковые.
Что с ним делают
| Задача | Вызовы | Подробнее |
|---|---|---|
| Запустить флоу | operations.execute(), operations.executeAsync() | Отправить запрос |
| Дождаться запуска и прочитать его трассировку | executions.wait(), executions.get(), executions.trace() | Асинхронные запуски и ожидание |
| Вести клиентов и их кредиты | customers.create(), customers.topUp(), customers.charge(), customers.entries() | Клиенты и кредиты |
| Принимать вебхуки | webhooks.constructEvent() | Вебхуки |
Флоу собирают и публикуют на странице AI-флоу, и решения о деньгах принимаются в нём: какую модель вызвать, какой бюджет проверить, что делать, когда вызов отклонён. Узел модели во флоу резервирует деньги до вызова модели и списывает столько, сколько стоил вызов. У SDK нет вызова, который двигает деньги вокруг вызова модели: он запускает флоу и читает, чем тот закончился.
Что SDK делает сам
Он называет каждую единицу работы. Запуск и движение кредитов несут ключ идемпотентности, и SDK создаёт его, когда вы не передали свой. На повтор под вашим ключом отвечают, а не выполняют его заново — Ключи идемпотентности.
Он отправляет запрос ещё раз, когда это безопасно: когда ответа не было, после
429или503, под тем же ключом.500,502и504он не повторяет никогда, потому что провайдеру могли уже заплатить — Повторы и таймауты.Он выбрасывает свой тип ошибки для каждого кода, один и тот же в обоих SDK. Тип говорит, могли ли быть потрачены деньги — Обработка ошибок.
Он ждёт запуск в темпе, о котором просит API — Асинхронные запуски и ожидание.
Что остаётся в консоли
Люди рабочего пространства настраивают в консоли:
флоу и их версии, бюджеты, политики, подключения провайдеров и пулы, API-ключи, участников;
цены операций в кредитах, которые читает
customers.prices();вебхуки и их секреты подписи, на странице Вебхуки;
согласования: решение принимает человек на странице Согласования, а ваше приложение узнаёт исход, дождавшись запуска или из вебхука.
API-ключ хранится на вашем сервере и никогда не попадает в браузер. Выпустите его на странице Ключи и доступ.
PHP и Node.js
У двух SDK одинаковые вызовы, одинаковые типы ошибок, одинаковый журнал и одинаковые спаны. PHP SDK поставляется с интеграцией для Laravel. Node.js SDK читает ключ из SLEN_API_KEY и отправляет спаны в OpenTelemetry. Статья PHP и Node.js сравнивает их.
Каждый вызов SDK, который доходит до Slen, — обычный HTTP-запрос API. Статья Установка показывает запрос запуска по HTTP.
Что читать дальше
Быстрый старт — первый запуск флоу.
Установка — что нужно каждому SDK и какой нужен API-ключ.
Клиент и методы — каждый вызов SDK.