Dokumentasi API

Integrasikan WhatsApp ke aplikasi Anda dengan EraWA API.

Base URL

https://erawa.erainovasi.id/api/v1

Autentikasi

Register

POST /erawa/auth/register

curl -X POST https://erawa.erainovasi.id/api/v1/erawa/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@email.com",
    "password": "password123",
    "name": "Nama User"
  }'

Login

POST /erawa/auth/login

curl -X POST https://erawa.erainovasi.id/api/v1/erawa/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@email.com",
    "password": "password123"
  }'

Response akan berisi token JWT. Gunakan token ini di header Authorization.

API Key

Setiap user bisa membuat API Key dari dashboard. Gunakan API Key untuk autentikasi server-to-server.

Membuat API Key

curl -X POST https://erawa.erainovasi.id/api/v1/erawa/api-keys \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Production API"}'

Kirim Pesan

Via JWT Token (dari dashboard)

POST /erawa/messages/send

curl -X POST https://erawa.erainovasi.id/api/v1/erawa/messages/send \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to_phone": "628123456789",
    "message": "Halo, ini pesan dari EraWA!"
  }'

Via API Key (untuk integrasi)

POST /erawa/api/send

curl -X POST https://erawa.erainovasi.id/api/v1/erawa/api/send \
  -H "x-api-key: erawa_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to_phone": "628123456789",
    "message": "Halo dari EraWA API!"
  }'

Bisa juga via query parameter: ?api_key=erawa_...

Lihat Harga

GET /erawa/pricing (public, no auth)

curl https://erawa.erainovasi.id/api/v1/erawa/pricing

Subscribe

POST /erawa/subscribe

curl -X POST https://erawa.erainovasi.id/api/v1/erawa/subscribe \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "plan_id": 2,
    "payment_method": "transfer"
  }'

Manajemen Kontak

Tambah Kontak

POST /erawa/contacts

curl -X POST https://erawa.erainovasi.id/api/v1/erawa/contacts \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "628123456789",
    "name": "John Doe",
    "notes": "Pelanggan potensial"
  }'

Lihat Kontak

GET /erawa/contacts

curl https://erawa.erainovasi.id/api/v1/erawa/contacts \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Endpoint OpenWA

Untuk endpoint WhatsApp native (session, group, media), gunakan API OpenWA langsung:

# Base:  http://127.0.0.1:2785/api
# Auth via API Key (dari dashboard)
Authorization: Bearer YOUR_OPENWA_API_KEY

# Contoh: Get sessions
curl http://127.0.0.1:2785/api/sessions

# Contoh: Send message via OpenWA native
curl -X POST http://127.0.0.1:2785/api/messages/send \
  -H "Authorization: Bearer YOUR_OPENWA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"session": "default", "to": "628123456789", "text": "Hello"}'

Dokumentasi lengkap: github.com/rmyndharis/OpenWA

Kode Error

HTTP StatusArti
200Sukses
401Token tidak valid / tidak ada
402Batas pesan gratis habis
403Registrasi ditutup / akses ditolak
404Data tidak ditemukan
409Email sudah terdaftar
500Internal server error