Autentikasi & API Keys
Semua request ke API Conexchat diautentikasi menggunakan API Key. Key dapat dibuat melalui dashboard di menu Settings → API Keys. Sertakan API Key di setiap request melalui HTTP header X-API-Key.
Base URL
🚀 Quick Start
Mulai kirim pesan dalam 3 langkah sederhana.
1️⃣
Buat API Key
Masuk ke dashboard → Settings → API Keys → Klik "Buat Key Baru".
2️⃣
Hubungkan WhatsApp
Buka menu Nomor WA → scan QR → dapatkan sessionId.
3️⃣
Kirim Request
Gunakan API Key di header X-API-Key pada setiap request.
🔑 Header Autentikasi
Sertakan API Key di header berikut pada setiap request HTTP.
X-API-Key: wc_live_xxxxxxxxxxxxxxxxxxxxxxxx
curl -X GET https://api.conexchat.com/api/numbers \
-H "X-API-Key: wc_live_your_key_here" \
-H "Content-Type: application/json"
# Response sukses
{
"success": true,
"data": {
"sessions": [...]
}
}
🏷️ Format API Key
Conexchat membedakan dua jenis environment melalui prefix key.
| Prefix | Environment | Keterangan |
| wc_live_ |
Live |
Key untuk production. Semua aksi bersifat nyata. |
| wc_test_ |
Sandbox |
Key untuk testing & development. Tidak ada pesan yang benar-benar terkirim. |
⚠️ Error Autentikasi
Jika API Key tidak valid atau tidak disertakan, API akan mengembalikan error berikut.
| HTTP Code | Error | Penyebab |
| 401 |
Unauthorized |
Header X-API-Key tidak ada atau kosong. |
| 403 |
Forbidden |
API Key valid tapi tidak memiliki izin untuk endpoint ini. |
| 429 |
Too Many Requests |
Rate limit tercapai. Coba lagi setelah beberapa saat. |
# Contoh response error 401
{
"success": false,
"error": "Unauthorized",
"message": "API Key tidak valid atau tidak ditemukan. Pastikan header X-API-Key sudah benar.",
"code": 401
}
⏱️ Rate Limit
API memberlakukan batasan request per menit untuk menjaga stabilitas layanan.
| Paket | Limit per Menit | Burst Max |
| Starter |
60 req/mnt |
100 |
| Business |
300 req/mnt |
500 |
| Enterprise |
Tidak terbatas |
Custom SLA |
📦 Format Response
Semua endpoint menggunakan format JSON yang konsisten. Field success selalu ada untuk memudahkan pengecekan.
# Response sukses
{
"success": true,
"data": { ... }, // payload utama
"meta": { // opsional, untuk paginasi
"total": 100,
"page": 1,
"limit": 20
}
}
# Response error
{
"success": false,
"error": "ValidationError",
"message": "Field 'to' wajib diisi dan harus berformat 628xxx",
"code": 422
}
Kirim Pesan Teks
Kirim satu pesan teks ke nomor WA tujuan.
Request Body
| Parameter |
Tipe |
Wajib |
Keterangan |
| sessionId |
string |
required |
ID sesi WhatsApp pengirim |
| to |
string |
required |
Nomor penerima (628xxx, tanpa +) |
| message |
string |
required |
Teks pesan |
# Request
curl -X POST https://api.conexchat.com/api/messages/send \
-H "X-API-Key: wc_live_xxx" \
-H "Content-Type: application/json" \
-d '{"sessionId":"my-session","to":"628123456789","message":"Halo!"}'
# Response
{
"success": true,
"data": {
"messageId": "msg_abc123",
"status": "sent",
"timestamp": "2026-06-20T06:00:00.000Z"
}
}
| Parameter |
Tipe |
Wajib |
Keterangan |
| sessionId |
string |
required |
ID sesi pengirim |
| to |
string |
required |
Nomor penerima |
| base64 |
string |
required |
Data media dalam format base64 |
| mimetype |
string |
required |
Mimetype file (contoh: image/jpeg) |
| filename |
string |
opsional |
Nama file dokumen |
| caption |
string |
opsional |
Caption untuk media |
curl -X POST https://api.conexchat.com/api/messages/send-media \
-H "X-API-Key: wc_live_xxx" \
-d '{"sessionId":"s1","to":"628xx","base64":"iVBOR...","mimetype":"image/jpeg","caption":"Promo!"}'
Blast Massal
Kirim pesan ke banyak nomor sekaligus. Pesan dikerjakan di background dengan jeda
antar-kirim untuk menghindari ban.
| Parameter |
Tipe |
Wajib |
Keterangan |
| sessionId |
string |
required |
ID sesi pengirim |
| recipients |
array |
required |
Array nomor penerima |
| message |
string |
required |
Teks pesan |
| delay |
number |
opsional |
Jeda antar pesan (ms, default 1000) |
curl -X POST https://api.conexchat.com/api/messages/bulk \
-H "X-API-Key: wc_live_xxx" \
-d '{"sessionId":"s1","recipients":["628111","628222"],"message":"Promo!"}'
# Response
{ "success": true, "data": { "jobId": "bulk_abc", "total": 2 } }
Riwayat Pesan
| Query Param |
Tipe |
Keterangan |
| sessionId |
string |
Filter per sesi |
| type |
string |
incoming | outgoing |
| limit |
number |
Jumlah (default 50, max 200) |
| page |
number |
Halaman |
List Sesi
# Response
{
"success": true,
"data": {
"sessions": [
{
"_id": "...",
"sessionId": "user-session-1",
"phoneNumber": "628123456789",
"label": "CS Utama",
"status": "connected"
}
]
}
}
Get QR Code Sesi
# Response
{ "success": true, "data": { "qr": "data:image/png;base64,...", "status": "connecting" } }
Webhook Format
Atur Webhook URL di setiap sesi pada halaman Nomor WA. Setiap pesan masuk akan
di-POST ke URL tersebut.
# Contoh payload webhook pesan masuk (POST ke webhookUrl kamu)
{
"event": "message.received",
"sessionId": "my-session",
"data": {
"from": "628123456789",
"to": "628987654321",
"body": "Halo, saya ingin bertanya...",
"timestamp": "2026-06-20T06:00:00.000Z",
"messageId": "wamid.xxx"
}
}
# Session events
{
"event": "session.connected",
"sessionId": "my-session",
"data": { "phoneNumber": "628xxx", "status": "connected" }
}
Spam Filter API
| Parameter |
Tipe |
Wajib |
Keterangan |
| phone |
string |
required |
Nomor yang diblokir |
| sessionId |
string |
opsional |
Blokir per sesi, kosong = semua |
| reason |
string |
opsional |
Keterangan |
Mendapatkan daftar nomor yang diblokir.
REST API lengkap untuk mengintegrasikan toko Anda dengan sistem eksternal — mobile app, ERP, CRM, POS, hingga platform automation seperti n8n dan Make.com.
Gunakan Store API Key yang sama dengan API key utama Anda.
Produk & Katalog
Order Management
Pelanggan & CRM
Inventaris
Analytics
Kode Promo
📦 Manajemen Produk
CRUD produk, varian, dan kategori toko Anda secara programatik.
| Query Param | Tipe | Keterangan |
| categoryId | string | Filter per kategori |
| search | string | Pencarian kata kunci |
| limit | number | Default 20, max 100 |
| page | number | Nomor halaman |
curl -X GET https://api.conexchat.com/api/storefront/endvyshop/products?limit=20&page=1 \
-H "X-API-Key: wc_live_xxx"
# Response
{
"success": true,
"data": [
{
"_id": "...",
"name": "Sepatu Lari Nyaman",
"slug": "sepatu-lari-nyaman",
"price": 210000,
"discount": 0,
"stock": 15,
"images": ["/uploads/product_xxx.jpg"]
}
],
"total": 42,
"page": 1,
"limit": 20
}
curl https://api.conexchat.com/api/storefront/endvyshop/products/sepatu-lari-nyaman \
-H "X-API-Key: wc_live_xxx"
# Response — includes variants, reviews, related
{
"success": true,
"data": {
"_id": "...",
"name": "Sepatu Lari Nyaman",
"price": 210000,
"stock": 15,
"variants": [
{ "_id": "...", "name": "Ukuran 40", "price": 210000, "stock": 5 },
{ "_id": "...", "name": "Ukuran 41", "price": 215000, "stock": 3 }
],
"reviews": [...],
"related": [...]
}
}
🛒 Manajemen Order
Baca dan update status order dari sistem eksternal Anda.
| Query Param | Tipe | Keterangan |
| status | string | pending | paid | processing | shipped | delivered | cancelled |
| limit | number | Default 20 |
| page | number | Nomor halaman |
curl https://api.conexchat.com/api/store/orders?status=paid \
-H "X-API-Key: wc_live_xxx"
| Parameter | Tipe | Wajib | Keterangan |
| status | string | required | Status baru order |
| trackingNumber | string | opsional | Nomor resi pengiriman |
| note | string | opsional | Catatan internal |
curl -X PATCH https://api.conexchat.com/api/store/orders/ORD-ID-HERE/status \
-H "X-API-Key: wc_live_xxx" \
-H "Content-Type: application/json" \
-d '{"status":"shipped","trackingNumber":"JNE123456789"}'
👥 Manajemen Pelanggan
Sinkronisasi data pelanggan dengan CRM atau sistem eksternal Anda.
curl https://api.conexchat.com/api/store/customers?limit=50 \
-H "X-API-Key: wc_live_xxx"
# Response
{
"success": true,
"data": [
{
"_id": "...",
"name": "Budi Santoso",
"phone": "628123456789",
"email": "budi@example.com",
"totalOrders": 3,
"totalSpent": 750000
}
]
}
📊 Manajemen Inventaris
Update stok produk secara real-time dari sistem POS, gudang, atau ERP Anda.
| Parameter | Tipe | Wajib | Keterangan |
| stock | number | required | Jumlah stok baru (absolute) |
| variantId | string | opsional | ID varian jika produk punya varian |
curl -X PATCH https://api.conexchat.com/api/store/products/PRODUCT-ID/stock \
-H "X-API-Key: wc_live_xxx" \
-d '{"stock": 50}'
Daftarkan URL webhook toko Anda untuk menerima notifikasi real-time setiap kali ada event penting di toko.
Gunakan bersama n8n, Make.com, atau aplikasi custom Anda.
📋 Supported Events
| Event | Deskripsi | Kapan Terjadi |
| order.created | Order dibuat | Pelanggan submit checkout |
| checkout.completed | Checkout selesai | Order berhasil diproses sistem |
| payment.success | Pembayaran berhasil | Admin konfirmasi pembayaran |
| payment.failed | Pembayaran gagal | Pembayaran ditolak/expired |
| refund.processed | Refund diproses | Admin proses pengembalian dana |
| customer.registered | Pelanggan baru | Profil pelanggan pertama kali dibuat |
| cart.abandoned | Keranjang ditinggal | Cart tidak di-checkout > 24 jam |
| product.created | Produk baru | Admin tambah produk |
| product.updated | Produk diupdate | Admin edit produk/stok |
| stock.low | Stok hampir habis | Stok ≤ threshold |
| stock.out | Stok habis | Stok = 0 |
| shipment.created | Pengiriman dibuat | Nomor resi diinput |
| shipment.delivered | Terkirim | Status order jadi delivered |
| coupon.redeemed | Kupon digunakan | Pelanggan pakai kode promo |
| review.submitted | Ulasan masuk | Pelanggan kirim review produk |
⚙️ Konfigurasi Webhook Toko
Set atau update URL webhook dan pilih event yang ingin dipantau via API atau dari menu Toko Saya → Webhook Logs.
curl https://api.conexchat.com/api/store/webhook-config \
-H "X-API-Key: wc_live_xxx"
# Response
{
"success": true,
"data": {
"webhookUrl": "https://n8n.myserver.com/webhook/store-abc",
"webhookSecret": "my-secret-123",
"webhookEvents": ["order.created", "payment.success", "stock.out"]
}
}
| Parameter | Tipe | Keterangan |
| webhookUrl | string | URL endpoint yang menerima POST webhook |
| webhookSecret | string | Secret untuk verifikasi header X-Webhook-Secret |
| webhookEvents | array | Array event ID yang ingin dipantau |
curl -X PUT https://api.conexchat.com/api/store/webhook-config \
-H "X-API-Key: wc_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"webhookUrl": "https://n8n.myserver.com/webhook/store",
"webhookSecret": "my-secret-123",
"webhookEvents": ["order.created", "payment.success", "stock.out", "review.submitted"]
}'
| Query Param | Tipe | Keterangan |
| event | string | Filter per event |
| status | string | success | failed |
| limit | number | Max 200 |
| offset | number | Pagination offset |
📨 Format Payload Webhook
Setiap event dikirim sebagai HTTP POST dengan body JSON berikut.
# order.created
POST https://your-webhook-url.com/endpoint
Headers:
Content-Type: application/json
X-Webhook-Secret: your-secret-here
X-Conexchat-Event: order.created
Body:
{
"event": "order.created",
"store": "endvyshop",
"timestamp": "2026-07-26T06:00:00.000Z",
"data": {
"orderId": "ORD-20260726-XYZ1",
"orderCode": "ORD-20260726-XYZ1",
"customerName": "Budi Santoso",
"customerPhone": "628123456789",
"customerEmail": "budi@example.com",
"totalAmount": 285000,
"shippingCost": 15000,
"paymentMethod": "transfer",
"status": "pending",
"items": [
{
"name": "Sepatu Lari Nyaman",
"variant": "Ukuran 41",
"qty": 1,
"price": 210000
}
],
"shippingAddress": {
"fullAddress": "Jl. Merdeka No. 1",
"city": "Surabaya",
"province": "Jawa Timur",
"postalCode": "60111"
}
}
}
# Contoh workflow (n8n / Make.com):
# Customer bayar → Webhook "payment.success" →
# n8n kirim WA konfirmasi → Generate invoice →
# Notifikasi gudang → Update CRM → Catat di spreadsheet
API berbasis kecerdasan buatan yang membantu merchant mengotomatisasi pembuatan konten, meningkatkan keterlibatan pelanggan, dan mengoptimalkan penjualan.
AI API menggunakan konfigurasi LLM (OpenRouter / OpenAI / Gemini) yang sudah Anda set di menu Sesi WA → Pengaturan AI.
🖊️ Content Generation
🌐 Translation
🔍 SEO Optimizer
🎯 Recommendation
💬 WhatsApp AI
⚙️ Prasyarat: LLM API Key harus sudah dikonfigurasi di Menu Sesi WA → Pengaturan → AI sebelum menggunakan semua endpoint AI di bawah ini.
🖊️ AI Product Description Generator
Generate deskripsi produk yang menarik dan mendorong konversi secara otomatis menggunakan AI.
| Parameter | Tipe | Wajib | Keterangan |
| productName | string | required | Nama produk |
| category | string | opsional | Kategori produk |
| keywords | string | opsional | Kata kunci yang ingin ditonjolkan |
| tone | string | opsional | profesional | casual | luxury | friendly (default: profesional) |
| language | string | opsional | id | en (default: id) |
curl -X POST https://api.conexchat.com/api/store/ai/product-description \
-H "X-API-Key: wc_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"productName": "Sepatu Lari Nyaman Pro",
"category": "Olahraga",
"keywords": "ringan, anti selip, breathable",
"tone": "casual",
"language": "id"
}'
# Response
{
"success": true,
"data": {
"description": "Perkenalkan Sepatu Lari Nyaman Pro — teman setia setiap langkah petualanganmu!...",
"productName": "Sepatu Lari Nyaman Pro",
"language": "id",
"tone": "casual"
}
}
🌐 AI Product Translation
Terjemahkan nama, deskripsi, atau konten produk ke berbagai bahasa untuk menjangkau pasar internasional.
| Parameter | Tipe | Wajib | Keterangan |
| text | string | required | Teks yang akan diterjemahkan |
| targetLanguage | string | opsional | en | id | zh | ar | ms (default: en) |
curl -X POST https://api.conexchat.com/api/store/ai/product-translation \
-H "X-API-Key: wc_live_xxx" \
-d '{"text": "Sepatu lari ringan anti selip cocok untuk semua medan.", "targetLanguage": "en"}'
# Response: { "success": true, "data": { "translated": "Lightweight anti-slip running shoes suitable for all terrains.", "targetLanguage": "en" } }
🔍 AI SEO Title & Keyword Generator
Generate SEO title, meta description, dan daftar keyword untuk meningkatkan visibilitas produk di mesin pencari.
| Parameter | Tipe | Wajib | Keterangan |
| productName | string | required | Nama produk |
| description | string | opsional | Deskripsi produk |
| category | string | opsional | Kategori produk |
curl -X POST https://api.conexchat.com/api/store/ai/seo-keywords \
-H "X-API-Key: wc_live_xxx" \
-d '{"productName": "Sepatu Lari Nyaman Pro", "category": "Olahraga"}'
# Response
{
"success": true,
"data": {
"seoTitle": "Sepatu Lari Nyaman Pro - Ringan Anti Selip Terbaik 2026",
"metaDescription": "Beli Sepatu Lari Nyaman Pro terbaik. Ringan, breathable, cocok semua medan. Gratis ongkir. Order sekarang!",
"keywords": ["sepatu lari", "sepatu olahraga", "sepatu anti selip", ...],
"tags": ["lari", "olahraga", "sepatu", ...],
"slug": "sepatu-lari-nyaman-pro"
}
}
🎯 AI Product Recommendation
Rekomendasikan produk yang paling relevan berdasarkan profil dan histori belanja pelanggan.
| Parameter | Tipe | Wajib | Keterangan |
| customerPhone | string | opsional | Nomor WA pelanggan untuk rekomendasi personal |
| currentProductId | string | opsional | ID produk yang sedang dilihat |
| limit | number | opsional | Jumlah rekomendasi (default: 5) |
curl -X POST https://api.conexchat.com/api/store/ai/product-recommendation \
-H "X-API-Key: wc_live_xxx" \
-d '{"customerPhone": "628123456789", "limit": 5}'
# Response
{
"success": true,
"data": {
"recommendations": [
{ "productId": "abc123", "name": "Kaus Kaki Sport", "reason": "Pelanggan sering beli produk olahraga" },
{ "productId": "def456", "name": "Insole Premium", "reason": "Kompatibel dengan sepatu yang pernah dibeli" }
],
"total": 5
}
}
👤 AI Customer Summary
Hasilkan ringkasan analitik pelanggan yang actionable dari histori pembelian mereka menggunakan AI.
| Parameter | Tipe | Wajib | Keterangan |
| customerPhone | string | required | Nomor WA pelanggan (format: 628xxx) |
curl -X POST https://api.conexchat.com/api/store/ai/customer-summary \
-H "X-API-Key: wc_live_xxx" \
-d '{"customerPhone": "628123456789"}'
# Response
{
"success": true,
"data": {
"summary": "Budi adalah pelanggan setia dengan 8 order dalam 3 bulan terakhir. Ia cenderung membeli produk elektronik premium... Rekomendasi: kirim penawaran early-access untuk produk baru.",
"customer": { "name": "Budi Santoso", "totalOrders": 8, "totalSpent": 2450000 }
}
}
💬 AI Follow-up Message Generator
Generate pesan WhatsApp follow-up yang personal dan efektif untuk berbagai skenario — order, abandoned cart, win-back, dan lainnya.
| Parameter | Tipe | Wajib | Keterangan |
| customerName | string | required | Nama pelanggan |
| type | string | opsional | order_followup | abandoned_cart | win_back | promo | payment_reminder |
| orderId | string | opsional | Kode order (jika relevan) |
| context | string | opsional | Konteks tambahan untuk personalisasi |
curl -X POST https://api.conexchat.com/api/store/ai/followup-message \
-H "X-API-Key: wc_live_xxx" \
-d '{"customerName": "Budi", "type": "abandoned_cart", "context": "Meninggalkan sepatu lari seharga Rp210.000"}'
# Response
{
"success": true,
"data": {
"message": "Halo Budi! 👋\n\nKami lihat kamu meninggalkan Sepatu Lari Nyaman Pro di keranjangmu. Sayang sekali kalau ketinggalan! 😊\n\nSepatu ini stoknya terbatas lho. Mau kami bantu proses ordernya sekarang?\n\n🛒 Order sekarang: https://...",
"type": "abandoned_cart"
}
}
📈 AI Upsell & Cross-sell Recommendation
Tingkatkan nilai rata-rata transaksi dengan rekomendasi produk upsell dan cross-sell yang cerdas berdasarkan AI.
| Parameter | Tipe | Wajib | Keterangan |
| productId | string | * | ID produk utama yang sedang dilihat |
| cartItems | array | * | Array ID produk di keranjang (*salah satu wajib) |
curl -X POST https://api.conexchat.com/api/store/ai/upsell-recommendation \
-H "X-API-Key: wc_live_xxx" \
-d '{"productId": "abc123"}'
# Response
{
"success": true,
"data": {
"upsell": [
{ "productId": "xyz789", "name": "Sepatu Lari Ultra Pro", "reason": "Versi premium dengan sole lebih tebal" }
],
"crossSell": [
{ "productId": "def456", "name": "Kaus Kaki Anti Bau", "reason": "Pelengkap ideal untuk sepatu lari" },
{ "productId": "ghi012", "name": "Insole Orthopedic", "reason": "Menambah kenyamanan dan daya tahan" }
]
}
}
⭐ AI Review Reply Generator
Generate balasan ulasan pelanggan yang profesional, empati, dan konsisten — untuk ulasan positif maupun negatif.
| Parameter | Tipe | Wajib | Keterangan |
| reviewText | string | required | Teks ulasan dari pelanggan |
| rating | number | opsional | Rating 1-5 |
| customerName | string | opsional | Nama pelanggan |
| productName | string | opsional | Nama produk yang diulas |
curl -X POST https://api.conexchat.com/api/store/ai/review-reply \
-H "X-API-Key: wc_live_xxx" \
-d '{
"reviewText": "Sepatunya bagus tapi pengirimannya lama banget, hampir 2 minggu baru sampai.",
"rating": 3,
"customerName": "Budi",
"productName": "Sepatu Lari Nyaman Pro"
}'
# Response
{
"success": true,
"data": {
"reply": "Halo Budi, terima kasih sudah berbelanja dan memberikan ulasan! 😊 Kami sangat senang produknya berkenan. Mohon maaf atas keterlambatan pengiriman — kami sedang berupaya meningkatkan layanan ekspedisi. Jika ada pertanyaan, jangan ragu hubungi kami ya!",
"sentiment": "netral",
"rating": 3
}
}