Files
webhook-test/README.md

1.7 KiB

wa-test-nextjs

Mini app Next.js untuk test koneksi WhatsApp webhook ke nomor testing.

Halaman

  • /login
  • /settings
  • /test
  • /webhook-logs

API

  • GET /api/webhooks/whatsapp
  • POST /api/webhooks/whatsapp
  • POST /api/test/send

Flow test

  • kirim daftar
  • app balas minta nama
  • kirim nama
  • app balas konfirmasi

Jalankan

cp .env.example .env
npm install
npm run dev

Deploy test server

Target deploy:

  • domain wa.iptek.co
  • app port 127.0.0.1:3007
  • reverse proxy nginx

Contoh langkah di server:

  1. Buat user deploy khusus:
sudo adduser deploywa
sudo usermod -aG sudo deploywa
sudo mkdir -p /var/www
sudo chown -R deploywa:deploywa /var/www
su - deploywa
  1. Clone project:
cd /var/www
git clone https://git.iptek.co/wirabasalamah/webhook-test.git wa-test-nextjs
cd wa-test-nextjs
  1. Siapkan environment:
cp .env.example .env
  1. Install dependency dan build:
npm ci
npm run build
  1. Jalankan dengan PM2:
npx pm2 start ecosystem.config.cjs
npx pm2 save
  1. Pasang config nginx:
sudo cp deploy/nginx/wa.iptek.co.conf /etc/nginx/sites-available/wa.iptek.co.conf
sudo ln -s /etc/nginx/sites-available/wa.iptek.co.conf /etc/nginx/sites-enabled/wa.iptek.co.conf
sudo nginx -t
sudo systemctl reload nginx
  1. Jika pakai HTTPS:
sudo certbot --nginx -d wa.iptek.co

Set .env minimal:

NEXT_PUBLIC_APP_URL=https://wa.iptek.co
WHATSAPP_VERIFY_TOKEN=...
WHATSAPP_ACCESS_TOKEN=...
WHATSAPP_PHONE_NUMBER_ID=...
WA_TEST_NUMBER=...
WA_TEST_LOGIN_USERNAME=...
WA_TEST_LOGIN_PASSWORD=...
SESSION_SECRET=...

Contoh config nginx ada di deploy/nginx/wa.iptek.co.conf.