Vercel AI SDK बाट WhatsApp एजेन्ट बनाउनुहोस्
आउने म्यासेज नम्बरको वेबहुक गन्तव्यका रूपमा सेट गरिएको रुट ह्यान्डलरमा पुग्छन्। ह्यान्डलरले generateText चलाउँछ र उत्तर Cloud API मार्फत पठाउँछ। नम्बरमा काम गर्ने टुलका लागि, @ai-sdk/mcp को createMCPClient ले HTTP मार्फत EasyCoexistence MCP सर्भरसँग जडान गर्छ र authProvider मार्फत OAuth बाट साइन इन गर्छ।
AI SDK को MCP क्लाइन्ट createMCPClient उपलब्ध गराउने प्याकेज।
AI SDK को MCP HTTP ट्रान्सपोर्टमा authProvider दिएर OAuth प्रयोग गर्न सकिन्छ।
WhatsApp Business एप र Cloud API दुवैसँग प्रयोग हुने नम्बरको निश्चित थ्रुपुट।
रुट ह्यान्डलरले WhatsApp म्यासेज कसरी प्राप्त गर्छ?
एउटै रुटमा दुई मेथड राखेर, जसलाई पाथमा लामो अनियमित गोप्य कोड राखी नम्बरको वेबहुक गन्तव्यका रूपमा सेट गरिन्छ।
GET ले Meta को प्रमाणीकरणको उत्तर दिन्छ। क्वेरीबाट hub.mode, hub.verify_token र hub.challenge पढ्नुहोस्, टोकन मिलाउनुहोस्, र challenge साधारण टेक्स्टका रूपमा फर्काउनुहोस्। JSON हेल्परबाट फर्काउनु सामान्य गल्ती हो: बडीमा उद्धरणचिह्न आउँछ र Meta ले डेलिभरी सुरु गर्दैन।
POST ले इभेन्ट प्राप्त गर्छ। छिटो 200 फर्काउनुहोस् र मोडेल कल पछि चलाउनुहोस्, किनकि Meta ले ढिलो प्रतिक्रियामा पुनः प्रयास गर्छ, र कोल्ड स्टार्टमा मोडेल त्यहीँ चलाउँदा एउटै म्यासेजको दुई पटक उत्तर जान सक्छ। प्रतिक्रिया पठाएपछि फङ्सन बन्द गर्ने प्लेटफर्महरूमा काम क्यू वा प्लेटफर्मको प्रतिक्रिया पछिको काम चलाउने व्यवस्थामा सुम्पनुहोस्।
पाथको गोप्य कोड नै प्रमाणीकरण हो। Meta ले हरेक डेलिभरीमा Tech Provider को एप सिक्रेटले हस्ताक्षर गर्छ, त्यसैले X-Hub-Signature-256 हेडर तपाईंको तर्फबाट जाँच गर्न सकिँदैन।
AI SDK ले WhatsApp टुल कसरी लोड गर्छ?
@ai-sdk/mcp को createMCPClient र HTTP ट्रान्सपोर्टबाट, जसलाई AI SDK को दस्तावेजले प्रोडक्सनका लागि सिफारिस गर्छ। ट्रान्सपोर्टले सर्भरको यूआरएल र authProvider लिन्छ, र EasyCoexistence MCP सर्भरलाई authProvider मार्फत OAuth बाट अधिकृत गरिन्छ: यसले OAuth मेटाडेटा प्रकाशित गर्छ, dynamic client registration र PKCE समर्थन गर्छ, र साइन इनपछि आफ्नै टोकन जारी गर्छ। हेडरमा राख्नुपर्ने API कुञ्जी छैन।
क्लाइन्टका टुल सिधै generateText वा streamText मा जान्छन्। त्यसपछि मोडेलले list_numbers, send_message, send_template, get_number_health र अन्य टुल देख्छ, जसका विवरणमा 24 घण्टाको विन्डो उल्लेख छ। AI SDK को दस्तावेजअनुसार काम सकिएपछि क्लाइन्ट बन्द गर्नुहोस्: स्ट्रिममा onEnd कलब्याकमा, अन्यथा finally ब्लकमा।
मोडेलले आफैं निर्णय गर्नुपर्ने ठाउँमा यो प्रयोग गर्नुहोस्। भर्खर आएको म्यासेजको उत्तर दिन ह्यान्डलरबाटै Cloud API लाई सिधै कल गर्नु छोटो हुन्छ।
import { createMCPClient } from "@ai-sdk/mcp";
const mcp = await createMCPClient({
transport: {
type: "http",
url: "https://easycoexistence.com/api/mcp",
authProvider, // your OAuthClientProvider implementation
},
});
try {
const tools = await mcp.tools();
// pass tools to generateText({ model, tools, prompt })
} finally {
await mcp.close();
}नम्बर Coexistence मा भएकाले के फरक पर्छ?
कोडले जान्नुपर्ने दुई कुरा छन्। पहिलो, कुराकानीमा पहिल्यै कुनै मानिस हुन सक्छ। नम्बरमा WhatsApp Business एप चलिरहन्छ, र फोनमा टाइप गरिएको हरेक उत्तर इको इभेन्टका रूपमा रुटमा आइपुग्छ। इको आएपछि त्यो सम्पर्कका लागि मोडेल रोक्ने ह्यान्डलरले मानिसको माथि मोडेलले उत्तर दिनबाट जोगाउँछ।
दोस्रो, नम्बरबाट पठाउने सीमा प्रति सेकेन्ड निश्चित 20 म्यासेज हो। संवादी एजेन्ट त्यसको नजिक पुग्दैन, तर सम्पर्क सूचीमा Promise.all ले लेखिएको ब्रोडकास्ट लुप पुग्छ, त्यसैले ब्याच गरेर पठाउनुहोस्।
बाँकी सबै साधारण Cloud API हो। ग्राहकको पछिल्लो म्यासेजको 24 घण्टाभित्र स्वतन्त्र टेक्स्ट अनुमति छ। त्यसपछि स्वीकृत टेम्प्लेट मात्र जान्छ, र स्वतन्त्र टेक्स्टले ग्राहकले केही नदेखिने गरी त्रुटि 131047 फर्काउँछ।
सामान्य गल्तीहरू
- challenge JSON रेस्पोन्स हेल्परबाट फर्काउनु। वरिपरिका उद्धरणचिह्नले Meta को जाँच असफल बनाउँछ।
- Meta लाई उत्तर दिनुअघि generateText चलाउनु। कोल्ड स्टार्टमा पुनः प्रयासले दोस्रो उत्तर बनाउँछ।
- MCP क्लाइन्ट बन्द गर्न बिर्सनु। प्लेटफर्मले नमारेसम्म हरेक अनुरोधले एउटा कनेक्सन खुला छाड्छ।
easycoexistence.com मा नम्बर जडान गर्नुहोस्, वेबहुक गन्तव्यमा आफ्नो रुट ह्यान्डलर सेट गर्नुहोस्, र एउटै OAuth साइन इनसँग MCP क्लाइन्ट थप्नुहोस्। प्रति नम्बर प्रति महिना US$ 9 देखि, नम्बर थप्दै जाँदा US$ 1 सम्म घट्दै, पहिलो 3 दिन निःशुल्क।
बारम्बार सोधिने प्रश्नहरू
के यो Vercel मा मात्र चल्छ?
चल्दैन, यो Vercel मा मात्र सीमित छैन। AI SDK TypeScript लाइब्रेरी हो, र HTTPS सर्भ गर्ने तथा GET र POST को उत्तर दिने जुनसुकै होस्टमा रुट चल्न सक्छ।
मलाई MCP क्लाइन्ट चाहिन्छ त?
उत्तर दिनका लागि चाहिँदैन। नम्बरको टोकनसहित Cloud API को म्यासेज एन्डपोइन्टमा fetch गरे त्यो काम हुन्छ। मोडेलले के गर्ने भन्ने आफैं छनोट गर्नुपर्दा MCP को उपयोगिता हुन्छ।
मोडेल कुन प्रोभाइडरको हुन सक्छ?
AI SDK ले समर्थन गर्ने जुनसुकै। WhatsApp तर्फ मोडेलबाट स्वतन्त्र छ, त्यसैले प्रोभाइडर बदल्दा रुट वा Cloud API कलमा कुनै परिवर्तन गर्नुपर्दैन।
के EasyCoexistence ले म्यासेज देख्छ?
देख्दैन। Meta ले म्यासेज तपाईंको रुटमा सिधै पठाउँछ, र म्यासेजको सामग्री हाम्रो तर्फ कहिल्यै भण्डारण गरिँदैन।
पढ्दै जानुहोस्
सुरु गर्न तयार हुनुहुन्छ?
महिनौं होइन, केही मिनेटमै WhatsApp Coexistence सेट अप गर्नुहोस्। एप फोनमा चलिरहन्छ।
निःशुल्क ट्रायल सुरु गर्नुहोस्प्रमाणीकरण गरिएको