socialgekon.com
  • Põhiline
  • Finantsprotsessid
  • Redigeerimine
  • Mobiilne
  • Ui Disain
Tagumine Ots

Looge rakendus WhatsApp Chatbot, mitte rakendus

Juba ammu ehitasin ettevõttele (200 000+ töötajat) veebirakenduse. Veebirakenduse tagasiside ajendas mind katset tegema. Mis juhtuks, kui peaksin looma WhatsAppi jututuba konkreetse kasutusjuhtumi lahendamiseks veebirakenduse asemel? Kas inimestele meeldiks see paremini? Kas sellest oleks rohkem kasu?

Kuid lugu on sellest palju suurem. Juturobotitel on nii palju potentsiaali! Selles WhatsAppi vestlusroboti õpetuses tahtsin jagada oma õppereisi, avastatud parimaid tavasid ja oma prognoose rakenduse ja chatboti küsimuses. Ja kaugemale: kas vestlusrobotid asendavad ühel päeval kõik traditsioonilised rakendused?


Ettevõttel, kus töötasin, oli Tel Avivi kesklinna keskel umbes 2000 töötaja kontor. Parkimiskoht on väga piiratud, nii et inimesed parkivad tahtlikult topeltparkimiseks mõeldud kohtadesse, kus üks auto blokeerib teist. Igas topeltparkimiskohas pargib esimene autojuht sisse ja teine ​​väljapoole.



Tahvlist veebirakenduse juurde

Enne rakenduse olemasolu oli suur tahvel. Kõik autojuhid märkisid oma parkimiskoha, oma nimed ja telefoninumbrid. Enne kontorist lahkumist pidi juht kontrollima, kas keegi blokeerib nende autot. Kui jah, peaksid nad helistama teisele autojuhile ja lootma, et nad pole keset koosolekut, et saaksid minna oma autot teelt välja viima.

Protsessi paremaks muutmiseks lõin veebirakenduse.

Algne veebirakenduse kontseptsioon, mis näitab topeltparkimiskohtade ridu numbritega ja mõnikord ka nimedega. Need, kellel on nimi, on sinised ja nimeta need on rohelised.

See oli lihtne. Tagumist otsa pole. Pole serverimajutust. Ei mingit andmebaasi hooldust. Isegi mitte ühtegi kasutajaliidese raamistikku. Pole ühtegi veebipaketti ega ühtegi JS-i kimpu! Lihtsalt vanilje JavaScripti.

Selle hostimiseks kasutati GitHubi tasuta staatiliste lehtede hostimist. Andmebaasiks oli FireBase, nii et meil oli reaalajas tugi ja JSON-tugi ning selle taga ei olnud vajadust.

Kasutajaliides oli lihtne. Kasutajad näeksid kõiki parkimiskohti ja klõpsaksid oma andmete täitmiseks tühjal. Kui need olid juba pargitud, võtaks see andmed brauseri kohalikust salvestusruumist. Kui nad klõpsavad registreeritud pesal, näevad nad asjakohaseid kontaktandmeid ja saavad helistada juhile.

See töötas suurepäraselt peaaegu aasta. Vähem kui üks arengupäev aitas ja säästis paljude inimeste jaoks aega - hea investeering.

Alates veebirakendusest kuni Chatbotini

Ühel päeval teatas Facebook, et kavatsevad välja anda WhatsAppi API. Järgmisel päeval ostis mu vend Amazon Echo, kus osales Alexa. Umbes sel ajal hakkasin kõikjal nägema ka Google'i abimeest.

Hakkasin mõtlema, et võib-olla liigub maailm vestlusrobotite poole, nii et peaksin katsetama. Kas kasutajad eelistaksid kasutada vestlusroboteid? Kas ma peaksin vähem toetama? Kas see tutvustaks uusi metafunktsioone lihtsalt erinevate infrastruktuuride abil?

Sain tavalise veebirakenduse kohta tagasisidet ja uskusin, et see võib sellega tegeleda, kui looin WhatsAppi vestlusroboti:

  • Rakendus ei töötanud mõnes vanas mobiiltelefonis hästi.
  • See ei töötanud maa all (seal, kus parkla on - seal pole head mobiilsignaali).
  • Autojuhid soovisid blokeerijatele telefonivalija avamise asemel sõnumeid saata.
  • Autojuhid soovisid saada tõukemärguandeid, kui keegi neid blokeeris, selle asemel, et iga kord enne lahkumist veebirakendus avada.

