IngiaAnza kipindi cha majaribio bila malipo
Meta Tech Provider

Jenga wakala wa WhatsApp kwa Vercel AI SDK

Jumbe zinazoingia hufika kwenye route handler iliyowekwa kama webhook ya nambari yako. Handler huita generateText kisha hutuma jibu kupitia Cloud API. Kwa zana zinazofanya kazi kwenye nambari, createMCPClient kutoka @ai-sdk/mcp huunganisha kwenye MCP server ya EasyCoexistence kupitia HTTP, na huingia kwa OAuth kupitia authProvider.

@ai-sdk/mcp

Kifurushi kinachotoa createMCPClient, MCP client ya AI SDK.

authProvider

OAuth inatumika kwenye HTTP transport ya MCP ya AI SDK kwa kutoa authProvider.

20 msg/s

Kasi ya utumaji isiyobadilika kwa nambari inayotumika na programu ya WhatsApp Business na Cloud API kwa pamoja.

Route handler hupokeaje jumbe za WhatsApp?

Kwa njia mbili kwenye route moja, iliyowekwa kama webhook ya nambari yako, ikiwa na siri ndefu ya nasibu kwenye path.

GET hujibu uthibitishaji wa Meta. Soma hub.mode, hub.verify_token na hub.challenge kutoka kwenye query, linganisha token, kisha rudisha challenge kama maandishi ya kawaida. Kuirudisha kupitia JSON helper ni kosa linalojirudia sana: mwili hufika ukiwa na alama za nukuu na Meta haianzi kamwe kutuma.

POST hupokea matukio. Rudisha 200 haraka na ufanye ombi la modeli baadaye, kwa sababu Meta hurudia majibu yanayochelewa, na cold start inayoendesha modeli moja kwa moja inaweza kujibu ujumbe uleule mara mbili. Kwenye majukwaa yanayomaliza function jibu likishatumwa, peleka kazi kwenye foleni au kwenye utaratibu wa jukwaa kwa kazi baada ya jibu.

Siri ya path ndiyo uthibitisho wa utambulisho. Meta husaini kila utumaji kwa app secret ya Tech Provider, kwa hiyo header ya X-Hub-Signature-256 haiwezi kukaguliwa upande wako.

AI SDK hupakiaje zana za WhatsApp?

Kwa createMCPClient kutoka @ai-sdk/mcp na HTTP transport, ambayo nyaraka za AI SDK zinapendekeza kwa production. Transport hupokea URL ya server na authProvider, na OAuth kupitia authProvider ndiyo njia ya kuidhinisha MCP server ya EasyCoexistence: inachapisha metadata ya OAuth, inaunga mkono dynamic client registration na PKCE, na hutoa token zake yenyewe baada ya kuingia. Hakuna API key ya kuweka kwenye header.

Zana za client huingia moja kwa moja kwenye generateText au streamText. Kisha modeli huona list_numbers, send_message, send_template, get_number_health na nyinginezo, zikiwa na maelezo yanayotaja dirisha la saa 24. Funga client kazi ikiisha, kwenye callback ya onEnd kwa stream au kwenye finally block vinginevyo, kama nyaraka za AI SDK zinavyoelekeza.

Zitumie pale modeli inapaswa kuamua. Kwa kujibu ujumbe uliofika sasa hivi, kuita Cloud API moja kwa moja kutoka kwenye handler ni fupi zaidi.

MCP client over HTTP with OAuth, as the AI SDK documents it
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();
}

Nini hubadilika kwa sababu nambari iko kwenye Coexistence?

Mambo mawili ambayo msimbo wako unapaswa kuyajua. Kwanza, mtu anaweza kuwa tayari yumo kwenye mazungumzo. Programu ya WhatsApp Business inaendelea kufanya kazi kwenye nambari, na kila jibu linaloandikwa kwenye simu hufika kwenye route kama echo event. Handler inayosimamisha modeli kwa mteja baada ya echo huizuia kujibu juu ya mtu.

Pili, utumaji umewekewa kikomo kisichobadilika cha jumbe 20 kwa sekunde kwa nambari. Wakala wa mazungumzo hafikii kikomo hicho, lakini loop ya utumaji kwa wengi iliyoandikwa kwa Promise.all juu ya orodha ya wateja itakifikia, kwa hiyo igawe kwa makundi.

Kilichobaki ni Cloud API ya kawaida. Ndani ya saa 24 tangu ujumbe wa mwisho wa mteja, maandishi huru yanaruhusiwa. Baada ya hapo, template iliyoidhinishwa pekee ndiyo hupita, na maandishi huru hurudisha hitilafu 131047 bila mteja kuona chochote.

Makosa ya kawaida

  • Kurudisha challenge kwa JSON response helper. Alama za nukuu zinazoizunguka hufanya ukaguzi wa Meta ushindwe.
  • Kuendesha generateText kabla ya kujibu Meta. Kwenye cold start, jaribio la kurudia hutoa jibu la pili.
  • Kusahau kufunga MCP client. Kila ombi huacha muunganisho wazi hadi jukwaa liuue.
Kufanya hili ukitumia EasyCoexistence

Unganisha nambari yako kwenye easycoexistence.com, weka webhook iwe route handler yako, kisha ongeza MCP client kwa kuingia mara moja kwa OAuth. Kuanzia US$ 9 kwa kila nambari kwa mwezi, hadi US$ 1 kadri unavyoongeza nambari, na kipindi cha majaribio bila malipo cha siku 3.

Maswali yanayoulizwa mara kwa mara

Je, hii inafanya kazi kwenye Vercel pekee?

Hapana. AI SDK ni maktaba ya TypeScript, na route inaweza kuendeshwa popote panapotoa HTTPS na kujibu GET na POST.

Je, nahitaji MCP client kabisa?

Si kwa kujibu. fetch kwenda kwenye endpoint ya jumbe ya Cloud API kwa token ya nambari hufanya kazi hiyo. MCP ina faida pale modeli inapochagua cha kufanya.

Modeli inaweza kutoka kwa mtoa huduma yupi?

Yeyote anayeungwa mkono na AI SDK. Upande wa WhatsApp hautegemei modeli, kwa hiyo kubadilisha mtoa huduma hakuguzi route wala wito wa Cloud API.

Je, EasyCoexistence huona jumbe?

Hapana. Meta hutuma moja kwa moja kwenye route yako na maudhui ya jumbe hayahifadhiwi kamwe upande wetu.

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

Vercel AI SDK kwenye WhatsApp, Cloud API