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 X-Api-Key.

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
X-Api-Key: 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/api/v1

4. API Endpoints

Berikut adalah daftar lengkap endpoint yang tersedia di Wahero API:

POST/api/v1/messages/send

Mengirim pesan WhatsApp ke nomor tujuan

Lihat detail

Parameters

instanceId (required) - ID instance WhatsApp yang digunakan
phone (required) - Nomor WhatsApp tujuan (format: 628xxx)
message (required) - Isi pesan yang akan dikirim

Example Request

curl -X POST https://api.wahero.id/api/v1/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "instanceId": "uuid-instance-anda",
    "phone": "628123456789",
    "message": "Hello from Wahero API!"
  }'

Example Response

{
  "success": true,
  "message_id": "msg_abc123xyz",
  "status": "sent",
  "timestamp": "2025-12-04T10:30:00Z"
}
POST/api/v1/messages/bulk

Mengirim pesan ke multiple nomor sekaligus (maks. 100 nomor per request)

Lihat detail

Parameters

instanceId (required) - ID instance WhatsApp
recipients (required) - Array nomor tujuan (format: 628xxx), maks. 100
message (required) - Isi pesan
delay (optional) - Jeda antar pesan dalam detik (default: 3)
curl -X POST https://api.wahero.id/api/v1/messages/bulk \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "instanceId": "uuid-instance-anda",
    "recipients": ["628123456789", "628987654321"],
    "message": "Promo spesial hari ini!",
    "delay": 3
  }'
GET/api/v1/instances

Mendapatkan daftar semua instance WhatsApp milik akun Anda beserta statusnya

GET/api/v1/contacts

Mendapatkan daftar kontak WhatsApp dari sebuah instance

POST/api/v1/contacts/check

Validasi apakah sebuah nomor terdaftar di WhatsApp sebelum mengirim pesan

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:

100

requests / 15 menit

Free

1.000

requests / 15 menit

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