Sinkronisasi Google Sheets 2-Arah via Webhook & Penanganan 302 Redirect

Fitur Sinkronisasi Google Sheets mengirimkan setiap respon formulir RSVP langsung ke baris Google Spreadsheet secara real-time menggunakan Google Apps Script Web App, menangani pengalihan HTTP 302 Redirect secara otomatis di sisi server tanpa memerlukan biaya langganan Zapier.


Memahami Kebutuhan & Masalah Lapangan

Google Sheets adalah alat kolaborasi paling populer bagi keluarga pengantin dan vendor wedding organizer untuk memeriksa data kehadiran, membagi nomor meja prasmanan, dan menghitung total pax katering.

Namun, mengintegrasikan website WordPress dengan Google Sheets sering menemui kendala teknis:

  1. Layanan pihak ketiga seperti Zapier atau Make membatasi kuota tugas gratis (hanya 100 tasks/bulan), sehingga vendor harus membayar biaya langganan bulanan mahal ketika musim pesta pernikahan tiba.
  2. Ketika membuat webhook kustom ke Google Apps Script, peramban dan server sering gagal mengirim data karena Google memberlakukan HTTP 302 Found Redirect ke subdomain internal script.googleusercontent.com. Library webhook murahan biasanya menganggap redirect ini sebagai error dan menghentikan pengiriman.
  3. Kegagalan sinkronisasi menyebabkan data tamu tercecer dan tidak tercatat di spreadsheet keluarga pengantin.

WDP RSVPKit memberikan solusi mutakhir dengan menyertakan Live Apps Script Generator bawaan di dashboard admin serta penanganan native HTTP 302 Redirect yang menjamin data selalu sampai ke spreadsheet dengan mulus.


Prasyarat Sebelum Memulai

Sebelum mengonfigurasi integrasi Google Sheets:

  • Plugin WDP RSVPKit v1.4.0 aktif berlisensi resmi.
  • Memiliki akun Google aktif (Gmail / Google Workspace).
  • Membuat satu Google Spreadsheet kosong untuk menampung data tamu pernikahan.

Pokok Bahasan & Konfigurasi Teknis

Sinkronisasi Google Sheets dan Penanganan 302 Redirect WDP RSVPKit
Sinkronisasi Google Sheets dan Penanganan 302 Redirect WDP RSVPKit

1. Live Google Apps Script Generator di WP-Admin

RSVPKit mempermudah pembuatan script tanpa perlu mengetik kode JavaScript manual:

  1. Buka WP-Admin > menu WDP RSVPKit > Settings > tab Google Sheets.
  2. Sistem secara otomatis men-generate script Google Apps Script yang siap disalin.
  3. Buka spreadsheet target Anda di Google Docs.
  4. Klik menu Extensions > Apps Script.
  5. Hapus kode bawaan, lalu tempel (paste) kode yang telah disalin dari dasbor RSVPKit.

2. Panduan Deploy Web App: Akses "Anyone"

Langkah krusial pada editor Google Apps Script:

  1. Klik tombol biru Deploy di sudut kanan atas > pilih New deployment.
  2. Klik ikon gerigi di sebelah Select type > pilih Web app.
  3. Isi konfigurasi berikut:
  • Description: WDP RSVPKit Live Webhook
  • Execute as: Me ([email protected])
  • Who has access: Anyone (Wajib dipilih Anyone, BUKAN 'Only myself' atau 'Anyone with Google account').
  1. Klik Deploy, lalu berikan izin akses (Authorize access) saat diminta.
  2. Salin URL Web App yang berakhiran /exec.
  3. Kembali ke dasbor admin RSVPKit, tempelkan URL tersebut pada kolom Google Webhook URL, lalu klik Save Settings.

3. Penanganan Teknis HTTP 302 Redirect di Server WordPress

Saat WordPress mengirimkan data ke URL Apps Script, Google merespon dengan header:

HTTP
HTTP/1.1 302 Found
Location: https://script.googleusercontent.com/macros/echo?user_content_key=...

WDP RSVPKit menggunakan konfigurasi cURL internal wp_remote_post yang telah dioptimasi:

