Use Case: Agent Routing based on Customer's Location

## Case

Perusahaan A memiliki banyak cabang, berencana untuk memasang widget chat dimana setiap customer yang menginisiasi percakapan akan diarahkan ke agen-agen yang sesuai berdasarkan data domisili yang diinputkan oleh customer sebelumnya.

 

## Solusi

Hal ini dapat dilakukan di Qiscus menggunakan fitur-fitur berikut
- Additional Field pada Login form untuk mendapatkan data domisi customer
- Custom Agent Allocation untuk mengalokasikan agen

 

### Menambahkan Additional Info

Untuk mendapatkan data domisi dari customer kita membutuhkan input tambahan pada form login widget. Anda bisa menambahkan input tambahan ini melalui widget builder pada halaman `Integration > Qiscus Widget`.


Ketika customer melakukan login data domisili dari client tersebut akan dikirimkan pada server multichannel pada objek `user_properties`.

 

### Mengaktifkan Custom Agent Allocation

Custom Agent Allocation Webhook ini akan kita gunakan untuk mendapatkan data domisili dari customer ketika mereka memulai percakapan kemudian kita akan memilihkan agen yang sesuai dengan domisili customer tersebut. Sebelum mengaktifkan fitur tersebut kita butuh menempatkan agen-agen ke dalam divisi tertentu, misal kita akan membuat divisi `Sumatera, Jawa, dan Bali`. Anda dapat melakukan hal ini melalui halaman `Settings > Agent Management > Division`.

mceclip0.png

Untuk mengaktifkan webhook Custom Agent Allocation anda bisa melakukannya pada halaman `Settings > Custom Agent Allocation`, aktifkan toggle webhook tersebut dan isi URL nya.

mceclip1.png

Didalam webhook anda butuh menambahkan logic untuk membaca nilai dari domisili customer yang terdapat pada properti `user_properties` kemudian anda dapat menggunakan API berikut (https://documenter.getpostman.com/view/8259884/TVsuCSeT#94eeb9cb-dd70-4baf-9f63-361e7922299a):

  curl --location -g --request GET '{{BaseUrl}}/api/v2/admin/agents/by_division?page=1&limit=10&division_ids[]=438&is_available=true&sort=desc'
  \
  --header 'Authorization: {{AdminToken}}' \
  --header 'Qiscus-App-Id: {{appId}}'
  

Setelah itu anda dapat menggunakan API berikut untuk menugaskan agen yang sesuai dengan domisili customer.

  curl --location -g --request POST '{{BaseUrl}}/api/v1/admin/service/assign_agent'
  \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --header 'Qiscus-App-Id: {{AppCode}}' \
  --header 'Qiscus-Secret-Key: {{SecretKey}}' \
  --data-urlencode 'room_id=1668912' \
  --data-urlencode 'agent_id=484' \
  --data-urlencode 'max_agent=1'

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.