Oluline on meeles pidada, et see meeldib vestlusplatvormide arendajatele Telegramm või WhatsApp oli aastaid töötanud päevi ja öid, et tagada nende rakenduste stabiilsus. Kasutades nende ressursse ja arendades küsimustele vastamiseks vaid väikest mootorit, jätaks see kõvasti hooldatavuse töö vestlusplatvormi arendajatele. Pidin vaid uurima, kuidas teha WhatsAppi vestlusroboti.

Kohe pärast seda, kui hakkasin uut parkimisabilise vestlusroboti arendama, mõistsin, kui fantastiline idee see oli. Uute funktsioonide lisamine oli nii lihtne ja kiire ning mul polnud isegi vaja otsast-lõpuni testimist teha.

Pole signaali? Pole probleemi.

Piiksuma

Vähe sellest, ma ei vajanud enam keerukat CI / CD protsessi. Kui see töötab vestlusemulaatoris, toimiks see kõikjal. Ei .apk, pole Xcode'i, pole App Store'i ega Google Playd. Juturobot suutis kasutajatele sõnumeid saata, ilma et mul oleks vaja seadmeid registreerida, PubSubi või muid sarnaseid teenuseid tõukemärguannete jaoks kasutada või kasutajamärke salvestada. Autentimissüsteemi pole vaja - kasutasin tuvastamiseks kasutaja telefoninumbrit.

Pole signaali? Pole probleemi. Mul ei olnud vaja manifestifailide abil võrguühenduseta tuge lisada: WhatsApp andis selle mulle karbist välja. Sõnum kustub piisavalt kiiresti, kui kasutaja läheb kõrgemale tasemele, kus wifi oli parem.

