लग इननिःशुल्क ट्रायल सुरु गर्नुहोस्
Meta Tech Provider

LangChain एजेन्टलाई WhatsApp नम्बर दिनुहोस्

LangChain एजेन्टमा WhatsApp दुई भागमा आउँछ। आएका म्यासेज नम्बरको वेबहुक मार्फत तपाईंको वेब रुटमा पुग्छन्, र रुटले एजेन्टलाई चलाउँछ। काम गर्न एजेन्टले OAuth सहित LangChain को MCPAdapter मार्फत EasyCoexistence MCP टुल लोड गर्छ, वा नम्बरको टोकन र फोन नम्बर आईडी लिएर Cloud API सीधै बोलाउँछ।

1.4.0

langchain.mcp नेमस्पेसका लागि न्यूनतम langchain[mcp] संस्करण, जुन बिटा अवस्थामा छ।

auth="oauth"

पूरा OAuth 2.1 प्रवाह चलाउँछ: डिस्कभरी, डायनामिक क्लाइन्ट दर्ता, ब्राउजर रिडाइरेक्ट र टोकन आदानप्रदान।

131047

प्राप्तकर्ताले पछिल्लो पटक उत्तर दिएपछि 24 घण्टाभन्दा बढी भएमा Meta ले फर्काउने त्रुटि।

LangChain एजेन्टले WhatsApp का टुल कसरी लोड गर्छ?

MCPAdapter मार्फत, जो LangChain को MCP क्लाइन्ट हो र MCP सर्भरका टुललाई create_agent मा साधारण LangChain टुलका रूपमा दिन्छ। यसका लागि langchain[mcp] को संस्करण 1.4.0 वा सोभन्दा माथि चाहिन्छ र यो बिटा अवस्थामा छ।

प्रमाणीकरण FastMCP लाई सुम्पिएको हुन्छ। क्लाइन्टमा auth="oauth" दिँदा पूरा OAuth 2.1 प्रवाह चल्छ: डिस्कभरी, डायनामिक क्लाइन्ट दर्ता, ब्राउजर रिडाइरेक्ट र टोकन आदानप्रदान। EasyCoexistence MCP सर्भरले यही अपेक्षा गर्छ, त्यसैले बनाउन वा टाँस्नुपर्ने कुनै कुञ्जी हुँदैन। पूर्वनिर्धारित रूपमा टोकन मेमोरीमा रहन्छन् र हरेक रनमा ब्राउजरको चरण दोहोरिन्छ। टोकन स्टोर भएको FastMCP OAuth प्रोभाइडरले तिनलाई रनहरूबीच सुरक्षित राख्छ।

लोड भएपछि एजेन्टले टुललाई तिनका विवरणसहित देख्छ: पहिले list_numbers, किनभने अरू हरेक टुलले यसबाटै connection_id लिन्छ, त्यसपछि send_message, send_template, list_templates, get_number_health र बाँकी।

Load the tools into an agent, from LangChain's documented pattern
from fastmcp.client import Client
from langchain.agents import create_agent
from langchain.mcp import MCPAdapter

URL = "https://easycoexistence.com/api/mcp"

async def build_agent(model: str):
    async with MCPAdapter(Client(URL, auth="oauth")) as adapter:
        tools = await adapter.list_tools()
        return create_agent(model, tools)

आएको WhatsApp म्यासेज एजेन्टसम्म कसरी पुग्छ?

वेबहुक मार्फत, किनभने MCP ले यो गर्न सक्दैन। प्रोटोकल अनुरोध र प्रतिक्रियामा आधारित छ, त्यसैले ग्राहकले लेख्दा सर्भरले क्लाइन्टलाई जगाउने कुनै उपाय त्यसमा छैन।

नम्बरको वेबहुक गन्तव्य आफ्नै एपको कुनै रुटमा राख्नुहोस्, र यूआरएल पथमा लामो अनियमित गोप्य मान राख्नुहोस्। रुटले Meta को प्रमाणीकरण GET लाई चुनौती मान जस्ताको तस्तै फर्काएर प्रतिक्रिया दिन्छ, हरेक POST स्वीकार गर्छ, तुरुन्तै 200 फर्काउँछ र काम लाइनमा राख्छ। त्यसपछि वर्करले पेलोडबाट पठाउने व्यक्ति र पाठ लिएर एजेन्टलाई चलाउँछ, पठाउनेको नम्बरलाई थ्रेड आईडी बनाएर ताकि मेमोरी ग्राहकअनुसार छुट्टै रहोस्।

