Backend ja SDK

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.com kattaa 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.