वेबहुक

वेबसाइटों पर होने वाली गतिविधियों की सूचनाएं रीयल-टाइम में पाने के लिए, 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