Webhooki

Webhooki umożliwiają interfejsowi Gemini API wysyłanie powiadomień w czasie rzeczywistym na Twój serwer po zakończeniu operacji asynchronicznych lub długotrwałych. Eliminuje to konieczność sprawdzania stanu interfejsu API, co zmniejsza opóźnienia i obciążenie.

Webhooki są dostępne w przypadku operacji takich jak zadania zbiorcze, interakcje i generowanie filmów.

Jak to działa

Zamiast wielokrotnie wysyłać zapytania GET /operations, aby sprawdzić, czy zadanie zostało zakończone, możesz skonfigurować webhooki Gemini API tak, aby po wywołaniu zdarzenia natychmiast wysyłały żądanie HTTP POST na adres URL odbiornika.

Interfejs Gemini API obsługuje 2 sposoby konfigurowania webhooków:

  • Webhooki statyczne: punkty końcowe na poziomie projektu skonfigurowane za pomocą interfejsu Gemini WebhookService API. Przydatne w przypadku integracji globalnych (np. powiadamianie Slacka, synchronizowanie bazy danych itp.).
  • Webhooki dynamiczne: zastąpienia na poziomie żądania, które przekazują adres URL webhooka w ładunku konfiguracji określonego wywołania zadania. Idealne do kierowania określonych zadań do dedykowanych punktów końcowych.

Webhooki statyczne

Webhooki statyczne są rejestrowane dla całego projektu i są wywoływane w przypadku każdego pasującego zdarzenia.

Tworzenie webhooka

Punkty końcowe możesz tworzyć za pomocą pakietu SDK lub interfejsu API REST.

WAŻNE: podczas tworzenia webhooka interfejs API zwraca klucz podpisywania tylko raz. Aby później weryfikować podpisy, musisz bezpiecznie przechowywać ten klucz (np. w zmiennych środowiskowych). Jeśli utracisz klucz podpisywania, musisz go zmienić.

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