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