D
API Reference

Ticket

Endpoint ticket — change_ticket_status untuk update status tiket live chat. Membuat chat history + kirim notif ke customer.

Endpoint untuk mengubah status tiket live chat. Saat status berubah, handler membuat chat history baru dan mengirim notifikasi ke customer.

POST /v1/change_ticket_status

Update status tiket live chat.

Handler: handlers/chat_ticket.go:24 UpdateStatusTicket

Request body

ChatLivePayload struct:

FieldTipeWajibDeskripsi
ticketstring✅Ticket ID
statusstring✅Status baru
teamstring❌Team ID
nohpstring❌Nomor customer
instancestring❌Device instance

Behavior

  1. Ambil ticket dari livechat_tickets (CRM DB)
  2. Resolve device via GetDeviceCrm
  3. Ambil customer + team + user
  4. Cek chat history existing — jika sudah ada, reject ("cant update status ticket, contact already running other session on this device")
  5. Create ChatHistoryCRM
  6. Update BotProccessCRM
  7. Update LivechatTicket (status)
  8. Build Payload + panggil saveMessageMongoCrm untuk kirim notif ke customer

Response (sukses)

json
{
  "result": true,
  "message": "success update ticket status",
  "ids": ["inbox-id-1"],
  "data": {/* ChatInboxStruct */}
}

Response (error)

KondisiBody
GetLivechatTicket gagal{"result": false, "message": "<err>"}
GetDeviceCrm gagal{"result": false, "message": "<err>"}
GetCustomer gagal{"result": false, "message": "Cant get customer : <err>"}
GetTeam gagal{"result": false, "message": "Cant get team : <err>"}
GetUser gagal{"result": false, "message": "Cant get user : <err>"}
Chat history sudah ada{"result": false, "message": "cant update status ticket, contact already running other session on this device"}
CreateChatHistoryCRM gagal{"result": false, "message": "<err>"}
UpdateBotProccessCRM gagal{"result": false, "message": "<err>"}
UpdateLivechatTicket gagal{"result": false, "message": "<err>"}
saveMessageMongoCrm gagal{"result": false, "message": "<err>"}

Contoh request

bash
curl -X POST https://api.dazo.id/v1/change_ticket_status \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{
    "ticket": "ticket-uuid-xxx",
    "status": "open",
    "team": "team-1",
    "nohp": "62812xxxx",
    "instance": "device-instance-xxx"
  }'

Kembali ke