Endpoint untuk mengubah status percakapan — finish, open, pending, move, escalate ke warehouse.
POST /v1/handle_chat
Toggle flag HandleByBot pada chat list (aktifkan/nonaktifkan bot).
Handler: handlers/chat_live.go:2186 HandleChat
Request body
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
nohp | string | ✅ | Nomor customer |
instance | string | ✅ | Device instance |
handleByBot | bool | ❌ | true = bot aktif, false = bot nonaktif |
Response (sukses)
{
"result": true,
"message": "success change handel chat"
}Response (error)
{"result": false, "message": "<err>"}POST /v1/chat_finish
Tutup (finish) percakapan.
Handler: handlers/chat_live.go:1854 FinishChat
Request body
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
nohp | string | ✅ | Nomor customer |
instance | string | ✅ | Device instance |
team | string | ✅ | Team ID |
Response (sukses)
{"result": true, "message": "success finish chat"}Response (error)
{"result": false, "message": "<err>"}Error sources: GetTeam, GetOneChatInbox (last), UpdateManyChatInbox, UpdateChatlist, UpdateChatHistory. Juga memanggil submitPoint(EngineUri + "update-chatlist", ...) untuk update WA gateway.
POST /v1/chat_open
Buka kembali (open) percakapan yang sudah di-close/pending.
Handler: handlers/chat_live.go:2086 OpenChat
Request body
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
nohp | string | ✅ | Nomor customer |
instance | string | ✅ | Device instance |
team | string | ✅ | Team ID |
Response (sukses)
{"result": true, "message": "success open chat"}Response (error)
{"result": false, "message": "<err>"}Error sources: GetTeam, UpdateManyChatInbox, UpdateChatlist, UpdateLastChatHistory.
POST /v1/chat_pending
Set percakapan ke status pending.
Handler: handlers/chat_live.go:1972 PendingChat
Request body
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
nohp | string | ✅ | Nomor customer |
instance | string | ✅ | Device instance |
team | string | ✅ | Team ID |
Response (sukses)
{"result": true, "message": "success pending chat"}Response (error)
{"result": false, "message": "<err>"}POST /v1/chat_move
Pindahkan percakapan ke CS lain.
Handler: handlers/chat_live.go:2212 MoveChat
Request body
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
nohp | string | ✅ | Nomor customer |
instance | string | ✅ | Device instance |
team | string | ✅ | Team ID (current) |
id_cs | string | ❌ | CS ID tujuan (kosong = unassign) |
Response (sukses)
{"result": true, "message": "success move chat"}Response (error)
| Kondisi | Body |
|---|---|
| GetTeam gagal | {"result": false, "message": "<err>"} |
| GetTeam(id_cs) gagal | {"result": false, "message": "<err>"} (jika id_cs != "") |
| History tidak ditemukan | {"result": false, "message": "History tidak ditemukan"} |
| Chat sudah di-move | {"result": false, "message": "Chat telah di Move/Assign"} |
| Update gagal | {"result": false, "message": "<err>"} |
POST /v1/chats/request-escalate
Alias: POST /v1/chat_requesthandle. Eskalasi percakapan ke warehouse (handle gudang).
Handler: handlers/chat_live.go:2415 RequestHandleWarehouse
Request body (multipart/form-data)
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
storeId | string | ✅ | Store ID |
team | string | ✅ | Team ID |
instance | string | ✅ | Device instance |
nohp | string | ✅ | Nomor customer |
chatId | string | ❌ | Chat ID |
complaint_title | string | ❌ | Judul keluhan |
complaint_detail | string | ❌ | Detail keluhan (max 5000 char) |
file | file | ❌ | File pendukung (image/document) |
Response (sukses)
{
"result": true,
"message": "success create request handle gudang",
"data": {/* bson.M updated chat list */},
"handling": {/* bson.M created handle gudang */}
}Response (error)
| Kondisi | Status | Body |
|---|---|---|
| Detail keluhan > 5000 char | 400 | {"result": false, "message": "Detail Keluhan tidak boleh melebihi dari 5000 karakter"} |
| FormFile error | 200 | {"result": false, "message": "Terjadi kendala saat memproses file", "error": "<err>"} |
| Upload S3 gagal | 200 | {"result": false, "message": "Gagal Saat upload Berkas Pendukung, harap coba lagi", "error": "<msg>"} |
| Chat sudah di-handle gudang | 200 | {"result": false, "message": "Chat on proccess handle by Gaudang"} |
| Tim gudang tidak ditemukan | 200 | {"result": false, "message": "Tidak dapat menemukan Tim Gudang..."} |
| Lainnya | 200 | {"result": false, "message": "<err>"} |
POST /v1/chats/finish-escalate
Alias: POST /v1/chat_finishhandle. Selesaikan eskalasi warehouse.
Handler: handlers/chat_live.go:2633 FinishHandleWarehouse
Request body
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
nohp | string | ✅ | Nomor customer |
instance | string | ✅ | Device instance |
team | string | ✅ | Team ID |
Response (sukses)
{"result": true, "message": "success finish handle gudang"}Response (error)
{"result": false, "message": "<err>"}Error sources: GetTeam, UpdateHandleGudang, UpdateChatlist.
Kembali ke
- API Reference Index — daftar semua grup
- Chat Inbound — baca pesan masuk
- Send Outbound — kirim pesan keluar