Сторонні API (b77.http)
Викликай будь-який HTTPS API зі своїми секретними ключами, не розкриваючи їх.
b77.http.fetch викликає сторонній HTTPS API із серверів builder77. Твої API-ключі зберігаються в Налаштування → Секретні ключі, а в коді записуються як {{secret:NAME}}: сервер підставляє їх сам, тож вони ніколи не потрапляють у браузер.
const res = await b77.http.fetch('https://api.openai.com/v1/chat/completions', {
method: 'POST', // default GET
headers: { Authorization: 'Bearer {{secret:OPENAI_API_KEY}}' },
body: { model: 'gpt-4o-mini', messages: [{ role: 'user', content: 'Hi!' }] }, // object → JSON, or a string
});
if (res.ok) console.log(res.data); // { ok, status, headers, body (text), data (parsed JSON or null) }Кожен виклик витрачає 1 кредит інтеграцій. Лише https, тайм-аут 15 секунд, відповіді до 1 МБ. Якщо API повертає твій ключ у відповіді, його замінюють на [secret], перш ніж відповідь побачить твій додаток.
Правила для кожного ключа
Будь-хто, хто користується твоїм додатком, може робити запити із секретним ключем — не бачачи його. Тому кожен ключ працює лише так, як ти дозволиш:
- Дозволені хости — єдині сервери, на які ключ узагалі надсилається (напр.
api.openai.com;*.example.comохоплює піддомени). - Дозволені методи — за замовчуванням GET і POST.
- Дозволені шляхи — необов’язкові префікси шляху, як-от
/v1/chat/. Порожньо — будь-який шлях. - Де можна передавати ключ — за замовчуванням лише в заголовку з обліковими даними (Authorization, X-Api-Key, Api-Key, X-Goog-Api-Key тощо). Параметри запиту (за назвою, напр.
key), шлях URL і тіло запиту вимкнені, доки ти їх не ввімкнеш.
Виклик, що порушує правило, відхиляється зі статусом 403 ще до того, як щось буде надіслано.
Ключі в URL або в тілі запиту
Обирай API, які приймають ключ у заголовку. Деякі натомість вимагають його в адресі — дозволь саме це місце й звузь шлях:
// Settings → Secrets: TELEGRAM_TOKEN, host api.telegram.org, "In the URL path" on,
// allowed path /bot{{secret:TELEGRAM_TOKEN}}/sendMessage
await b77.http.fetch('https://api.telegram.org/bot{{secret:TELEGRAM_TOKEN}}/sendMessage', {
method: 'POST',
body: { chat_id: 12345, text: 'New booking!' },
});Вмикай У тілі запиту лише тоді, коли цього вимагає API: тоді будь-хто, хто користується твоїм додатком, зможе записати ключ у будь-що, що зберігає цей API (повідомлення, нотатку, публічний файл), і прочитати його назад.