Trešo pušu API (b77.http)
Izsauc jebkuru HTTPS API ar savām slepenajām atslēgām, tās neatklājot.
b77.http.fetch izsauc trešās puses HTTPS API no builder77 serveriem. Tavas API atslēgas glabājas sadaļā Iestatījumi → Slepenās atslēgas, un kodā tās raksta kā {{secret:NAME}}: serveris tās ievieto pats, tāpēc tās nekad nenonāk pārlūkā.
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) }Katrs izsaukums izmanto 1 integrāciju kredītu. Tikai https, 15 sekunžu noildze, atbildes līdz 1 MB. Ja API atbildē atgriež tavu atslēgu, tā tiek aizstāta ar [secret], pirms tava lietotne atbildi saņem.
Noteikumi katrai slepenajai atslēgai
Ikviens tavas lietotnes lietotājs var veikt izsaukumus ar slepeno atslēgu — to neredzot. Tāpēc katra atslēga darbojas tikai tā, kā tu atļauj:
- Atļautie serveri — vienīgie serveri, uz kuriem atslēga vispār tiek sūtīta (piem.,
api.openai.com;*.example.comaptver arī apakšdomēnus). - Atļautās metodes — pēc noklusējuma GET un POST.
- Atļautie ceļi — neobligāti ceļa prefiksi, piemēram,
/v1/chat/. Tukšs nozīmē jebkuru ceļu. - Kur atslēgu drīkst ievietot — pēc noklusējuma tikai pieteikšanās datu galvenē (Authorization, X-Api-Key, Api-Key, X-Goog-Api-Key un līdzīgās). Vaicājuma parametri (pēc nosaukuma, piem.,
key), URL ceļš un pieprasījuma pamatteksts ir izslēgti, līdz tu tos ieslēdz.
Izsaukums, kas pārkāpj noteikumu, tiek noraidīts ar statusu 403, pirms kaut kas tiek nosūtīts.
Atslēgas URL vai pamattekstā
Dod priekšroku API, kas atslēgu pieņem galvenē. Daži to prasa adresē — atļauj tieši šo vietu un sašaurini ceļu:
// 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!' },
});Atļauj Pieprasījuma pamattekstā tikai tad, ja API to pieprasa: tad ikviens tavas lietotnes lietotājs varētu ierakstīt atslēgu jebkurā vietā, ko šis API saglabā (ziņojumā, piezīmē, publiskā failā), un nolasīt to atpakaļ.