वेबहुक की मदद से, Gemini API आपके सर्वर पर रीयल-टाइम में सूचनाएं भेज सकता है. ऐसा तब होता है, जब एसिंक्रोनस या लंबे समय तक चलने वाली कार्रवाइयां (एलआरओ) पूरी हो जाती हैं. इससे, स्टेटस अपडेट के लिए एपीआई को पोल करने की ज़रूरत नहीं पड़ती. साथ ही, इंतज़ार का समय और ओवरहेड कम हो जाता है.
वेबहुक, बैच जॉब, इंटरैक्शन, और वीडियो जनरेट करने जैसी कार्रवाइयों के लिए उपलब्ध हैं.
यह कैसे काम करता है
किसी टास्क के पूरा होने की स्थिति की जांच करने के लिए, GET /operations को बार-बार पोल करने के बजाय, Gemini API वेबहुक को कॉन्फ़िगर किया जा सकता है. इससे इवेंट ट्रिगर होने पर, आपके लिसनर यूआरएल को तुरंत एचटीटीपी पोस्ट अनुरोध भेजा जा सकेगा.
Gemini API में, वेबहुक को कॉन्फ़िगर करने के दो तरीके उपलब्ध हैं:
- स्टैटिक वेबहुक: प्रोजेक्ट-लेवल के एंडपॉइंट, जिन्हें Gemini WebhookService API की मदद से कॉन्फ़िगर किया जाता है. ग्लोबल इंटिग्रेशन के लिए अच्छा है. जैसे, Slack को सूचना देना, डेटाबेस सिंक करना वगैरह.
- डाइनैमिक वेबहुक: अनुरोध के लेवल पर वेबहुक यूआरएल को ओवरराइड करना. इसके लिए, किसी खास जॉब कॉल के कॉन्फ़िगरेशन पेलोड में वेबहुक यूआरएल पास करें. यह खास तौर पर, किसी खास एंडपॉइंट पर कुछ नौकरियों को रूट करने के लिए सही है.
स्टैटिक वेबहुक
स्टैटिक वेबहुक, पूरे प्रोजेक्ट के लिए रजिस्टर किए जाते हैं. साथ ही, ये किसी भी मैचिंग इवेंट के लिए ट्रिगर होते हैं.
वेबबुक बनाना
एसडीके या REST API का इस्तेमाल करके एंडपॉइंट बनाए जा सकते हैं.
अहम जानकारी: वेबुक बनाते समय, एपीआई साइनिंग सीक्रेट को सिर्फ़ एक बार दिखाता है. आपको इसे सुरक्षित तरीके से सेव करना होगा.जैसे, अपने एनवायरमेंट वैरिएबल में. इससे बाद में हस्ताक्षर की पुष्टि की जा सकेगी. साइनिंग सीक्रेट खो जाने पर, आपको उसे बदलना होगा.
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.