X-Hub-Signature-256 हेडरको सट्टा यूआरएलमा रहेको गोप्य मान जाँच्नुहोस्। Meta ले Tech Provider को एप सिक्रेटले हस्ताक्षर गर्छ, जुन कहिल्यै साझा गरिँदैन, त्यसैले ग्राहकले त्यो हेडर प्रमाणित गर्न सक्दैन।

एजेन्टले MCP मार्फत पठाउने कि Cloud API बाट?

दुवै चल्छ, फरक भनेको नियम कसले समात्छ भन्ने हो। MCP टुलको विवरणमै WhatsApp का नियम हुन्छन्, जस्तै send_message 24 घण्टाको विन्डोभित्र मात्र चल्छ र नलेखेको व्यक्तिलाई सम्पर्क गर्न send_template प्रयोग हुन्छ। ती विवरण पढ्ने मोडेलले प्रायः सही टुल छान्छ, र एजेन्टले स्वतन्त्र रूपमा निर्णय गर्ने ठाउँमा यसले मद्दत गर्छ।

एजेन्टको काम साँघुरो भएको अवस्थामा, जस्तै भर्खर लेख्ने व्यक्तिलाई मात्र उत्तर दिने, नम्बरको टोकन लिएर Cloud API को म्यासेज एन्डपोइन्टमा पोस्ट गर्ने आफ्नै साधारण टुल सजिलो हुन्छ। तब विन्डोको जाँच तपाईंको कोडमा बस्छ, र कहिल्यै नतोडिनुपर्ने नियमको ठाउँ त्यही हो। विन्डोबाहिर स्वतन्त्र टेक्स्ट पठाउँदा त्रुटि 131047 फर्किन्छ, र ग्राहकले केही देख्दैनन्।

सामान्य गल्तीहरू

  • MCP ले आएका म्यासेज ल्याइदिन्छ भन्ने अपेक्षा गर्नु। वेबहुक रुट बिना एजेन्टले ग्राहकको कुरा कहिल्यै सुन्दैन।
  • सर्भरमा OAuth टोकन मेमोरीमै छाड्नु। हरेक रिस्टार्टमा ब्राउजर साइन इन चाहिन्छ, त्यसैले टोकन स्टोरमा सुरक्षित राख्नुहोस्।
  • सबै ग्राहकका लागि एउटै थ्रेड प्रयोग गर्नु। एजेन्टको मेमोरी पठाउनेको नम्बरमा आधारित बनाउनुहोस्।
EasyCoexistence मार्फत यो काम

easycoexistence.com मा नम्बर जडान गर्नुहोस्, वेबहुक गन्तव्य आफ्नो रुटमा सेट गर्नुहोस्, र एकपटकको OAuth साइन इनले MCP टुल एजेन्टमा लोड गर्नुहोस्। प्रति नम्बर प्रति महिना US$ 9 देखि सुरु हुन्छ, नम्बर थपिँदै जाँदा US$ 1 सम्म घट्छ, र पहिलो 3 दिन निःशुल्क छ।

बारम्बार सोधिने प्रश्नहरू

के यो Python मा मात्र चल्छ?

MCPAdapter को उदाहरण Python मा छ। वेबहुक र Cloud API साधारण HTTP हुन्, त्यसैले LangChain चल्ने जुनसुकै भाषाबाट म्यासेज लिन र पठाउन सकिन्छ।

के एजेन्टलाई हरेक पटक list_numbers चाहिन्छ?

यसलाई connection_id चाहिन्छ, र त्यो पाउने एकमात्र ठाउँ list_numbers हो। एउटै नम्बर भएमा एजेन्टले सुरुमा एकपटक मात्र यसलाई बोलाउँछ।

के टोलीले फोनबाट अझै उत्तर दिन सक्छ?

सक्छ। Coexistence ले WhatsApp Business एप चलिरहन दिन्छ, र फोनबाट दिइएका उत्तर echo इभेन्टका रूपमा तपाईंको रुटमा आउँछन्, जसलाई एजेन्टले ध्यानमा राख्न सक्छ।

के EasyCoexistence ले कुराकानी पढ्छ?

पढ्दैन। Meta ले सीधै तपाईंको रुटमा पठाउँछ र म्यासेजको सामग्री हाम्रो तर्फ कहिल्यै भण्डारण गरिँदैन। MCP टुलले खाता र नम्बरको अवस्था पढ्छन्।

पढ्दै जानुहोस्

सुरु गर्न तयार हुनुहुन्छ?

महिनौं होइन, केही मिनेटमै WhatsApp Coexistence सेट अप गर्नुहोस्। एप फोनमा चलिरहन्छ।

निःशुल्क ट्रायल सुरु गर्नुहोस्

प्रमाणीकरण गरिएको

WhatsApp मा LangChain एजेन्ट, Cloud API