Langsung ke konten utama

Membuat Sertifikat Otomatis Dengan Apps Script

Sourabh Choraria - Script.gs mengulas artikel menarik tentang otomatisasi pembuatan sertifikat dengan Apps Script yang berbahan Google Slide, sumber data dari Google Sheets, dan dikirim dengan Gmail.

ANATOMI SCRIPT

Script ini membagi dua kelompok proses yang diimplementasikan menjadi 2 fungsi:

  • createCertificates() berfungsi memproduksi sertifikat
  • sendCertificates() berfungsi mengirim sertifikat
Tantangan dari script ini adalah sifat dari javascript yang Asynchronous, masing-masing fungsi akan diproses secara independen tidak berurutSiLiKiDi

Konsekuensi asynchronous terkadang muncul kasus pengiriman mendahului produksi, sehingga jangan aneh bila sertifikat yang dikirimkan masih seperti template aslinya belum berisi data yang dimaksud.

Untuk mengakali Asynchronous Javascript bisa dengan menerapkan Async-Await atau Promise-chaining, hanya saja Google Apps Script belum mendukung pengendalian iniSiLiKiDi

Setiap fungsi dalam script ini ditenagai 4 aplikasi berbeda: Slide dan Sheets berada dalam proses produksi, sedangkan Gmail bertugas sebagai kurir pengiriman.

  • Google Slide sebagai template sertifikat
  • Google Sheets sebagai sumber data pengisian sertifikat
  • GMail sebagai kurir pengiriman sertifikat
  • Apps Script sebagai komposer ketiga aplikasi tersebut
Tantangan lainnya adalah berlakunya pembatasan kuota proses harian oleh Google Service, sehingga anda perlu untuk membagi etape bila total prosesnya melebihi batasan.SiLiKiDi

PROSES SCRIPT

Agar Google Slide tidak terbebani dengan membuat 1 slide 1 data melainkan 1 slide for all, maka Google Slide harus diperlakukan sebagai template bukan sebagai file berkas, sehingga perlu menggunakan sumber data eksternal yang dalam script ini melibatkan Google Sheets.

Google Slide sebagai template desain tidak perlu membuat slide baru untuk setiap data di dalamnya tetapi cukup dengan membangkitkan berkas sertifikat tersendiri untuk setiap datanya yang kemudian hasilnya disimpan terpisah pada temporary folder.

Sertifikat di temporary folder tersebut selanjutnya dikonversi menjadi PDF untuk dilampirkan dalam email dan dikirimkan ke peserta dengan perantaraan GMail.

Semua proses tersebut diatur oleh Apps Script sebagai komposer proses keseluruhanSiLiKiDi

STEP-BY-STEP

Membuat Template Sertifikat

Buat sebuah template Slide misalkan yang sudah tersedia di Template gallery seperti Employee certificate.

Salin ID dari template Slide tersebut yang berada di bagian URL berikut ini. ID tersebut akan digunakan script untuk mengakses template tersebutSiLiKiDi

Membuat Sheets Data

Buat Sheets baru untuk mengisi data sertifikat dengan format seperti berikut ini atau silahkan unduh contohnya di sini

Salin ID dari Sheets data tersebut yang berada di bagian URL berikut iniSiLiKiDi

Disarankan untuk menyetel Locale ke Indonesia dan Time zone ke (GMT+07:00) Jakarta yang diatur pada menu File - Spreadsheet settings:

Membuat Folder Penampung

Buat Subfolder baru untuk menampung hasil sertifikat individual seperti berikut ini:

Salin ID dari Subfolder tersebut yang berada di bagian URL berikut iniSiLiKiDi

FINAL SCRIPT

Salin script dari sumber ini dan tempelkan pada file Code.gs di Apps Script anda. Jangan lupa untuk menyimpannya, men-Deploy, dan merilis ulang Webhook-nya. Selengkapnya bisa anda simak di artikel Telegram Bot Dengan Google Apps Script - The First Encounter

Cobalah panggil fungsi script tersebut dengan tombol Run untuk melihat hasilnya. Bila anda ingin mengintegrasikan script tersebut pada menu Sheets gunakan versi script ini.

Dapatkan skrip semua materi di repository

Dukung donasi agar tutorial ini tetap operasional:
Trakteer Saya SiLiKiDi

Komentar

Postingan populer dari blog ini

Kirim Pesan Ke Telegram Dengan Apps Script

Dengan koneksi webhook anda bisa mulai ujicoba mengirim pesan pertama ke Telegram dari Google Apps Script.

Inline Bot Telegram Dengan DuckDuckGo Instant Answer

Inline Bot adalah bot dengan kemampuan responsif mengolah permintaan user secara on-the-fly dan dapat diakses secara instan tanpa perlu private chat melainkan cukup dengan mention @usernamebot .

Membuat Menu Command Bot Telegram

Dibandingkan Google Dialogflow , Bot Telegram belum dilengkapi fitur AI Natural-language , walaupun begitu ia membuka lebar untuk kita kembangkan dari dasar dan tentunya gratis tidak seperti Dialogflow.