Developer

API Dokumentasi

Dokumentasi lengkap REST API Wahero untuk integrasi dengan aplikasi Anda

1. Pengenalan

Wahero API adalah RESTful API yang memungkinkan Anda untuk mengirim pesan WhatsApp, mengelola kontak, dan mengintegrasikan WhatsApp dengan sistem Anda secara programmatic.

Apa yang bisa dilakukan dengan API?

  • Mengirim pesan WhatsApp ke satu atau banyak nomor
  • Menerima notifikasi real-time melalui webhooks
  • Mengelola kontak dan chat history
  • Training asisten otomatis dengan data custom
  • Mendapatkan statistik dan analytics

2. Authentication

Semua request ke Wahero API harus disertai dengan API key di header Authorization.

Cara Mendapatkan API Key

  1. Login ke dashboard Wahero
  2. Navigasi ke menu Settings → API Keys
  3. Click tombol "Generate New API Key"
  4. Copy dan simpan API key Anda dengan aman
Example Header
Authorization: Bearer wahero_live_xxxxxxxxxxxxx

Keamanan API Key

  • • Jangan pernah share API key di public repository atau client-side code
  • • Simpan API key di environment variables
  • • Regenerate API key jika terjadi kebocoran
  • • Gunakan different API key untuk production dan development

3. Base URL

Gunakan base URL berikut untuk semua API requests:

Production

https://api.wahero.id/v1

Sandbox (Testing)

https://sandbox-api.wahero.id/v1

Tips: Gunakan sandbox environment untuk testing dan development. Sandbox tidak akan mengirim pesan WhatsApp yang sebenarnya.

4. API Endpoints

Berikut adalah daftar lengkap endpoint yang tersedia di Wahero API:

POST/send-message

Mengirim pesan WhatsApp ke nomor tujuan

Lihat detail

Parameters

phone (required) - Nomor WhatsApp tujuan (format: 628xxx)
message (required) - Isi pesan yang akan dikirim
media_url (optional) - URL media (gambar/video/dokumen)

Example Request

curl -X POST https://api.wahero.id/v1/send-message \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "628123456789",
    "message": "Hello from Wahero API!"
  }'

Example Response

{
  "success": true,
  "message_id": "msg_abc123xyz",
  "status": "sent",
  "timestamp": "2025-12-04T10:30:00Z"
}
POST/send-broadcast

Mengirim broadcast ke multiple nomor sekaligus

Lihat detail
{
  "phones": ["628123456789", "628987654321"],
  "message": "Promo spesial hari ini!",
  "delay": 3
}
GET/messages

Mendapatkan daftar pesan (inbox/outbox)

5. Webhooks

Webhooks memungkinkan Anda menerima notifikasi real-time ketika ada event tertentu di WhatsApp Anda.

Event Types

  • message.received- Ketika menerima pesan masuk
  • message.sent- Ketika pesan berhasil dikirim
  • message.delivered- Ketika pesan terkirim ke device
  • message.read- Ketika pesan dibaca customer

Webhook Security

Semua webhook request disertai dengan signature header untuk verifikasi. Pastikan Anda memverifikasi signature sebelum memproses data.

6. Rate Limiting

Untuk menjaga performa server, kami menerapkan rate limiting pada API:

60

requests/minute

Starter

300

requests/minute

Pro

Unlimited

Enterprise

7. Error Handling

Semua error response menggunakan format standar berikut:

{
  "success": false,
  "error": {
    "code": "INVALID_PHONE_NUMBER",
    "message": "Nomor telepon tidak valid",
    "details": "Format yang benar: 628xxxxxxxxx"
  }
}

Common Error Codes

400 Bad Request

Request tidak valid atau parameter kurang

401 Unauthorized

API key tidak valid atau tidak ditemukan

429 Too Many Requests

Rate limit tercapai, tunggu beberapa saat

8. Best Practices

Handle Errors Gracefully

Selalu handle error response dengan baik dan implementasikan retry mechanism untuk request yang gagal.

Use Webhooks for Real-time Updates

Gunakan webhooks untuk menerima update real-time daripada polling API secara berkala.

Respect Rate Limits

Monitor rate limit headers dan implementasikan backoff strategy ketika mendekati limit.

Log All API Calls

Simpan log semua API calls untuk debugging dan monitoring purposes.

Siap Mulai Integrasi?

Dapatkan API key dan mulai kirim pesan WhatsApp dalam hitungan menit