Webhook-e

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" \