Backend u SDK

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