PHP
$response = wp_remote_post($webhook_url, [
    'method'      => 'POST',
    'timeout'     => 15,
    'redirection' => 5, // Mengikuti 302 Redirect secara otomatis hingga 5 lompatan
    'httpversion' => '1.1',
    'blocking'    => true,
    'headers'     => ['Content-Type' => 'application/json'],
    'body'        => wp_json_encode($payload),
]);

Dengan pengaturan parameter 'redirection' => 5, server WordPress tidak membatalkan transmisi, melainkan meneruskan data ke lokasi baru hingga Google mengembalikan status 200 OK (SUCCESS).

4. Tabel Parameter Pemetaan Kolom Spreadsheet

Posisi KolomHeader Kolom di SheetsTipe Data yang Ditransmisikan
Kolom ATimestampTanggal & jam tamu mengirimkan konfirmasi
Kolom BNama TamuNama lengkap tamu ({guest_name})
Kolom CStatus KehadiranAkan Hadir / Tidak Hadir
Kolom DSesi AcaraSesi yang dipilih (Akad, Resepsi Siang, dll.)
Kolom EJumlah PaxAngka jumlah rombongan keluarga
Kolom FStiker ReaksiKode stiker (SAH, DOA, LOVE, dll.)
Kolom GDoa & UcapanPesan ucapan doa restu tamu

Studi Kasus Nyata: Pernikahan Andy & Zhea

Keluarga besar Andy & Zhea membutuhkan rekapitulasi data tamu yang dapat diakses bersama oleh 4 pihak: keluarga mempelai pria, keluarga mempelai wanita, manajer katering hotel, dan tim Wedding Organizer:

  • Tantangan: Membagikan akses admin WordPress ke semua pihak sangat berisiko membocorkan data sensitif website.
  • Penerapan: Vendor menghubungkan RSVPKit ke satu master Google Spreadsheet. Tautan spreadsheet dengan hak akses Viewer dibagikan kepada keluarga dan tim katering.
  • Hasil: Setiap kali tamu mengonfirmasi hadir di website, baris baru muncul di spreadsheet dalam waktu 2 detik. Tim katering dapat memantau penambahan porsi secara langsung dari smartphone mereka tanpa pernah menyentuh admin WordPress.

Tips & Praktik Terbaik

Versi Deployment Baru: Jika Anda mengubah kode di Apps Script, selalu lakukan deploy dengan memilih New version, bukan menimpa versi lama, agar Google memuat pembaruan script secara instan.
Format Waktu Spreadsheet: Atur format zona waktu (Timezone) di menu Spreadsheet Settings ke GMT+07:00 (Jakarta) agar kolom timestamp selaras dengan jam lokal Indonesia.

Pertanyaan yang Sering Diajukan (FAQ)

Mengapa pengaturan deployment Google Apps Script wajib disetel 'Who has access: Anyone'? +
Pengaturan 'Anyone' memungkinkan server WordPress Anda mengirimkan data formulir via HTTP POST secara langsung tanpa perlu melakukan proses login akun Google yang rumit.
Apa itu fenomena HTTP 302 Redirect pada Google Apps Script dan bagaimana RSVPKit menanganinya? +
Google secara otomatis mengalihkan (redirect 302) request Web App ke server script.googleusercontent.com. WDP RSVPKit secara native mengikuti pengalihan ini hingga status 200 OK tercapai tanpa terjadi kegagalan transmisi data.
Apakah saya membutuhkan layanan otomasi berbayar seperti Zapier atau Make? +
Sama sekali tidak. RSVPKit terhubung secara langsung (direct HTTP webhook) ke Google Apps Script tanpa biaya langganan bulanan pihak ketiga.
Berapa lama waktu yang dibutuhkan hingga data di formulir muncul di Google Sheets? +
Data masuk secara real-time dalam rentang waktu 1 hingga 3 detik setelah tamu menekan tombol kirim di website.
Apakah sinkronisasi Google Sheets tetap berjalan jika website menggunakan paket shared hosting murah? +
Ya. WDP RSVPKit memanfaatkan fungsi standar WordPress wp_remote_post yang didukung oleh hampir 100% penyedia hosting PHP modern.