Rekan.ai Buka Aplikasi
Untuk Developer

API Kirim Pesan Chatone

Kirim pesan WhatsApp dan kelola percakapan dari sistem Anda sendiri. Satu API key untuk seluruh perangkat yang terhubung ke bisnis Anda.

Base URL https://api.chatone.rekan.ai/api-app Semua endpoint di halaman ini relatif terhadap alamat tersebut.
Autentikasi api_key Dikirim sebagai field di body permintaan, bukan sebagai header Authorization.
Format JSON via HTTPS Balasan selalu memuat field status (boolean) dan message.

Mendapatkan API Key

  1. Buka Chatone, masuk ke menu Setting → Internal Setting.
  2. Buka bagian Local API Key, lalu tekan Generate. Kunci berbentuk UUID akan muncul.
  3. Salin dan simpan kunci tersebut. Menekan Regenerate akan membatalkan kunci lama seketika.
  4. Atur API Device Use: pilih Required bila tiap permintaan wajib menyertakan device_key, atau Optional agar sistem memilihkan perangkat pengirim untuk Anda.

Satu API key berlaku untuk satu bisnis dan seluruh perangkat di dalamnya. Perlakukan seperti kata sandi — jangan taruh di kode yang dapat diakses publik.

Kirim & Baca Pesan

POST

Kirim Pesan

/whatsapp/send-message

Mengirim pesan WhatsApp ke satu nomor. Isi pesan bisa diketik langsung (method: text) atau memakai template yang sudah tersimpan (method: template).

FieldTipeWajibKeterangan
api_key string wajib API key bisnis Anda.
phone string wajib Nomor tujuan beserta kode negara, contoh 6281234567890.
method string wajib Pilih text atau template.
text string opsional Isi pesan. Wajib bila method bernilai text.
template integer opsional ID template pesan. Wajib bila method bernilai template.
variables array opsional Nilai pengganti placeholder di dalam template.
device_key string opsional Perangkat pengirim. Wajib bila pengaturan API Device Use bernilai Required.
file string opsional URL berkas lampiran. Jenis media dikenali dari ekstensinya: jpg, jpeg, png, webp, pdf, mp4, mp3, ogg.
Contoh permintaan
curl -X POST https://api.chatone.rekan.ai/api-app/whatsapp/send-message \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "API_KEY_ANDA",
    "device_key": "ID_PERANGKAT",
    "phone": "6281234567890",
    "method": "text",
    "text": "Halo, pesanan Anda sudah kami kirim."
  }'
Contoh balasan
{
  "status": true,
  "message": "Pesan berhasil dikirim"
}
GET

Daftar Percakapan

/whatsapp/chats/{device}

Mengambil daftar percakapan pada sebuah perangkat.

FieldTipeWajibKeterangan
api_key string wajib Dikirim sebagai query parameter.
is_group string opsional Isi true untuk percakapan grup. Nilai bawaan false.
last_chat string opsional Penanda untuk mengambil halaman berikutnya.
Contoh permintaan
curl "https://api.chatone.rekan.ai/api-app/whatsapp/chats/ID_PERANGKAT?api_key=API_KEY_ANDA&is_group=false"
GET

Isi Satu Percakapan

/whatsapp/chats/detail/{device}/{chatId}

Mengambil daftar pesan di dalam satu percakapan. Akhiran @s.whatsapp.net atau @g.us ditambahkan sistem sesuai nilai is_group.

FieldTipeWajibKeterangan
api_key string wajib Dikirim sebagai query parameter.
is_group string opsional Isi true bila chatId merujuk ke grup.
GET

Daftar Kontak

/whatsapp/chats/contacts/{device}

Mengambil kontak yang tersimpan pada perangkat WhatsApp tersebut.

FieldTipeWajibKeterangan
api_key string wajib Dikirim sebagai query parameter.

Operasi Pesan

POST

Tandai Sudah Dibaca

/whatsapp/misc/read-messages/{device}

Menandai sekumpulan pesan sebagai sudah dibaca.

FieldTipeWajibKeterangan
api_key string wajib API key bisnis Anda.
chatid string wajib Pengenal percakapan.
messages array wajib Minimal satu pesan; tiap item berisi remoteJid dan id.
POST

Tandai Belum Dibaca

/whatsapp/misc/mark-message/{device}

Mengubah status baca sebuah percakapan.

FieldTipeWajibKeterangan
api_key string wajib API key bisnis Anda.
chatid string wajib Pengenal percakapan.
status boolean wajib true untuk sudah dibaca, false untuk sebaliknya.
POST

Hapus Pesan (Untuk Saya)

/whatsapp/misc/delete-message/{device}

Menghapus sebuah pesan dari sisi Anda saja.

FieldTipeWajibKeterangan
api_key string wajib API key bisnis Anda.
chatid string wajib Pengenal percakapan.
message object wajib Berisi key.remoteJid, key.fromMe, key.id, deleteMedia, dan timestamp.
POST

