Webhook-et i lejojnë API-t Gemini të dërgojë njoftime në kohë reale në serverin tuaj kur përfundojnë Operacionet asinkrone ose Operacionet me Ekzekutim të Gjatë (LRO). Kjo zëvendëson nevojën për të pyetur API-n për përditësimet e statusit, duke zvogëluar vonesën dhe mbingarkesën.
Webhook-et janë të disponueshëm për operacione si punë në grup , ndërveprime dhe gjenerim videosh .
Si funksionon
Në vend që të pyetni GET /operations në mënyrë të përsëritur për të kontrolluar nëse një punë është përfunduar, mund të konfiguroni Gemini API Webhooks për të dërguar një kërkesë HTTP POST në URL-në tuaj të dëgjuesit menjëherë pas një shkaktimi të ngjarjes.
API-ja Gemini mbështet dy mënyra për të konfiguruar webhook-et:
- Webhook-e statikë : Pikat fundore në nivel projekti të konfiguruara me API-në Gemini WebhookService . I mirë për integrime globale (p.sh., njoftimi i Slack, sinkronizimi i një baze të dhënash, etj.).
- Webhook-e dinamike : Mbivendosjet në nivel kërkese kalojnë një URL webhook në ngarkesën e konfigurimit të një thirrjeje specifike të punëve. Ideale për drejtimin e punëve specifike në pikat fundore të dedikuara.
Webhook-e statikë
Webhook-et statikë regjistrohen për një projekt të tërë dhe aktivizohen për çdo ngjarje që përputhet.
Krijo një webhook
Mund të krijoni pika fundore duke përdorur SDK ose REST API.
E RËNDËSISHME : Kur krijoni një webhook, API kthen një sekret nënshkrimi vetëm një herë . Duhet ta ruani këtë në mënyrë të sigurt (p.sh. në variablat e mjedisit tuaj) për të verifikuar nënshkrimet më vonë. Nëse e humbni sekretin e nënshkrimit, do t'ju duhet ta rrotulloni atë.
Python
from google import genai
client = genai.Client()
webhook = client.webhooks.create(
name="MyBatchWebhook",
subscribed_events=["batch.succeeded", "batch.failed"],
uri="https://my-api.com/gemini-callback",
)
# Store webhook.new_signing_secret securely
webhook_secret = webhook.new_signing_secret
print(f"Created webhook: {webhook.name}, {webhook.id}")
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI();
async function createWebhook() {
const webhook = await client.webhooks.create({
name: "MyBatchWebhook",
subscribed_events: ["batch.succeeded", "batch.failed"],
uri: "https://my-api.com/gemini-callback",
});
// Store webhook.signingSecret securely
const webhookSecret = webhook.new_signing_secret;
console.log(`Created webhook: ${webhook.name}, ${webhook.id}`);
}
createWebhook();
PUSHTIM
curl -X POST \
"https://generativelanguage.googleapis.com/v1/webhooks" \