APIs ta' partijiet terzi (b77.http)
Sejjaħ kwalunkwe API HTTPS biċ-ċwievet sigrieti tiegħek, mingħajr ma tikxifhom.
b77.http.fetch isejjaħ API HTTPS ta' parti terza mis-servers ta' builder77. Iċ-ċwievet tal-API tiegħek jinħażnu f'Issettjar → Ċwievet sigrieti u fil-kodiċi jinkitbu bħala {{secret:NAME}}: is-server idaħħalhom hu, għalhekk qatt ma jaslu fil-browser.
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) }Kull call juża 1 kreditu ta' integrazzjoni. https biss, timeout ta' 15-il sekonda, risposti sa 1 MB. Jekk API jibgħatlek iċ-ċavetta tiegħek lura, din tinbidel b'[secret] qabel ma l-app tiegħek tara r-risposta.
Regoli għal kull ċavetta sigrieta
Kull min juża l-app tiegħek jista' jagħmel calls b'ċavetta sigrieta — mingħajr ma jaraha. Għalhekk kull ċavetta taħdem biss kif tippermetti int:
- Hosts permessi — l-uniċi servers li lilhom tintbagħat (eż.
api.openai.com;*.example.comikopri s-sub-domains). - Metodi permessi — GET u POST b'mod predefinit.
- Paths permessi — prefissi tal-path mhux obbligatorji bħal
/v1/chat/. Vojt ifisser kwalunkwe path. - Fejn tista' titqiegħed iċ-ċavetta — b'mod predefinit biss f'header tal-kredenzjali (Authorization, X-Api-Key, Api-Key, X-Goog-Api-Key u simili). Il-parametri tal-query (bl-isem, eż.
key), il-path tal-URL u l-body tat-talba huma mitfija sakemm tixgħelhom int.
Call li jikser regola jiġi rrifjutat bi status 403 qabel ma jintbagħat xejn.
Ċwievet fl-URL jew fil-body
Ippreferi APIs li jieħdu ċ-ċavetta f'header. Xi wħud jitolbuha fl-indirizz minflok — ippermetti eżatt dak il-post u ristrinġi l-path:
// 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!' },
});Ippermetti Fil-body tat-talba biss jekk l-API jeħtieġha: imbagħad kull min juża l-app tiegħek jista' jikteb iċ-ċavetta f'kull ħaġa li dak l-API jissejvja (messaġġ, nota, fajl pubbliku) u jaqraha lura.