
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. Consente 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 elenco di cose da fare con un bot WhatsApp, perché chi non ha bisogno di un elenco di cose da fare automatizzato per organizzare la propria giornata? Può sembrare complicato, ma in realtà è stato facile e vorrei raccontarti tutto a riguardo.
Ora, lavoro da MessageBird, quindi potrei semplicemente tuffarmi e iniziare a costruire. Se ci provi, dovrai richiedere l'accesso anticipato. Ma una volta configurato un canale WhatsApp, puoi accedere alla 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 utilizzare un webhook. Ciò significava che il mio bot doveva essere accessibile da internet. Quando si costruiscono API come questa, è importante seguire le migliori pratiche di versioning delle API per la manutenzione. Poiché stavo appena iniziando a programmarlo, ho deciso di utilizzare ngrok. Crea un tunnel da Internet pubblico al tuo caro localhost porta 5007. Vai!
ngrok http 5007 -region eu -subdomain todobot
Successivamente, avevo bisogno di fare una chiamata al Programmable Conversations API per creare il webhook. È un POST a https://conversations.messagebird.com/v1/webhooks
e appare così:
Perfetto. Ora l'API di Conversations effettuerà una richiesta POST a:
https://todobot.eu.ngrok.io/create-hook
ogni volta che viene creato un nuovo messaggio sul canale WhatsApp che hai configurato in precedenza.
Questo è l'aspetto di un payload di webhook:
Vogliamo rispondere a quei messaggi. Iniziamo riecheggiandoli, che ne dici?
Ora, per la parte interessante. Esegui una richiesta POST a:
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages
per rispondere alla richiesta.
Ecco fatto. Questo è tutto ciò di cui hai bisogno per creare un bot che agisca come un umano di 5 anni.
Ora, facciamo un passo avanti verso la costruzione dell'intero elenco di cose da fare. Innanzitutto, modifica un po' la funzione createHookHandler affinché chiami la nuova funzione handleMessage invece di respond.
handle analizzerà semplicemente i messaggi, eseguirà del lavoro e sceglierà la risposta. Diamo un'occhiata al comando “add”:
Qui, configuriamo:list := manager.fetch(whp.Conversation.ID). Fondamentalmente, “manager” è una mappa sicura per la concorrenza che mappa gli ID delle conversazioni agli elenchi di cose da fare.
Un elenco di cose da fare è una slice 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 permette 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 lo stato corretto nel corpo ti consente di archiviare la conversazione con quell'id. Lo facciamo con il comando “bye”:
archiveConversation eseguirà la richiesta PATCH e manager.close(whp.Conversation.ID) rimuoverà la conversazione dell'elenco di 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 fa parte della strategia di deflessione delle richieste verso canali a costo inferiore. Come procederesti?
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 utilizzato per WhatsApp!
Questo funzionerà perché il codice del gestore utilizza sempre il conversationID dal payload del webhook per rispondere ai messaggi invece di un channelID 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: https://github.com/marcelcorso/wabot, richiedi l'accesso anticipato a WhatsApp tramite questo link e inizia a costruire direttamente. Buon botting!