Monday 11 July 2022

WhatsApp blast semi-otomatis dengan google sheets

 


Hai hai, apa kabar?

Salah satu keunggulan komputer adalah bahwa ia dapat menjalankan tugas yang sama berulang-ulang tanpa lelah dan bosan. Dan, masih dalam suasana menjelang pernikahan, kali ini saya akan berbagi artikel "di balik layar" lagi. Di artikel ini kita bahas tentang whatsapp blast, dalam hal ini khususnya tuk membagikan undangan digital bikinan vendor (yang corny banget itu hehehe).
Sebetulnya vendor sendiri telah menyediakan fasilitas whatsapp blast, hanya saja kurang sentuhan personal. Misalnya: Yth. Bapak/Ibu/Saudara/i, padahal yang menerima itu hanya 1 di antara 4 kategori.
Jadi saya bikin se-personal mungkin apakah penerima tersebut adalah seorang Bapak, Ibu, Saudara, atau Saudari. Itu hanya salah satu contoh, selain itu fitur WA blast dari mereka juga kurang pratkis... Jadi, mari kita bahas satu-per-satu.


Apa saja yang dibutuhkan:

  • Daftar kontak atau penerima undangan,
  • Kalimat pengantar yang personal,
  • Koneksi internet (pastinya), dan tidak lupa
  • Kemampuan dasar tuk menggunakan google sheets (atau excel).

Langkah pertama: mengambil daftar kontak dari google contact

Dari pc, masuklah ke akun googlemu dan masuk ke contacts.google.com, lalu klik export - export as csv. Buka file contacts tersebut ke excel atau google sheet, dan lalukan pembersihan data. Sehingga hanya akan tertinggal 2 kolom saja : nama kontak dan no. handphone-nya. Jangan lupa rapikan no. kontak yang ada di tiap barisnya. Ambil contoh: +62 822-xxxx-xxxx rapikan sehingga menjadi 62822xxxxxxx (tanpa spasi dan tanpa tanda baca apapun), kalau ada nomer kontak dengan angka depan 0, ubah menjadi kode negara. Misal: 081xxx menjadi 6281xxx. Step ini akan sangat melelahkan, apalagi bila kontakmu ada ratusan nama. Cara yang sangat amat cepat adalah dengan regular expression (regex). Namun, karena saya sendiri tidak terlalu ngerti regex jadi ya tetap ngedit satu persatu secara manual. Hehe

Langkah kedua: tulis kalimat pengantar yang personal

Karanglah kalimat pengantar surat yang personal (dan sesuai kaidah). Kalau kami sendiri pakai kalimat sebagai berikut:

Yth. [title][nama]
di Tempat

Assalamualaikum wr. wb.
Tanpa mengurangi rasa hormat, bersama undangan digital ini kami hendak mengundang [tittle panjang] untuk hadir dalam pernikahan kami:

*Mempelai Wanita & Mempelai Pria*

yang akan dilaksanakan pada:
Hari/tanggal : ...
Tempat : ...
Informasi selengkapnya dapat diliihat dalam link berikut: [link]

Mohon maaf apabila undangan hanya dibagikan melalui pesan ini. Atas perhatian [title panjang], kami sampaikan terima kasih.
Wassalamualaikum wr wb


Hormat kami,
[Nama mempelai]

Tanda bintang (*) itu tuk menyesuaikan formatting di WA agar menjadi teks tebal (bold). Tulisan yang di dalam tanda kurung siku adalah tulisan yang bisa berubah. Untuk [title] ada 4 kategori : Bapak, Ibu, Sdr., dan Sdri. Silakan kreasikan sendiri kategori [title] yang mau dipakai, apakah Mas, Mbak, Raden, Adimas, dll. [nama] adalah nama penerima, ini disesuaikan dengan excel kontak kita tadi. Lalu [title panjang] adalah yang tanpa singkatan: Bapak, Ibu, Saudara, dan Saudari. Ini juga satu alasan lain saya tidak mau memakai WA blast dari vendor. Mereka pakai kalimat "Atas perhatiannya" padahal itu tidak baku. Karena kata ganti -nya itu untuk orang ketiga, sedangkan saat kita mengirim surat, kita seakan "berbicara" dengan penerima surat. Terakhir, [link] adalah url undangan yang ter-personalisasi. contohnya dalam undangan kami adalah temanhidup.com/nuha-anas/?to=[nama penerima]. Sesuaikan dengan custom url yang dikasih oleh vendormu, biasanya nama penerima ditulis setelah keyword ?to= di alamat urlnya.

Memanfaatkan fitur WhatsApp click-to-chat

