
Flows adalah mesin otomatisasi drag-and-drop yang kuat untuk membuat alur komunikasi. Awalnya kami menganggapnya sebagai solusi tanpa kode, tetapi kami menemukan banyak pengguna dapat mendapatkan perilaku yang sangat kuat dengan menulis beberapa kode untuk kasus penggunaan spesifik. Potongan kode ini dapat berada di dalam Flow Builder, atau dapat berupa fungsi cloud pihak ketiga seperti fungsi AWS Lambda atau Google Cloud Functions.
Business in a box.
Temukan solusi kami.
Bicaralah kepada tim penjualan kami
Ini adalah demonstrasi sederhana menggunakan GoogleCloud Functions dan Flows untuk melakukan pengenalan gambar pada gambar yang dikirim di Telegram.
Flows dan Beyond
Sebagai pengembang Flows, saya sering memikirkan siapa pengguna kami, mengapa mereka menggunakan Flows, dan apa yang mereka butuhkan untuk mencapai tujuan mereka; dan kemudian, fitur mana yang perlu kami implementasikan untuk melayani pengguna tersebut dengan sebaik-baiknya.
Flows adalah mesin otomatisasi seret-dan-lepas yang kuat untuk membuat alur komunikasi. Awalnya kami memikirkannya sebagai solusi tanpa kode, tetapi kami menemukan banyak pengguna bisa mendapatkan perilaku yang sangat kuat dengan menulis beberapa kode untuk kasus penggunaan spesifik. Potongan-potongan kode ini bisa berada di dalam Flows, atau bisa berupa fungsi cloud pihak ketiga seperti fungsi AWS Lambda atau Google Cloud Functions.
Sebuah contoh menarik: Pengenalan Gambar
Sebagai contoh singkat dan lucu, saya akan menunjukkan cara mengimplementasikan aplikasi yang mengenali hot dog. Kami akan membuat alur di Flows, yang akan menerima gambar dari pengguna dan memutuskan, apakah mereka mengirimkan hot dog atau tidak.
Bagi banyak pelanggan kami, jenis pengenalan gambar ini bisa sangat kuat. Bayangkan Anda menjalankan layanan pengiriman dan ingin memverifikasi pengiriman yang berhasil secara otomatis. Serupa dengan yang akan saya tunjukkan, Anda bisa menggunakan data lokasi, foto paket, dan bahkan tanda tangan penerima untuk membuat alur verifikasi di Flows.
Sebuah rencana untuk sukses
Menyiapkan Google Cloud Function
Pertama, kita perlu menyiapkan fungsi cloud. Untuk memulai dengan cepat, buat fungsi cloud menggunakan tutorial ini: https://cloud.google.com/functions/docs/quickstart-console. Sebagai 'Trigger' pilih HTTP trigger, lingkungan eksekusi: Node.js 10, dan di kolom kode sumber masukkan potongan kode. Ini adalah kode sederhana yang memeriksa apakah permintaan berisi kode JSON dan menjawab ya atau tidak.

Selanjutnya, Anda perlu menyebarkan fungsi ini. Untuk mengujinya di dalam Google Cloud Platform, ikuti langkah-langkah dari tutorial.
Untuk menguji dari browser Anda, pergi ke URL berikut dengan memasukkan alamat spesifik untuk fungsi Anda:
https://alamat-fungsi-anda.cloudfunctions.net/HotDogOrNot/?url=hello
seharusnya mengembalikan {“isHotDog”: true} dan alamat https://alamat-fungsi-anda.cloudfunctions.net/HotDogOrNot
seharusnya mengembalikan {“isHotDog”: false}.
Kerja bagus! Anda telah menyiapkan fungsi cloud google. Sekarang kita perlu membuat fungsi cloud kita lebih pintar.
Menyiapkan Google Vision API
Untuk membuatnya lebih pintar, mari tambahkan pengenalan gambar. Untuk tujuan ini kita akan menggunakan Google Vision API. Untuk memulai, ikuti langkah 1-4 dari tutorial ini: https://cloud.google.com/vision/docs/quickstart-client-libraries. Dalam tutorial, Anda akan mengaktifkan Vision API dan membuat akun layanan untuk menggunakannya.
Sekarang kembali ke cloud function yang Anda buat. Aktifkan “Environment variables, networking, timeouts and more” dan dalam file “Service account”, pilih akun layanan VisionAPI yang baru saja Anda buat. Sekarang kita dapat mengakses Vision API di dalam fungsi kita.