Siis sain aru, et iga kord, kui vestlusplatvorm võtab kasutusele uue funktsiooni, on minu rakendusel sellest kohe kasu. Vau - nüüd on see tõesti hea investeering. (Aususe huvides on ka oht, et uued funktsioonid võivad piirata funktsionaalsust või luua murettekitavaid muudatusi, mis nõuavad rohkem arendustegevust, nii et mõelge enne ärikriitiliste ülesannete täitmist hoolikalt läbi.

Kirjutamine Parkimisabi , WhatsAppi Chatboti prototüüp

WhatsAppi vestlusroboti loomiseks on esimene väljakutse saada WhatsAppilt sõnumeid oma programmi. Lihtsaim lahendus, mille leidsin, on Twilio jagatud telefoninumbri kasutamine. See on lihtsalt arendus - tootmise juurde minnes soovivad arendajad kasutada spetsiaalset telefoninumbrit.

Iga Twilio tasuta numbrit jagatakse paljude Twilio kasutajate vahel. Rakenduse lõppkasutajate eristamiseks teiste Twilio kasutajate rakenduste kasutajatest peavad lõpptarbijad saatma vestlusrobotile eelnevalt määratletud sõnumi.

Pärast seda, kui kasutaja saadab jagatud numbrile erisõnumi, suunatakse kõik tema numbrilt saadetud sõnumid teie Twilio kontole ja veebihookidele. Seetõttu on tootmisel vaja spetsiaalset numbrit - pole mingit garantiid, et antud kasutaja soovib antud jagatud numbril kasutada ainult ühte rakendust.

WhatsAppi sõnumite saatmine

Twilio jaotises „Programmeeritav SMS-i juhtpaneel” on vasakul navigeerimisribal link „WhatsApp Beta”:

Twilio ekraanipilt

Sellel klõpsates näevad arendajad lehte valikuga „Liivakast”.

Twilio seadistamisetapi ekraanipilt

Kasutajate sidumiseks peavad nad saatma ühe erisõnumi numbrile, mille Twilio annab. Kui kasutajad seda teevad, saame hakata neile Twilio kaudu sõnumeid saatma ja nendelt sõnumeid töötlema.

Siin on näide sõnumi saatmise abil cURL:

curl 'https://api.twilio.com/2010-04-01/Accounts/{user_account}/Messages.json' -X POST --data-urlencode 'To=whatsapp:+{to_phone_number}' --data-urlencode 'From=whatsapp:+{from_phone_number}' --data-urlencode 'Body={escaped_message_body}' -u {user_account}:user_token

See on lihtne tekstsõnum. Kuid saate oma sõnumitele lisada ka meediume (pilte jne). Siin on näide Node.js:

function sendWhatsApp(to, body, media) { const auth = 'twilio_clientid:twilio_api' const sendURL = 'https://api.twilio.com/2010-04-01/Accounts/{account_id}/Messages.json' const res = await fetch(sendURL, { headers: { Authorization: 'Basic ' + Buffer.from(auth).toString('base64'), }, method: 'POST', body: objToFORM( JSONRemoveUndefined({ To: 'whatsapp:+972' + to.replace(/-/g, '').replace(/^0/, ''), From: 'whatsapp:+18454069614', Body: body, MediaUrl: media, }), ), }) } function objToFORM(obj) { const params = new URLSearchParams() for (var a in obj) { params.append(a, obj[a]) } return params } function JSONRemoveUndefined(obj) { return JSON.parse(JSON.stringify(obj)) }

See on kõik: nüüd saame hakata klientidele sõnumeid saatma! Kuid on oluline meeles pidada WhatsAppi sõnumite kahte kõige olulisemat tehnilist piirangut:

  1. Kui robot saab sõnumi, saate ühe tekstivastuse saata tasuta. Rohkem kui see maksis raha.
  2. Robot saab kasutajatele sõnumeid saata ainult 24-tunnise akna ajal, kui ta saab kasutajalt sõnumi. Väljaspool seda akent saab bot saata ainult kinnitatud mallide abil sõnumeid, nagu näeme hiljem.

WhatsAppi sõnumite vastuvõtmine

Sõnumite saatmine oli üsna lihtne, kuid sõnumite vastuvõtmine ja töötlemine on veelgi lihtsam.

Ekraanipilt

Twilio lehel „liivakast” saavad arendajad määratleda, kuhu Twilio peaks jagatud WhatsAppi numbril sõnumid saatma. Arendamise ajal võivad sellised teenused nagu Ngrok või Serveo pakkuda avalikke URL-e, mis suunavad kohalike arendusmasinateni.

Twilio WhatsAppi sõnumid näevad välja sellised:

{ 'NumMedia': '0', 'SmsSid': '{sms_id}', 'SmsStatus': 'received', 'Body': 'Example Message from user', 'To': 'whatsapp:+{phone_number}', 'NumSegments': '1', 'MessageSid': '{message_sid}', 'AccountSid': '{account_sid}', 'From': 'whatsapp:+{phone_number}', 'ApiVersion': '2010-04-01' }

See on kõik, mida vajame. Selle sõnumi saamiseks, selle sõelumiseks ja proovimiseks saame aru saada, mida kasutajad küsivad. Selle tulemuseks on arvatavasti mõned CRUD-toimingud andmebaasis, pärast mida saab bot kasutajale vastuses vastava teabe (või õnnestumise / ebaõnnestumise teate) edastada. Need on WhatsAppi vestlusroboti loomise põhitõed.

Sõnumimallid

Nagu mainitud, saavad vestlusrobotid vabatehnikasõnumeid saata ainult neile kasutajatele, kes nendega praegu suhtlevad, st 24-tunnise akna ajal. Kuid kui soovite saata sõnumeid uutele kasutajatele või väljaspool akent, peate kasutama eelnevalt kinnitatud sõnumimalle. Selle eesmärk on rämpsposti vältimine.

Minu kasutusalal tahtsin draivereid värskendada, kui keegi neid blokeeris, isegi kui nad pole vestlusroboti kasutajad. Klõpsake Twilios nupul „saatja” ja „konfigureeri”.

Twilio ekraanipilt

Selle malli valisin:

{{1}} is blocking your exit from the parking lot. I will notify you when they leave.

Mitu päeva hiljem kiitis Facebook minu malli heaks ja ma sain hakata neid sõnumeid saatma kõigile, kellel oli WhatsApp, mitte ainult draiveritele, kes olid vestlusrobotile sõnumi saatnud.

Sõnumi saatmine mallist on täpselt nagu tavalise sõnumi saatmine sama API abil. WhatsApp näeb automaatselt, et see sobib malliga, ja kiidab sõnumi heaks.

Mitte ainult Parkimisabi

See strateegia on minu jaoks põnev, kui kujutan ette veebipoodi: võib-olla saavad inimesed ühel päeval vestlusrobotite abil kõike osta. See oleks sama lihtne kui WhatsAppi sõnumite saatmine ja piltide lisamine. Kujutage vaid ette, kas kasutajad saaksid igale WhatsAppi sõnumile lisada päris raha. Asjade ostmine oleks väga otsene. Kasutajatel on tarnija vestlusrobotiga rääkides hõlpsasti võimalik midagi osta.

Kujutage ette vestlusroboti, mis asendab Waze'i või Google Mapsi. Saadate talle oma sihtkoha tekstisõnumi. Chatboti platvorm jälgib teie asukohta ja chatbot saadab teile salvestatud sõnumi, mis mängib automaatselt navigeerimise reaalajas räägitud suunaga.

See pole fantaasia. WhatsApp toetab praegu asukoha jagamist reaalajas - neil on vaja ainult võimalust saabunud sõnumeid automaatselt esitada ja voilà.

Mõelge rakenduste Gett või Uber asemel Waze'i vestlusrobotile või takso vestlusrobotile. Saadate sõnumi, kus öeldakse, kus te olete, siis saabub takso ja maksate WhatsAppi kasutades. Nii lihtne.

Mõni lugeja võib mõelda: 'Kas kasutajad ei eelista mitte ainult kirjutamist, vaid graafilisi liideseid?' Usun, et chatboti platvormid annavad chatboti omanikule võimaluse konversiooni ajal saata nuppe, pilte ja puhtaid HTML-kaste. Facebook juba toetab Messengeri veebivaade . Kasutajad ei pea midagi installima, vaid kasutavad lihtsalt eelistatud kiirsuhtlusrakendust.

Need eelised on, miks arendajad soovivad luua WhatsAppi vestlusroboteid oluliste ülesannete täitmiseks, näiteks andmiseks kohesed autoriteetsed vastused koroonaviiruse pandeemia kohta, et aidata piirata väärinfo levikut.

TL; DR: 7 järeldust veebirakenduste vestlusrobotidesse üleviimise kohta

Kokkuvõttes:

  • Mitu korda võib vestlusroboti arendamine lühendada arendusaega, kuna pole vaja graafilist kasutajaliidest kujundada ja planeerida. (See tähendab, et õppimiseks tasub enne alustamist vaadata chatbot UX-i kujunduse peenemaid punkte teiste vigu .)
  • Palju lihtsam on vestlusrobotitele uusi funktsioone lisada. Arendajad ei pea praeguseid elemente ümber kujundama ega muutma. Juturobot peab lihtsalt uut tüüpi sõnumeid mõistma.
  • Vestlusrobotid on erivajadustega inimestele vaikimisi ligipääsetavad.
  • Platvormidevahelist lahendust pole vaja kohandada. Chatboti platvorm teeb seda juba praegu.
  • Kasutajad usaldavad vestlusroboteid teabe jagamise eest palju rohkem. Teil pole vaja luba küsida ega hoiatusi näidata - nt kasutaja saab lihtsalt oma galeriist pildi valida ja selle teie vestlusbotile saata - luba piltide galeriisse pääsemiseks on juba antud vestlusplatvormile.
  • Vestlusplatvormid muudavad tõukemärguannete haldamise lihtsaks. Tõukemärguanded teevad vahet rakenduste vahel, mille kasutajad unustavad ja rakendustega, mida kasutajad regulaarselt kasutavad.
  • Vestlusplatvormid haldavad teie jaoks võrguühenduseta ja võrgutingimuste vahetamist.

Kuidas luua WhatsApp Chatbot: lahkumisnõuanne ja parimad tavad

Vestlusroboti kirjutamise eelised on üsna selged. Arendajatel, kes on valmis selle ehitama, soovitatakse alustada väikesest vestlusrobotist, mis mõistab ühte sõnumit. Ja saab sellega hästi hakkama.

Juturobotid peaksid jääma lühisõnumite juurde. Inimesed ei loe pikki sõnumeid. Kui teil on midagi olulist saata, mida ei saa lühidalt väljendada, on parem jagada sõnumid mitmele väikesele.

Isiksusega vestlusrobotid võetakse paremini vastu. Isegi mõned minimaalsed 'inimlikud kõnelemised' lähevad kaugele võrreldes 'süsteemse sõnumi formaalsuse' lähenemisviisiga: 'Ma värskendan teie jaoks parkimiskaarti', selle asemel, et 'andmebaasi on uuendatud'. Juturobot peaks jätma kasutajale tunde, et see on masin, mis on mõeldud kasutaja teenindamiseks, mitte must kast, mis teostab tehnilisi toiminguid, millest nad ei pruugi aru saada.

See WhatsAppi vestlusroboti õpetus ei võtnud arvesse loomulikus keeles sõnumid kasutajad saadavad vestlusrobotidesse. Kuid pürgivad teenusepakkujad chatboti arendusteenused on teretulnud tutvuma lähtekood WhatsAppi parkimisabilise botist (eriti hackparkDialogFlow.ts, mis võtab kasutajalt päringu vastu kui toiminguid), et tunnetada, kuidas see aspekt töötab.

Põhjalikumat artiklit selle kohta, kuidas tuvastada erinevat tüüpi kasutajate teateid - järgides ka sõltuvuse süstimise lähenemist programmeerimisele, vt ApeeScape'i TypeScripti vestlusroboti õpetus .

Parimat õnne omaenda WhatsAppi vestlusroboti arendamisel!

Põhitõdede mõistmine

Milleks WhatsAppi kasutatakse?

Alguses oli WhatsApp kiirsuhtlusrakendus, mis võimaldas selle kasutajatel teistele WhatsAppi kasutajatele tekstisõnumeid, heli-, video- või mis tahes muid faile saata ja vastu võtta. Hiljuti avaldas Facebook WhatsAppi API, et saaksime vestlusrobotite kaudu sõnumeid automaatselt saata ja vastu võtta.

Kas WhatsAppi kasutamine on ohutu?

WhatsApp kasutab end-to-end krüptimislahendust, nii et keegi, sh WhatsApp, ei saa selle sõnumeid lugeda ega kontrollida. Sõnumid krüpteeritakse ja dekrüpteeritakse kasutaja seadmes.

Mis on vestlusroboti kasutamise eelised?

Mitu korda võib vestlusroboti arendamine lühendada arendusaega oluliselt, kuna pole vaja kujundada ja kavandada graafilist kasutajaliidest ning pole vaja kohandada platvormidevahelist lahendust.

Miks on vestlusrobotid tulevikus?

Juturobotid on tulevik, kuna need võimaldavad kiirendatud arendustsükleid, reageerides muutustele kiiremini olemasolevate, hästi hooldatud platvormide abil. Vestlusrobotid kasutavad automaatselt vestlusplatvormide ühilduvust tohutu hulga seadmetega. UX-i mõttes annavad vestlusrobotid kasutajatele ühtse ja hõlpsasti navigeeritava liidese.

Miks me vajame vestlusroboteid?

Juturobotid võimaldavad kasutajatel hõlpsasti teha soovitud toiminguid ilma uusi rakendusi installimata või uusi kasutajaliideseid õppimata. Juturobotite abil saavad kasutajad hõlpsasti saada värskendusi kasutatavatest teenustest.

Kas WhatsAppi jaoks on olemas API?

Jah. Hiljuti avaldas Facebook WhatsAppile uue API, mis võimaldas ettevõtetel programmiliselt WhatsAppi sõnumeid saata ja vastu võtta. WhatsAppi API kasutamise alustamiseks peavad arendajad oma ettevõtte kinnitama ja WhatsAppil olema heakskiit või nad peavad kasutama kolmanda osapoole pakkujat.

Katkiste tarneahelate tervendamine: tootmine väljaspool Hiinat

Kasumlikkus Ja Tõhusus

Katkiste tarneahelate tervendamine: tootmine väljaspool Hiinat
Kümme levinumat alglaadimisviga, mida arendajad teevad

Kümme levinumat alglaadimisviga, mida arendajad teevad

Veebi Kasutajaliides

Lemmik Postitused
Eeltreenitud mudelitest maksimumi võtmine
Eeltreenitud mudelitest maksimumi võtmine
Tähed joondatud: IMDb reitingusüsteemi täiustamine
Tähed joondatud: IMDb reitingusüsteemi täiustamine
Uued reaalsused: VR, AR, MR ja disaini tulevik
Uued reaalsused: VR, AR, MR ja disaini tulevik
7 fototaustarakendust iPhone'ile, et muuta teie võtte tausta
7 fototaustarakendust iPhone'ile, et muuta teie võtte tausta
IPhone 12 võrdlus: iPhone 12 vs 12 Pro vs Pro Max vs Mini
IPhone 12 võrdlus: iPhone 12 vs 12 Pro vs Pro Max vs Mini
 
Kuidas teha Instagrami fotosid nagu professionaal, kasutades ainult oma iPhone'i
Kuidas teha Instagrami fotosid nagu professionaal, kasutades ainult oma iPhone'i
4 kontrasti tüüpi fotograafias ja kuidas neid õigesti kasutada
4 kontrasti tüüpi fotograafias ja kuidas neid õigesti kasutada
10 Instagrami kaasamishäkki, mida mõjutajad kasutavad ja armastavad
10 Instagrami kaasamishäkki, mida mõjutajad kasutavad ja armastavad
Kuidas teha iPhone'is loomingulist topeltsäritusega pildistamist
Kuidas teha iPhone'is loomingulist topeltsäritusega pildistamist
Kaugtöö ja teenuste globaliseerumine
Kaugtöö ja teenuste globaliseerumine
Kategooriad
Kasumlikkus Ja TõhususMuuUx DisainTöö TulevikiOS-i näpunäitedTrendidVeaotsingAndmeteadus Ja AndmebaasidJaotatud VõistkonnadProjekti Juht

© 2023 | Kõik Õigused Kaitstud

socialgekon.com