Kolmannen osapuolen rajapinnat (b77.http)
Kutsu mitä tahansa HTTPS-rajapintaa salaisilla avaimillasi paljastamatta niitä.
b77.http.fetch kutsuu kolmannen osapuolen HTTPS-rajapintaa builder77:n palvelimilta. API-avaimesi tallennetaan kohtaan Asetukset → Salaiset avaimet, ja koodissa ne kirjoitetaan muodossa {{secret:NAME}}: palvelin lisää ne paikalleen, joten ne eivät koskaan päädy selaimeen.
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) }Jokainen kutsu kuluttaa 1 integraatiokrediitin. Vain https, 15 sekunnin aikakatkaisu, vastaukset enintään 1 Mt. Jos rajapinta palauttaa avaimesi vastauksessa, se korvataan merkinnällä [secret] ennen kuin sovelluksesi näkee vastauksen.
Jokaisen avaimen säännöt
Kuka tahansa sovelluksesi käyttäjä voi tehdä kutsuja salaisella avaimella – näkemättä sitä. Siksi jokainen avain toimii vain sallimallasi tavalla:
- Sallitut palvelimet – ainoat palvelimet, joille avain koskaan lähetetään (esim.
api.openai.com;*.example.comkattaa aliverkkotunnukset). - Sallitut metodit – oletuksena GET ja POST.
- Sallitut polut – valinnaiset polun alkuosat, kuten
/v1/chat/. Tyhjä tarkoittaa mitä tahansa polkua. - Mihin avaimen saa sijoittaa – oletuksena vain tunnistautumisotsakkeeseen (Authorization, X-Api-Key, Api-Key, X-Goog-Api-Key ja vastaavat). Kyselyparametrit (nimen mukaan, esim.
key), URL-polku ja pyynnön runko ovat pois päältä, kunnes otat ne käyttöön.
Sääntöä rikkova kutsu hylätään tilakoodilla 403 ennen kuin mitään lähetetään.
Avaimet URL-osoitteessa tai rungossa
Suosi rajapintoja, jotka ottavat avaimen otsakkeessa. Jotkin vaativat sen osoitteessa – salli silloin täsmälleen se kohta ja rajaa polku:
// 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!' },
});Salli Pyynnön rungossa vain, jos rajapinta vaatii sitä: silloin kuka tahansa sovelluksesi käyttäjä voisi kirjoittaa avaimen mihin tahansa, minkä rajapinta tallentaa (viestiin, muistiinpanoon, julkiseen tiedostoon), ja lukea sen takaisin.