
Bird ha recentemente lanciato Conversazioni Programmabili. Consente alle aziende di integrare piattaforme di comunicazione come WhatsApp, Messenger e SMS nei loro sistemi - utilizzando una sola API.
Bird ha recentemente lanciato Programmable Conversations. Permette alle aziende di integrare piattaforme di comunicazione come WhatsApp, Messenger e SMS nei loro sistemi — utilizzando un unico API.
Volevo provarlo, quindi ho costruito un bot WhatsApp per la lista delle cose da fare, perché chi non ha bisogno di una lista delle cose da fare automatizzata per aiutare a organizzare la giornata? Può sembrare complicato, ma è stato in realtà facile e vorrei raccontarvi tutto al riguardo.
Ora, lavoro a MessageBird, quindi potevo semplicemente immergermi e iniziare a costruire. Se provi questo, avrai bisogno di richiedere l'accesso anticipato. Ma una volta configurato un canale WhatsApp, puoi accedere al Dashboard sul sito di MessageBird e iniziare.
La prima cosa che ho fatto è stata leggere la documentazione. Ho appreso che, per ricevere messaggi dal bot, avrei dovuto usare un webhook. Ciò significava che il mio bot avrebbe dovuto essere accessibile da Internet. Quando si costruiscono API come questa, è importante seguire le migliori pratiche di versioning delle API per la mantenibilità. Poiché stavo appena iniziando a codificarlo, ho deciso di usare ngrok. Crea un tunnel da Internet pubblico al tuo caro localhost porta 5007. Al lavoro!
ngrok http 5007 -region eu -subdomain todobot
Successivamente, avevo bisogno di fare una chiamata all'API di Programmable Conversations per creare il webhook. È un POST a https://conversations.messagebird.com/v1/webhooks
e appare qualcosa di simile a questo:
Bene. Ora l'API di Conversations farà una richiesta POST a:
https://todobot.eu.ngrok.io/create-hook
ogni volta che un nuovo messaggio viene creato sul canale WhatsApp che hai configurato precedentemente.
Questo è come appare un payload di webhook:
Vogliamo rispondere a quei messaggi. Iniziamo replicandoli, che ne dici?
Ora, per la parte interessante. Fai una richiesta POST su:
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages
per rispondere alla richiesta.
Ecco. Questo è tutto ciò che ti serve per creare un bot che si comporta come un umano di 5 anni.
Ora, facciamo un passo avanti verso la costruzione dell'intera lista di cose da fare. Per prima cosa, modifica un po' la funzione createHookHandler in modo che chiami la nuova funzione handleMessage invece di rispondere.
handle analizzerà i messaggi in modo semplicistico, farà qualche lavoro e sceglierà la risposta. Diamo un'occhiata al comando “add”:
Qui, impostiamo:list := manager.fetch(whp.Conversation.ID). Fondamentalmente, “manager” è una mappa sicura per la concorrenza che mappa gli ID delle conversazioni alle liste di cose da fare.
Una lista di cose da fare è una fetta di stringhe sicura per la concorrenza. Tutto in memoria!
Un'altra cosa importante! Puoi archiviare le conversazioni. In alcune applicazioni, come i CRM, è importante tenere traccia di determinate interazioni — per monitorare l'efficacia dei dipendenti del supporto clienti, ad esempio. L'API di Conversations ti consente di archiviare una conversazione per “chiudere” l'argomento. Se l'utente/cliente invia un altro messaggio, l'API di Conversations aprirà automaticamente un nuovo argomento.
Inoltre. Fare una richiesta PATCH a https://conversations.messagebird.com/v1/conversations/{id}
con il giusto stato nel corpo ti permette di archiviare la conversazione con quell'id. Facciamo questo con il comando “bye”:
archiveConversation farà la richiesta PATCH e manager.close(whp.Conversation.ID) rimuoverà la conversazione della lista delle cose da fare.
Ma ehi, Programmable Conversations è una soluzione omni-canale. E se volessi riutilizzare il codice del bot per una piattaforma diversa, come WeChat? Questo approccio multi-canale è parte della strategia di deviazione delle richieste verso canali a costo inferiore. Come faresti?
Crea semplicemente un nuovo webhook per raggiungere quel canale! Un webhook che invii richieste alla stessa URL https://todobot.eu.ngrok.io/create-hook
che abbiamo usato per WhatsApp!
Funzionerà perché il codice del gestore usa sempre il conversationID dal payload del webhook per rispondere ai messaggi invece di un channel ID codificato. L'API di Conversations di MessageBird determinerà automaticamente il canale per la conversazione su cui inviare il tuo messaggio.
Vuoi costruire il tuo bot? Dai un'occhiata al codice completo su Github: Wabot su Github, richiedi l'accesso anticipato a WhatsApp visitando la pagina WhatsApp e cliccando sul pulsante Contatta Vendite per compilare il modulo. Buon botting!