Kurang lebih di sini lah inti dari otomatisasi kita ini. Mungkin beberapa kali kita pernah menjumpai link wa.me/[no kontak], yang bila di-klik akan langsung terhubung ke whatsapp [no kontak] yang ada di situ. Misalnya url wa.me/6281234567890, kalau kita klik maka akan diarahkan tuk membuka whatsapp (atau whatsapp web kalau di pc) dan langsung tertuju ke no kontak 6281234567890 itu.
Selain itu, ternyata WhatsApp click-to-chat memiliki fitur yang lebih ciamik yaitu pre-filled message.
Pre-filled message adalah pesan yang kita siapkan terlebih dahulu, sehingga saat mengeklik link click-to-chat tidak hanya tertuju kepada kontaknya, namun juga dengan pesan yang mau kita kirim. Ini akan sangat menghemat waktu. Langsung saja kepada contoh, tuk nomor yang sama yaitu 6281234567890, kita mau mengirim pesan "Halo bro"; kita buat link wa.me/6281234567890?text=Halo%20bro. Ingat, alamat url tidak bisa pakai spasi, jadi teks yang mau kita kirimkan (dalam contoh ini Halo bro) harus di-encode ke format url. Ada banyak tools online yang bisa kita pakai tuk menterjemahkan teks biasa menjadi url encode, salah satunya adalah https://www.url-encode-decode.com/

Fungsi encodeurl di google sheets

Selain tools online untuk encode url, di google sheets sendiri ada formula (rumus) tuk melakukan fungsi itu. Hal ini akan sangat praktis kalau kita ingin meng-encode nama orang (misalnya). dengan formula =ENCODEURL(string). Contoh bila cell A1 berisi Anas Fahmi Imron, lalu di B1 kita tuliskan =ENCODEURL(A1), maka hasil di B1 adalah Anas%20Fahmi%20Imron.
Oke lanjut...

Mengenal fungsi CONCATENATE di google sheets

Dalam istilah pemrograman, concatenate berarti menggabungkan 2 strings atau lebih menjadi 1 kesatuan string. String itu bisa diartikan teks biasa, dan fungsi concatenate adalah suatu fungsi tuk menggabungkan data dalam jenis itu. Langsung saja kepada contoh. misalkan ada kata "katak" dan "tempurung", kalau kita gabungkan kedua string itu, maka akan dihasilkan satu string baru "kataktempurung". Contoh yang lebih kontekstual, kalau kita gabungkan string "wa.me/" dengan string "6281234567890" maka akan dihasilkan satu string baru "wa.me/6281234567890"
Got the idea?
Nah, di google sheets sendiri ada fungsi CONCATENATE itu dengan rumus =CONCATENATE(string 1, string 2). Contoh di cell A1 adalah tulisan "mas" dan di cell B1 tulisan "bro", kita bikin satu cell di C1 dengan formula =CONCATENATE(A1,B1); maka setelah di-enter akan muncul hasil "masbro". kenapa tidak ada spasi? ya karena string di cell A1 maupun B1 tidak mengandung spasi. Kalau kita ingin menulis "mas bro" di cell C1, bisa dengan formula =CONCATENATE(A1, " ", B1). Tanda kutip ganda (") itu berfungsi menandai bahwa apa yang diapit keduanya adalah sebuah string.
Got the idea?
Nah sekarang kita aplikasikan semuanya...

Apa saja isi dari google sheetsnya?


Gambar tersebut adalah sampel beberapa kolom dalam google sheets ala-ala semiautomatic blast yang saya buat. Karena saking banyaknya kolom, maka banyak yang disembunyikan (hide) hehe. Oke intinya adalah: Nama. no kontak, title, title panjang, encode url dari nama (misal Anas Imron, menjadi Anas%20Imron, ingat kan bahwa di url tidak ada spasi), url dari vendor (misalnya temanhidup.com/nuha-anas), sampai konfirmasi bahwa pesan sudah dikirimkan.

Perhatikan kolom M. Di situlah inti dari program kita. Terdapat clickable url menuju nomer whatsapp tujuan, lengkap dengan custom message sebagaimana di langkah kedua. Apa formula di kolom M?
singkat saja: CONCATENATE dari wa.me/, [no kontak], ?text=, dan [pesan personal] berikut formulanya: =concatenate(J3,"?text=",L3), dalam hal ini J3 adalah wa.me/[no kontak], "?text=" adalah string itu sendiri, dan L3 adalah isi pesan.
Isi pesannya sendiri apa? CONCATENATE dari berbagai text:
=concatenate('isi pesan'!$A$1, "%20",C3,"%20",F3,'isi pesan'!$A$2, "%0A", 'isi pesan'!$A$3, D3,'isi pesan'!$A$5,K3,'isi pesan'!$A$7,D3,'isi pesan'!$A$9)
Perhatikan, di situ saya memakai beberapa string tambahan seperti "%20" yang tidak lain adalah spasi, dan "%0A" yang merupakan string tuk ganti baris (enter). Nah, sementara pemanggilan elemen dari sheet 'isi pesan' dari cell A1 sampai A9, kira-kira isinya adalah sebagai berikut:


Akhir kata

Pemrograman itu menyenangkan, bukan?

Rumah, 11 Juli 2022
Menghitung hari





No comments:

Post a Comment