Tutorial9 min read

Integrasi Webhook: Hubungkan Terachat dengan Sistem Lain [Panduan 2025]

Dipublikasikan 20 Juli 2025

Panduan lengkap cara integrasi webhook Terachat dengan CRM, POS, e-commerce, dan sistem bisnis lainnya untuk automasi workflows.

Apa Itu Webhook?

Webhook adalah mekanisme untuk mengirim data secara real-time dari satu sistem ke sistem lain saat terjadi event tertentu.

Bedanya Webhook dan API?

  • API - Anda request data (pull)
  • Webhook - Sistem push data ke Anda saat ada event (push)

Use Cases Webhook dengan Terachat

1. Order Management


// Event: new_order
// Kirim ke: Your Order System
{
  "event": "order.created",
  "data": {
    "order_id": "ORD-12345",
    "customer": {
      "name": "Budi Santoso",
      "phone": "6281234567890"
    },
    "items": [...],
    "total": 250000
  }
}

2. CRM Integration


// Event: new_lead
// Kirim ke: Your CRM
{
  "event": "conversation.completed",
  "data": {
    "lead_id": "LEAD-67890",
    "source": "whatsapp",
    "interest_level": "high",
    "contact": {...}
  }
}

3. Inventory Update


// Event: stock_low
// Kirim ke: Inventory System
{
  "event": "product.stock_low",
  "data": {
    "product_id": "PROD-001",
    "current_stock": 5,
    "threshold": 10
  }
}

Cara Setup Webhook di Terachat

Langkah 1: Buat Endpoint

Siapkan server/URL untuk menerima webhook:

// Contoh endpoint (Node.js)
app.post('/webhook/terachat', (req, res) => {
  const event = req.body;

  // Process event
  switch(event.type) {
    case 'order.created':
      processOrder(event.data);
      break;
    case 'conversation.completed':
      updateLead(event.data);
      break;
  }

  // Respond dengan 200 OK
  res.sendStatus(200);
});

Langkah 2: Register Webhook

  1. Buka dashboard Terachat
  2. Pergi ke menu Settings > Webhooks
  3. Klik Add Webhook
  4. Masukkan URL endpoint
  5. Pilih events yang ingin di-subscribe
  6. Save dan test

Langkah 3: Verify Endpoint

Terachat akan kirim verification request:

GET /webhook/terachat?hub.mode=subscribe&hub.verify_token=YOUR_TOKEN&hub.challenge=challenge_string

Respon dengan 200 dan challenge string.

Security Best Practices

1. Verify Signature

const crypto = require('crypto');

function verifySignature(payload, signature, secret) {
  const expectedSig = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');

  return 'sha256=' + expectedSig === signature;
}

2. Always Respond 200

Segera respond 200 OK, baru process async. Ini prevent timeout.

3. Handle Duplicates

Webhook bisa delivered lebih dari sekali. Gunakan idempotency key.

4. Log Everything

Log semua incoming webhooks untuk debugging.

Common Integrations

E-commerce

  • WooCommerce
  • Shopify
  • Tokopedia
  • Shopee

CRM

  • HubSpot
  • Salesforce
  • Pipedrive

Accounting

  • Jurnal
  • Mekari
  • Xero

Troubleshooting

Webhook tidak deliver?

  • Cek URL apakah accessible
  • Cek firewall/security
  • Pastikan respond 200 dengan cepat

Endpoint timeout?

  • Process async, respond 200 dulu
  • Use queue untuk heavy processing

FAQ

Q: Apakah ada rate limit untuk webhook?
A: Varies by event. Basic events unlimited, high-frequency events mungkin limited.

Q: Apakah webhook retry jika gagal?
A: Ya, Terachat retry beberapa kali dengan exponential backoff.

Kesimpulan

Webhook adalah powerful tool untuk integrasi real-time. Dengan setup yang tepat, Anda bisa automasi banyak workflow bisnis.

Artikel Terkait

webhookintegrationapiautomationtutorial
Integrasi Webhook: Hubungkan Terachat dengan Sistem Lain [Panduan 2025] | Terachat — Terachat