NgirimWA Docs
API

Kirim Pesan Teks & Media

POST /messages/send

Endpoint

POST /messages/send

Base URL

https://dash.ngirimwa.com/api/v1

Headers

x-api-key: API_KEY_ANDA
Content-Type: application/json
Idempotency-Key: <uuid-unik-per-request>

Idempotency-Key opsional tapi sangat disarankan untuk production. Lihat Autentikasi → Idempotency-Key.

Kirim Pesan Teks

Kirim pesan teks sederhana ke nomor WhatsApp.

Request

{
  "to": "628123456789",
  "message": "Halo, terima kasih telah berbelanja di toko kami!"
}

Respon Sukses

{
  "success": true,
  "message": "Message sent successfully"
}

Parameter

ParameterTipeWajibDeskripsi
tostringNomor telepon penerima
messagestringIsi pesan

Format Nomor Penerima (field to)

Berlaku untuk semua endpoint kirim (/send, /send-template, /quick-reply, /interactive, /buttons, /list, /carousel):

FormatContohHasil normalisasi
Internasional Indonesia (rekomendasi)628123456789tetap 628123456789
Lokal Indonesia08123456789628123456789
Tanpa awalan (10–12 digit)8123456789628123456789
Internasional non-Indonesia60123456789 (Malaysia), 14155551234 (US)tetap (asal include country code)
ID grup WhatsApp120363123456789012@g.ustetap (kirim ke grup)

Panjang nomor valid: 8–15 digit (sesuai standar ITU-T E.164). Karakter selain digit (+, -, spasi) otomatis dibersihkan.

Kirim Pesan dengan Efek Mengetik

Untuk membuat pesan terasa lebih natural (cocok untuk chatbot), gunakan opsi humanlike:

{
  "to": "628123456789",
  "message": "Terima kasih atas pertanyaannya! Berikut jawabannya...",
  "humanlike": {
    "enabled": true,
    "typing_duration": "auto"
  }
}

Parameter humanlike:

ParameterNilaiDeskripsi
enabledtrue/falseAktifkan efek mengetik
typing_duration“auto”Durasi otomatis berdasarkan panjang pesan
typing_duration3000Durasi manual dalam milidetik

Kirim Pesan Teks + Media

Kirim Gambar

{
  "to": "628123456789",
  "media": "https://domain-anda.com/images/produk.jpg",
  "media_type": "image",
  "message": "Produk terbaru kami!"
}

Kirim Video

{
  "to": "628123456789",
  "media": "https://domain-anda.com/videos/promo.mp4",
  "media_type": "video",
  "message": "Video promo spesial!"
}

Kirim Dokumen (PDF, Word, Excel)

{
  "to": "628123456789",
  "media": "https://domain-anda.com/files/invoice.pdf",
  "media_type": "document",
  "file_name": "Invoice_Desember_2025.pdf",
  "message": "Berikut invoice pesanan Anda"
}

Kirim Audio

{
  "to": "628123456789",
  "media": "https://domain-anda.com/audio/notification.mp3",
  "media_type": "audio"
}

Parameter Media Lengkap

ParamaterTipeWajibDeskripsi
tostringNomor telepon penerima
mediastringURL media atau data base64
media_typestringTipe: image, video, audio, document
messagestringCaption (opsional)
file_namestringNama file untuk dokumen

Format Media yang Didukung

TipeFormatUkuran Maks
imageJPG, PNG, GIF16 MB
videoMP4, AVI, MOV64 MB
audioMP3, OGG, WAV16 MB
documentPDF, DOC, DOCX, XLS, XLSX100 MB

Batasan Teks (mengikuti limit WhatsApp)

FieldBatas karakter (perkiraan)
message (teks tanpa media)~4.096
message (caption media)~1.024
file_name255

Sistem tidak memvalidasi karakter melebihi limit di atas — namun WhatsApp client akan memotong tampilan pesan yang terlalu panjang. Pakai limit ini sebagai pegangan agar pesan tampil utuh.

Contoh cURL

Kirim Pesan Teks

curl -X POST https://dash.ngirimwa.com/api/v1/messages/send \
  -H "x-api-key: API_KEY_ANDA" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "628123456789",
    "message": "Halo dari NgirimWA!"
  }'

Kirim Gambar

curl -X POST https://dash.ngirimwa.com/api/v1/messages/send \
  -H "x-api-key: API_KEY_ANDA" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "628123456789",
    "media": "https://domain-anda.com/gambar.jpg",
    "media_type": "image",
    "message": "Produk terbaru!"
  }'

On this page