Sekarang mari kita ubah kodenya. Pada tab “Package.json”, masukkan kode ini. Ini akan menambahkan perpustakaan Google Vision API sebagai dependensi untuk fungsi Anda.
pada tab "Index.js" perbarui kode yang ada dengan cuplikan kode berikut.

Apa perbedaan dibandingkan dengan versi sebelumnya? Kami menambahkan permintaan ke VisionAPI, yang mengembalikan ‘labels’ yang ditemukan pada gambar. Kemudian kita menyaring label ini berdasarkan deskripsi: jika mengandung “hot dog” dan jika memiliki kepercayaan lebih dari 60% pada label tersebut. Jika setidaknya ada 1 label tersisa setelah penyaringan, itu berarti kita menemukan hotdog pada gambar.
Untuk memahami cara kerja Google VisionAPI dan seperti apa tanggapannya periksa dokumentasi mereka, https://cloud.google.com/vision/docs
Setelah itu, deploy versi baru dari fungsi kita. Untuk mengujinya dari browser Anda, temukan gambar hotdog mana pun dan simpan URL-nya. Sekarang pergi ke URL dari fungsi Anda (dengan memasukkan alamat yang benar untuk fungsi Anda) https://your-function-address.cloudfunctions.net/HotDogOrNot?url=url_to_image
dan ganti “url_to_image” dengan URL ke gambar yang ditemukan. Jika ada hotdog dalam gambar, halaman tersebut akan mengembalikan {“isHotDog”: true}.
Sekarang mari hubungkan fungsi ini ke Flow Builder.
Membuat sebuah flow di Flows
Masuk ke Bird Dashboard atau daftar untuk akun jika Anda belum memilikinya.
Jika Anda baru di Flows dan Anda belum memiliki saluran yang diatur, Anda harus pergi ke halaman pengaturan Saluran, dan memilih untuk mengatur saluran Telegram. Saya memilih Telegram untuk demo ini karena mudah dan cepat untuk diatur.

Sekarang Anda memiliki saluran yang dapat digunakan di Flows. Pergi ke halaman Flows, buat alur kustom baru, dan pilih pemicu saluran “Telegram”.

Anda akan diarahkan ke halaman alur, di mana Anda harus memilih saluran Telegram Anda sebagai pemicu, dalam kasus kami itu adalah “Hotdog”. Tambahkan 2 langkah: “Fetch variables” dan “Reply to channel message”.
Di dalam langkah “Fetch variables” kami akan memanggil fungsi cloud kami dan mengambil respons ke dalam variabel “isHotDog” yang akan berisi “true” atau “false” sebagai respons dari fungsi GoogleClound. Di bidang URL silakan masukkan URL ke fungsi Anda https://your-function-address.cloudfunctions.net/HotDogOrNot
dan isi semua bidang lainnya seperti pada gambar "Fetch variable step content".
Dan di dalam langkah “Reply to channel message” kami akan merespons pelanggan dengan pesan yang berisi respons ya atau tidak. Untuk itu, masukkan di bidang "Reply with message" teks berikut "Hotdog pada gambar? {{isHotDog}}".


Jika Anda mengalami kesulitan membangun alur, Anda dapat menggunakan potongan berikut:

Untuk mengujinya, kirimkan gambar ke bot Telegram Anda.
Sejauh ini, terlihat keren! Kami membuat bot obrolan kecil, yang memeriksa gambar yang dikirim pelanggan. Untuk membuatnya lebih menarik, mari tambahkan beberapa langkah lagi seperti ditunjukkan di bawah ini:

Jika Anda mengalami kesulitan membangun alur, Anda dapat menggunakan potongan berikut:
Hasil


Meskipun ini adalah contoh yang menyenangkan, kami percaya bahwa jenis fungsionalitas ini dapat sangat berguna bagi pengguna kami.
Jika Anda ingin fitur seperti ini terintegrasi di Flows, tulis ke tim dukungan kami untuk memberi tahu kami.