Что 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.

Что читать дальше