Medusa-Plugin-Whatsapp
Bring two poplar platforms together
Getting started
Installation
1yarn add medusa-plugin-whatsapp
Usage
Api
Configure the sandbox webhook to point to http://yourserver/whatsapp/received
License
Configuration
set the following environment variables. Please use production codes, Test codes don't work with the whatsapp sandbox
123456TWILIO_AUTH_SID= <your twilio auth code> // it begins with ACTWILIO_AUTH_TOKEN= <your twilio auth token>#### Only for testingTEST_SEND_NUMBER= <sandbox number>TEST_RECIEVER_NUMBER= <your sandbox member number>
in medusa-config.js
add to your plugins list
123456789101112///...other plugins{resolve:"medusa-plugin-whatsapp":{options:{account_sid: process.env.TWILIO_AUTH_SID,auth_token: process.env.TWILIO_AUTH_TOKEN,whatsappHandlerInterface:"nameOftheHandlerService"}}}
the whatsapp handler service need to implement the interface - WhatsappHandlerInterface
eg :
12345678910111213141516171819202122232425262728293031323334353637383940// please note you'll have to configure the message receive hooks in twilio to point to <Your server url>/whatsapp/receivedexport default class myService implements WhatsappHandlerInterface {whatsappHandler (container: MedusaContainer, body: T, activeSession: WhatsappSession):Promise<MessagingResponse>; {// your code to process the incoming message}// please note you'll have to configure the global conversation hooks in twilio to point to <Your server url>/whatsapp/preparewhatsappConversationPrehookHandler: (container: MedusaContainer,body: T,activeSession?: WhatsappSession) => Promise<| {body?: string;author?: string;attributes?: Record<string, string>;}| { friendly_name?: string }>{// your code to handle the incoming conversation message}similarly the conversation posthookhandler can be configured with the post hook in twilio pointing to <Your server url>/whatsapp/dowhatsappConversationPosthookHandler (container: MedusaContainer, body: T, activeSession?,WhatsappSession) => Promise<{body?: string;author?: string;attributes?: Record<string, string>;} | {friendly_name?: string;}>{// your code}}
Sponsorship
If you find the Medusa-Plugin-Whatsapp valuable and would like to support its development, consider sponsoring us on GitHub. Your sponsorship will help us continue to improve and maintain this plugin, bringing two popular platforms together.
By sponsoring, you'll gain access to exclusive benefits and features, and you'll be making a difference in the developer community. Help us shape the future of this plugin by sponsoring today and will help facilitating more open source contributions from me.