
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 singolo API.
Volevo provarlo, quindi ho costruito un bot WhatsApp per la lista delle cose da fare, perché chi non ha bisogno di una lista di cose da fare automatizzata per organizzare la propria giornata? Può sembrare complicato, ma è stato effettivamente semplice, e mi piacerebbe raccontarvi tutto al riguardo.
Ora, lavoro da MessageBird, quindi potrei semplicemente iniziare subito a costruire. Se ci provate, avrete bisogno di richiedere un accesso anticipato. Ma una volta che vi siete impostati con un canale WhatsApp, potete accedere al Dashboard sul sito web di MessageBird e iniziare.
La prima cosa che ho fatto è stata leggere i documenti. Ho appreso che, per ricevere messaggi dal bot, avrei dovuto usare un webhook. Questo significava che il mio bot doveva essere accessibile da internet. Quando si costruiscono API come questa, è importante seguire le migliori pratiche di versionamento API per la manutenibilità. Siccome stavo appena iniziando a programmarlo, ho deciso di usare ngrok. Crea un tunnel da internet pubblico al caro localhost alla porta 5007. All'attacco!
ngrok http 5007 -region eu -subdomain todobot
Successivamente, dovevo effettuare una chiamata all'API delle Programmable Conversations per creare il webhook. È un POST su https://conversations.messagebird.com/v1/webhooks
e appare qualcosa di simile a questo:
Fantastico. Ora l'API delle Conversations farà una richiesta POST a:
https://todobot.eu.ngrok.io/create-hook
ogni volta che viene creato un nuovo messaggio sul canale WhatsApp che avete già impostato.
Questo è come appare un payload di webhook:
Vogliamo rispondere a quei messaggi. Iniziamo a rispecchiarli, che ne dite?
Ora, la parte interessante. Fare una richiesta POST a:
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages
per rispondere alla richiesta.
Ecco. Questo è tutto ciò di cui avete bisogno per creare un bot che si comporta come un bambino di 5 anni.
Ora, spingiamoci verso la costruzione dell'intera lista delle cose da fare. Prima, modificate leggermente la funzione createHookHandler in modo che chiami la nuova funzione handleMessage invece di rispondere.
handle analizzerà semplicemente i messaggi, farà qualche lavoro e sceglierà la risposta. Diamo un'occhiata al comando "aggiungi":
Qui, abbiamo impostato:list := manager.fetch(whp.Conversation.ID). Fondamentalmente, “manager” è una mappa sicura per la concorrenza che mappa gli ID delle conversazioni alle liste delle cose da fare.
Una lista delle cose da fare è una slice di stringa sicura per la concorrenza. Tutto in memoria!
Un'altra cosa importante! Potete archiviare le conversazioni. In alcune applicazioni, come i CRM, è importante tenere traccia di certe interazioni — per monitorare l'efficacia dei dipendenti nel supporto clienti, per esempio. L'API delle Conversations vi permette di archiviare una conversazione per “chiudere” l'argomento. Se l'utente/cliente invia un altro messaggio, l'API delle Conversations aprirà automaticamente un nuovo argomento.
Inoltre. Fare una richiesta PATCH a https://conversations.messagebird.com/v1/conversations/{id}
con lo stato corretto nel corpo vi permette di archiviare la conversazione con quell'ID. Facciamo questo con il comando “ciao”:
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 voleste riutilizzare il codice del bot per una piattaforma diversa, come WeChat? Questo approccio multi-canale fa parte della strategia di deviazione delle richieste verso canali a costo inferiore. Come lo affrontereste?
Basta creare un nuovo webhook per indirizzare quel canale! Un webhook che invia richieste allo stesso url https://todobot.eu.ngrok.io/create-hook
che abbiamo usato per WhatsApp!
Funzionerà perché il codice del gestore utilizza sempre l'ID della conversazione dal payload del webhook per rispondere ai messaggi invece di un channelID codificato. L'API delle Conversations di MessageBird determinerà automaticamente il canale per la conversazione a cui inviare il vostro messaggio.
Vuoi costruire il tuo bot? Dai un'occhiata al codice completo su Github: https://github.com/marcelcorso/wabot, richiedi l'accesso anticipato a WhatsApp visitando la pagina di WhatsApp e cliccando il pulsante Contatta Vendite per compilare il modulo. Buon botting!