
Bird niedawno uruchomił Programowalne Rozmowy. Umożliwia to firmom łączenie platform komunikacyjnych, takich jak WhatsApp, Messenger i SMS, w ich systemach - przy użyciu jednego interfejsu API.
Bird niedawno uruchomił Programowalne Rozmowy. Pozwala firmom wtopić platformy komunikacyjne, takie jak WhatsApp, Messenger i SMS, w ich systemy — używając jednego API.
Chciałem to wypróbować, więc zbudowałem chatbot na WhatsApp do listy zadań, ponieważ kto nie potrzebuje zautomatyzowanej listy zadań, aby pomóc w organizacji dnia? Może to brzmieć skomplikowanie, ale było to naprawdę łatwe, i chciałbym Wam o tym opowiedzieć.
Teraz pracuję w MessageBird, więc mogłem po prostu zanurzyć się i zacząć budować. Jeśli spróbujesz tego, będziesz musiał złożyć wniosek o wczesny dostęp. Ale kiedy już skonfigurujesz kanał WhatsApp, możesz zalogować się na Dashboard na stronie MessageBird i zaczynać.
Pierwszą rzeczą, którą zrobiłem, było przeczytanie dokumentacji. Dowiedziałem się, że aby otrzymywać wiadomości z bota, muszę użyć webhooka. Oznaczało to, że mój bot musi być dostępny z internetu. Przy budowie takich API ważne jest przestrzeganie najlepszych praktyk wersjonowania API dla utrzymania. Ponieważ dopiero zaczynałem to kodować, zdecydowałem się użyć ngrok. Tworzy tunel z publicznego internetu do twojego lokalnego portu 5007. Działaj!
ngrok http 5007 -region eu -subdomain todobot
Następnie musiałem wykonać połączenie do Programmable Conversations API, aby stworzyć webhook. To jest POST do https://conversations.messagebird.com/v1/webhooks
i wygląda to mniej więcej tak:
Świetnie. Teraz Conversations API wykona żądanie POST do:
https://todobot.eu.ngrok.io/create-hook
za każdym razem, gdy zostanie utworzona nowa wiadomość na kanale WhatsApp, który wcześniej skonfigurowałeś.
Tak wygląda ładunek webhooka:
Chcemy odpowiedzieć na te wiadomości. Zacznijmy od ich echowania, co Ty na to?
Teraz czas na interesującą część. Wykonaj żądanie POST do:
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages
aby odpowiedzieć na żądanie.
Tutaj. To wszystko, czego potrzebujesz, aby stworzyć bota, który działa jak pięcioletnie dziecko.
Teraz zróbmy krok w kierunku budowy całej listy zadań. Najpierw zmodyfikuj funkcję createHookHandler tak, aby wywoływała nową funkcję handleMessage zamiast respondowania.
handle w prosty sposób przeanalizuje wiadomości, wykona pewne zadania i wybierze odpowiedź. Spójrzmy na komendę „dodaj”:
Tu, ustawiamy listę:list := manager.fetch(whp.Conversation.ID). W zasadzie, „manager” to bezpieczna dla współbieżności mapa, która mapuje identyfikatory konwersacji na listy zadań.
Lista zadań to bezpieczny dla współbieżności wycinek ciągu znaków. Wszystko w pamięci!
Kolejna ważna rzecz! Możesz archiwizować konwersacje. W niektórych aplikacjach, takich jak CRM, ważne jest, aby śledzić niektóre interakcje — na przykład, aby śledzić skuteczność pracowników wsparcia klienta. Conversations API pozwala archiwizować konwersację, aby „zamknąć” temat. Jeśli użytkownik/klient wyśle inną wiadomość, Conversations API automatycznie otworzy nowy temat.
Również. Wykonanie żądania PATCH do https://conversations.messagebird.com/v1/conversations/{id}
z odpowiednim statusem w treści pozwala zarchiwizować konwersację z tym id. Robimy to za pomocą komendy „bye”:
archiveConversation wykona żądanie PATCH i manager.close(whp.Conversation.ID) usunie konwersację listy zadań.
Ale hej, Programmable Conversations to rozwiązanie omni-channel. A co jeśli chciałeś ponownie wykorzystać kod bota dla innej platformy, jak WeChat? To podejście multi-channel jest częścią strategii przekierowywania zapytań do tańszych kanałów. Jak byś to zrobił?
Po prostu stwórz nowy webhook, który będzie kierować zapytania na ten sam url https://todobot.eu.ngrok.io/create-hook
, którego użyliśmy dla WhatsApp!
To będzie działać, ponieważ kod handlera zawsze używa conversationID z ładunku webhooka, aby odpowiedzieć na wiadomości, zamiast używać zakodowanego kanałowego ID. Conversations API MessageBird automatycznie określi kanał dla konwersacji, aby wysłać twoją wiadomość.
Chcesz zbudować własnego bota? Spójrz na pełny kod na Githubie: https://github.com/marcelcorso/wabot, złóż wniosek o wczesny dostęp do WhatsApp za pośrednictwem tego linku i zacznij budować bezpośrednio. Szczęśliwego botowania!