
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. Umożliwia firmom integrację platform komunikacyjnych takich jak WhatsApp, Messenger i SMS z ich systemami — za pomocą pojedynczego API.
Chciałem to wypróbować, więc zbudowałem listę rzeczy do zrobienia w formie bota WhatsApp, ponieważ kto nie potrzebuje zautomatyzowanej listy rzeczy do zrobienia, aby zorganizować swój dzień? 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 od razu przystąpić do budowy. Jeśli chcesz to wypróbować, musisz złożyć wniosek o wcześniejszy dostęp. Ale gdy masz już skonfigurowany kanał WhatsApp, możesz zalogować się do Dashboardu na stronie MessageBird i rozpocząć pracę.
Pierwszą rzeczą, którą zrobiłem, było przeczytanie dokumentacji. Dowiedziałem się, że aby otrzymywać wiadomości od bota, musiałbym użyć webhooka. Oznaczało to, że mój bot musiałby być dostępny z internetu. Przy budowie takich API ważne jest przestrzeganie najlepszych praktyk wersjonowania API dla utrzymania. Ponieważ dopiero zaczynałem go kodować, postanowiłem użyć ngrok. Tworzy tunel z publicznego internetu do lokalnego portu 5007. Do dzieła!
ngrok http 5007 -region eu -subdomain todobot
Następnie musiałem wykonać wywołanie do API Programowalnych Rozmów, aby utworzyć webhook. To POST do https://conversations.messagebird.com/v1/webhooks
i wygląda to mniej więcej tak:
Świetnie. Teraz API Rozmów będzie wykonywać żą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 powtarzania, co Ty na to?
Teraz, dla ciekawej części. Wykonaj żądanie POST do:
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages
aby odpowiedzieć na żądanie.
Voila. To wszystko, czego potrzebujesz, aby stworzyć bota, który zachowuje się jak 5-letni człowiek.
Teraz zróbmy krok w kierunku budowy całej listy rzeczy do zrobienia. Najpierw zmodyfikuj funkcję createHookHandler nieco, aby wywoływała nową funkcję handleMessage zamiast respondować.
handle będzie prosto przetwarzać wiadomości, wykonywać pewne zadania i wybierać odpowiedź. Spójrzmy na komendę „dodaj”:
Tutaj ustawiamy: list := manager.fetch(whp.Conversation.ID). Zasadniczo „manager” to bezpieczna mapka współbieżności, która mapuje ID konwersacji na listy rzeczy do zrobienia.
Lista rzeczy do zrobienia to bezpieczny względem współbieżności łańcuch znaków. Wszystko w pamięci!
Kolejna ważna rzecz! Możesz archiwizować rozmowy. W niektórych aplikacjach, takich jak CRM, ważne jest śledzenie niektórych interakcji — aby śledzić skuteczność pracowników wsparcia klienta, na przykład. API Rozmów pozwala Ci na archiwizację rozmowy, aby „zamknąć” temat. Jeśli użytkownik/klient wyśle kolejną wiadomość, API Rozmów automatycznie otworzy nowy temat.
Również wysłanie żądania PATCH do https://conversations.messagebird.com/v1/conversations/{id}
z odpowiednim statusem w treści pozwala Ci zarchiwizować rozmowę z tym ID. Robimy to za pomocą komendy „pa”:
archiveConversation wykona żądanie PATCH, a manager.close(whp.Conversation.ID) usunie rozmowę z listą zadań do wykonania.
Ale hej, Programowalne Rozmowy to rozwiązanie dla wielu kanałów. Co jeśli chciałbyś ponownie użyć kodu bota na inną platformę, taką jak WeChat? To podejście multi-channel jest częścią strategii kierowania zapytań do kanałów o niższych kosztach. Jak byś to zrobił?
Po prostu utwórz nowy webhook, aby celować w ten kanał! Webhook, który wysyła żądania do tego samego url https://todobot.eu.ngrok.io/create-hook
którego użyliśmy dla WhatsApp!
To będzie działać, ponieważ kod obsługi zawsze używa conversationID z ładunku webhooka, aby odpowiedzieć na wiadomości zamiast zakodowanego na stałe channelID. Conversations API MessageBird automatycznie określi kanał dla rozmowy, aby wysłać wiadomość.
Czy chcesz stworzyć własnego bota? Zajrzyj do pełnego kodu na Githubie: Wabot na Githubie, złożyć wniosek o wcześniejszy dostęp do WhatsApp odwiedzając stronę WhatsApp i klikając przycisk Skontaktuj się z działem sprzedaży, aby wypełnić formularz. Szczęśliwego bottingu!