IngiaAnza kipindi cha majaribio bila malipo
Meta Tech Provider

Mpe wakala wa LangChain nambari ya WhatsApp

Wakala wa LangChain hupata WhatsApp kwa sehemu mbili. Jumbe zinazoingia hufika kwenye route yako ya wavuti kupitia webhook ya nambari, na route hiyo humwita wakala. Ili kutenda, wakala hupakia zana za MCP za EasyCoexistence kupitia MCPAdapter ya LangChain kwa OAuth, au huita Cloud API moja kwa moja kwa token ya nambari na phone number id.

1.4.0

Toleo la chini la langchain[mcp] kwa namespace ya langchain.mcp, ambayo bado ni beta.

auth="oauth"

Huendesha mtiririko kamili wa OAuth 2.1: discovery, dynamic client registration, uelekezaji wa kivinjari na ubadilishaji wa token.

131047

Hitilafu ya Meta pale zaidi ya saa 24 zimepita tangu mpokeaji alipojibu mara ya mwisho.

Wakala wa LangChain hupakiaje zana za WhatsApp?

Kupitia MCPAdapter, MCP client ya LangChain, ambayo huipa create_agent zana za MCP server kama zana za kawaida za LangChain. Inahitaji langchain[mcp] toleo 1.4.0 au jipya zaidi, na bado ni beta.

Uthibitishaji unakabidhiwa kwa FastMCP. Ukiweka auth="oauth" kwenye client, mtiririko kamili wa OAuth 2.1 huendeshwa: discovery, dynamic client registration, uelekezaji wa kivinjari na ubadilishaji wa token. Hivyo ndivyo MCP server ya EasyCoexistence inavyotarajia, kwa hiyo hakuna ufunguo wa kuunda wala kubandika. Kwa kawaida token hukaa kwenye kumbukumbu na kila mara hatua ya kivinjari hurudiwa; OAuth provider ya FastMCP yenye token store huzihifadhi kati ya mizunguko.

Zikishapakiwa, wakala huona zana pamoja na maelezo yake: list_numbers kwanza, kwa sababu kila zana nyingine inahitaji connection_id kutoka kwake, kisha send_message, send_template, list_templates, get_number_health na nyinginezo.

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)

Ujumbe wa WhatsApp unaoingia humfikiaje wakala?

Kupitia webhook, kwa sababu MCP haiwezi kufanya hivyo. Itifaki hii ni ya ombi na jibu, kwa hiyo hakuna kinachoruhusu server kumwamsha client mteja anapoandika.

Weka webhook destination ya nambari kuwa route ndani ya programu yako mwenyewe, na secret ndefu ya nasibu kwenye njia ya URL. Route hujibu GET ya uthibitishaji ya Meta kwa challenge ghafi, hupokea kila POST, hurudisha 200 mara moja na kuweka kazi kwenye foleni. Kisha worker huchukua mtumaji na maandishi kutoka kwenye payload na kumwita wakala nayo, ikiwa nambari ya mtumaji ndiyo thread id ili kumbukumbu iwe ya kila mteja peke yake.

Thibitisha secret iliyo kwenye URL badala ya header ya X-Hub-Signature-256. Meta husaini kwa app secret ya Tech Provider, ambayo haishirikishwi kamwe, kwa hiyo mteja hawezi kuthibitisha header hiyo.

Wakala atume kupitia MCP au kupitia Cloud API?

Zote mbili zinafaa, na tofauti ni nani anayeshikilia sheria. Zana za MCP hubeba sheria za WhatsApp kwenye maelezo yake, kama vile send_message kufanya kazi ndani ya dirisha la saa 24 pekee, na send_template kuwa njia ya kumfikia mtu ambaye hajaandika. Modeli inayosoma maelezo hayo huchagua sahihi mara nyingi, na hilo husaidia wakala anapoamua kwa uhuru.

Zana rahisi ya kwako inayotuma kwenye endpoint ya jumbe ya Cloud API kwa token ya nambari ni rahisi zaidi kazi ya wakala ikiwa finyu, kama vile kumjibu kila mara aliyeandika sasa hivi. Hapo ukaguzi wa dirisha uko kwenye msimbo wako, ambako sheria isiyopaswa kuvunjwa hustahili kuwa. Maandishi huru nje ya dirisha hurudi na hitilafu 131047, na mteja haoni chochote.

Makosa ya kawaida

  • Kutarajia MCP kuleta jumbe zinazoingia. Bila route ya webhook, wakala hasikii kamwe kutoka kwa mteja.
  • Kuacha token za OAuth kwenye kumbukumbu ya server. Kila kuanzisha upya kunahitaji kuingia kwa kivinjari; zihifadhi kwa token store.
  • Kutumia thread moja kwa kila mteja. Weka kumbukumbu ya wakala kulingana na nambari ya mtumaji.
Kufanya hili ukitumia EasyCoexistence

Unganisha nambari kwenye easycoexistence.com, weka webhook destination kuwa route yako, kisha pakia zana za MCP kwenye wakala kwa kuingia mara moja kwa OAuth. Kuanzia US$ 9 kwa kila nambari kwa mwezi, hadi US$ 1 kadiri nambari zinavyoongezeka, pamoja na kipindi cha majaribio bila malipo cha siku 3.

Maswali yanayoulizwa mara kwa mara

Je, hii ni ya Python pekee?

Mfano wa MCPAdapter ni wa Python. Webhook na Cloud API ni HTTP ya kawaida, kwa hiyo lugha yoyote ambayo LangChain huendeshwa ndani yake inaweza kupokea na kutuma.

Je, wakala anahitaji list_numbers kila mara?

Anahitaji connection_id, na list_numbers ndiyo sehemu pekee inayoitoa. Kwa nambari moja, wakala huiita mara moja mwanzoni.

Je, timu bado inaweza kujibu kutoka kwenye simu?

Ndiyo. Coexistence huweka programu ya WhatsApp Business ikifanya kazi, na majibu ya simu hufika kwenye route yako kama echo events ambazo wakala anaweza kuzizingatia.

Je, EasyCoexistence husoma mazungumzo?

Hapana. Meta hupeleka moja kwa moja kwenye route yako na maudhui ya jumbe hayahifadhiwi upande wetu. Zana za MCP husoma hali ya akaunti na nambari.

Endelea kusoma

Uko tayari kuanza?

Sanidi WhatsApp Coexistence kwa dakika chache, si miezi. Programu inaendelea kufanya kazi kwenye simu.

Anza kipindi cha majaribio bila malipo

Imethibitishwa kwenye

Wakala wa LangChain kwenye WhatsApp, Cloud API