Встановіть 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.