API's van derden (b77.http)
Roep elke HTTPS-API aan met je geheime sleutels, zonder ze prijs te geven.
b77.http.fetch roept een HTTPS-API van een derde partij aan vanaf de servers van builder77. Je API-sleutels sla je op in Instellingen → Secrets en in je code schrijf je ze als {{secret:NAME}}: de server vult ze in, zodat ze nooit in de browser terechtkomen.
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) }Elke aanroep kost 1 integratiecredit. Alleen https, time-out van 15 seconden, antwoorden tot 1 MB. Stuurt een API je sleutel terug, dan wordt die vervangen door [secret] voordat je app het antwoord ziet.
Regels per secret
Iedereen die je app gebruikt, kan aanroepen doen met een secret, zonder het te zien. Daarom werkt elk secret alleen zoals jij het toestaat:
- Toegestane hosts — de enige servers waarnaar het ooit wordt gestuurd (bijv.
api.openai.com;*.example.comdekt ook subdomeinen). - Toegestane methoden — standaard GET en POST.
- Toegestane paden — optionele padprefixen zoals
/v1/chat/. Leeg betekent elk pad. - Waar de sleutel mag staan — standaard alleen in een credential-header (Authorization, X-Api-Key, Api-Key, X-Goog-Api-Key en vergelijkbare). Queryparameters (op naam, bijv.
key), het URL-pad en de request-body staan uit tot je ze aanzet.
Een aanroep die een regel overtreedt, wordt met status 403 geweigerd voordat er iets wordt verstuurd.
Sleutels in de URL of body
Kies bij voorkeur API's die de sleutel in een header verwachten. Sommige willen hem in het adres: sta dan precies die plek toe en beperk het pad.
// 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!' },
});Sta In de request-body alleen toe als de API dat vereist: iedereen die je app gebruikt, kan de sleutel dan wegschrijven in alles wat die API opslaat (een bericht, een notitie, een openbaar bestand) en hem weer teruglezen.