Hapus Pesan (Untuk Semua)

/whatsapp/misc/delete-everyone/{device}

Menarik kembali sebuah pesan sehingga hilang dari sisi penerima.

FieldTipeWajibKeterangan
api_key string wajib API key bisnis Anda.
chatid string wajib Pengenal percakapan.
message object wajib Berisi remoteJid, fromMe, dan id.
POST

Hapus Percakapan

/whatsapp/misc/delete-chat/{device}

Menghapus seluruh percakapan dari perangkat.

FieldTipeWajibKeterangan
api_key string wajib API key bisnis Anda.
chatid string wajib Pengenal percakapan.
POST

Unduh Media

/whatsapp/misc/download-media/{device}

Mengunduh lampiran dari sebuah pesan.

FieldTipeWajibKeterangan
api_key string wajib API key bisnis Anda.
type string wajib Jenis media pada pesan.
medianame string wajib Nama berkas yang diinginkan.
message object wajib Objek pesan yang memuat media.
POST

Foto Profil

/whatsapp/misc/get-profile/{device}

Mengambil foto profil sebuah nomor WhatsApp.

FieldTipeWajibKeterangan
api_key string wajib API key bisnis Anda.
phone string wajib Nomor yang ingin diperiksa.

Utilitas

POST

Cek Status Perangkat

/integration/checking-device

Memastikan sebuah perangkat dikenali dan sedang aktif sebelum Anda mengirim pesan.

FieldTipeWajibKeterangan
api_key string wajib API key bisnis Anda.
device string wajib ID perangkat yang ingin diperiksa.
Contoh permintaan
curl -X POST https://api.chatone.rekan.ai/api-app/integration/checking-device \
  -H "Content-Type: application/json" \
  -d '{ "api_key": "API_KEY_ANDA", "device": "ID_PERANGKAT" }'
Contoh balasan
{
  "status": true,
  "message": "Perangkat ditemukan"
}
GET

Daftar Template

/integration/get-templates

Mengambil daftar template pesan WhatsApp yang bisa dipakai pada endpoint Kirim Pesan.

FieldTipeWajibKeterangan
api_key string wajib Dikirim sebagai query parameter.
Contoh balasan
{
  "status": true,
  "templates": [
    { "id": 12, "name": "Konfirmasi Pesanan" }
  ]
}

Webhook Pesan Masuk

Setiap perangkat memiliki satu kolom URL webhook. Saat ada pesan masuk, Chatone mengirimkan permintaan POST berformat JSON ke alamat tersebut. Pengaturannya ada di halaman perangkat, bagian Device & webhook.

Isi yang dikirim ke server Anda
{
  "device_key": "ID_PERANGKAT",
  "name": "Nama Pengirim",
  "from": "6281234567890",
  "message": "Halo, stok masih ada?",
  "type": "text"
}
  • Webhook tersedia untuk WhatsApp personal, WhatsApp Business API, dan Telegram.
  • Kolom device_key membedakan perangkat asal, berguna bila Anda menghubungkan lebih dari satu.
  • Chatone menunggu balasan dari server Anda; balas dengan cepat agar tidak menahan proses pesan berikutnya.

Yang perlu Anda antisipasi

  • !Belum ada tanda tangan permintaan, jadi verifikasi asal melalui daftar IP atau URL rahasia yang sulit ditebak.
  • !Belum ada pengiriman ulang otomatis bila server Anda sedang mati.
  • !Instagram, Messenger, dan live chat belum mengirim webhook keluar.

Kode Error

200 Berhasil

Permintaan diproses. Periksa field status di dalam body untuk memastikan hasilnya.

401 API key atau perangkat tidak dikenali

Kunci salah, perangkat tidak ditemukan, atau template tidak dikenali.

419 Perangkat belum aktif

Perangkat terdaftar tetapi belum dipindai. Buka Chatone dan scan ulang QR-nya.

422 Data tidak lengkap

Ada field wajib yang kosong atau salah format. Bisa juga berarti kuota kirim harian perangkat sudah habis.

500 Kesalahan sistem

Terjadi kendala di sisi kami. Coba beberapa saat lagi atau hubungi tim dukungan.

Catatan penting

  • Belum ada pembatasan jumlah permintaan per menit. Meski begitu, atur jeda pengiriman Anda sendiri agar nomor WhatsApp tetap aman.
  • Alamat endpoint belum memakai nomor versi. Perubahan yang memengaruhi integrasi akan kami umumkan lebih dulu.
  • Untuk pengiriman massal, gunakan menu Broadcast di dalam aplikasi — di sana jeda, istirahat perangkat, dan pembagian ke beberapa nomor sudah diatur otomatis.
Butuh bantuan menyambungkan?

Tim kami bisa menemani proses integrasi pertama Anda sampai pesan pertama benar-benar terkirim.

Buka Chatone