Установите SDK
PHPЧто нужно каждому SDK, как установить его пакет, как обратиться к Slen без него и с каким API-ключом он работает.
3 мин чтения
У Slen есть SDK для PHP — пакет slen/sdk — и SDK для Node.js — пакет @slen/sdk. Оба обращаются к одному API. Эта страница говорит, что нужно каждому из них, как установить его пакет и с каким API-ключом он работает.
Что нужно SDK
PHP 8.3 или новее, с
ext-json.psr/http-client1 иpsr/http-factory1 — интерфейсы HTTP-клиента, через который SDK отправляет запросы.psr/http-message1.1 или 2 — интерфейсы запроса и ответа.php-http/discovery1.19 или более поздняя 1 — находит HTTP-клиент и фабрики, установленные в вашем приложении.psr/log1.1, 2 или 3 — интерфейс логгера, в который SDK пишет свой журнал.
Своего HTTP-клиента пакет не требует: его приносит ваше приложение. Эти пакеты используются, только когда они есть в вашем приложении.
guzzlehttp/guzzle7.9 или более поздняя 7, либо 8.3 или более поздняя 8 — HTTP-клиент, который SDK собирает сам, с таймаутами своей конфигурации.symfony/http-client7 — то же самое с Symfony HttpClient.nyholm/psr71.8 или более поздняя 1 — фабрики запросов, с которыми работает Symfony HttpClient.illuminate/supportиз Laravel 11 или 12 — интеграция с Laravel: сервис-провайдер, фасадSlenи файл конфигурации.
Интеграция с Laravel — для Laravel 11 и 12: рядом с более ранним illuminate/support пакет не устанавливается.
Подойдёт и любой другой клиент PSR-18. У него остаются свои таймауты — как SDK с ним обходится, говорит статья Конфигурация.
Установить пакет
composer require slen/sdk guzzlehttp/guzzleЛюбой вызов SDK можно отправить и без него: SDK отправляет обычные HTTP-запросы к API. Вот запрос из статьи Быстрый старт по HTTP:
curl https://api.slen.ai/api/v1/operations/execute \
-H "Authorization: Bearer $SLEN_API_KEY" \
-H "Idempotency-Key: order-42:email" \
-H "Content-Type: application/json" \
-d '{
"operation": "generate_email",
"input": {
"messages": [
{
"role": "user",
"content": "Write a short follow-up email."
}
]
}
}'{
"data": {
"execution_id": "74438200973594700",
"status": "completed",
"operation": "generate_email",
"output": {
"model": "gpt-4o",
"content": "Hi Ada, just checking in on the proposal I sent last week.",
"finish_reason": "stop",
"tool_calls": null,
"usage": {
"input_tokens": 14,
"output_tokens": 16,
"cached_input_tokens": 0
}
},
"error": null,
"error_code": null,
"error_message": null,
"cost": {
"estimated": "0.00412500",
"actual": null
},
"cache": {
"hit": false,
"cached_at": null
},
"replayed": false,
"waiting_on": null,
"trace_url": "/v1/executions/74438200973594700"
}
}Статья Обзор описывает соглашения, которым следует каждый запрос API.
API-ключ
Каждый вызов SDK несёт API-ключ вашего проекта. Выпустите его на странице Ключи и доступ — по шагам это описано в статье Управление API-ключами. Ключ показывается один раз, при выпуске.
Что ключ может вызывать, зависит от его разрешений. Запуску флоу нужно gateway:write, чтению клиентов — customers:read, изменению клиентов и их кредитов — customers:write. Статья Клиент и методы называет разрешение каждого вызова, а статья Аутентификация говорит, что включает каждое разрешение.
Храните ключ там, где ваше приложение хранит секреты, и не кладите его в код, который выполняется в браузере. Примеры этого справочника читают его из переменной окружения SLEN_API_KEY.
export SLEN_API_KEY="sl_live_…"PHP SDK получает ключ при создании. В приложении на Laravel переменную читает файл конфигурации SDK.
Что читать дальше
Быстрый старт — первый запуск флоу по шагам.
Конфигурация — опции SDK и для чего каждая из них.
Интеграция с Laravel — SDK приложения на Laravel: из контейнера или через фасад
Slen.