Method: Qismo::Api#list_rooms

Defined in:
lib/qismo/api.rb

#list_rooms(channels: nil, status: nil, serve_status: nil, name: nil, limit: 50, tag_ids: nil, user_ids: nil, order: "desc", cursor_after: nil, cursor_before: nil, is_handled_by_bot: nil) ⇒ Qismo::Collection<Qismo::CustomerRoom>

List customer rooms

Parameters:

  • channels (Array<Hash>) (defaults to: nil)

    Filter rooms by channels. Example: [{ source: “wa”, channel_id: 716171 }]

  • status (String) (defaults to: nil)

    Filter rooms by status. Valid values are “resolved”, “unresolved”, “expired”,or “almost_expired”

  • serve_status (String) (defaults to: nil)

    Filter rooms by serve status. Valid values are “served” or “unserved”. By default, we will retrieve all serve_status

  • name (String) (defaults to: nil)

    Filter rooms by customer nam

  • limit (Integer) (defaults to: 50)

    Limit the number of rooms returned in one page. By default, it will return 50 rooms data

  • tag_ids (Array<Integer>) (defaults to: nil)

    Filter rooms by its tag

  • user_ids (Array<Integer>) (defaults to: nil)

    Filter rooms by the agent who handled the rooms

  • order (String) (defaults to: "desc")

    Order returned data by the timestamp. By default, we will return the newest rooms first

  • cursor_after (String) (defaults to: nil)

    Next page cursor. If you are on last page, the cursor returned will be nil

  • cursor_before (String) (defaults to: nil)

    Previous page cursor. If you are on first page, the cursor returned will be nil

  • is_handled_by_bot (TrueClass, FalseClass) (defaults to: nil)

    Filter rooms by chatbot activation status in room

Returns:

See Also:



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/qismo/api.rb', line 40

def list_rooms(channels: nil, status: nil, serve_status: nil, name: nil, limit: 50, tag_ids: nil, user_ids: nil, order: "desc", cursor_after: nil, cursor_before: nil, is_handled_by_bot: nil)
  body = post("/api/v2/customer_rooms", {
    channels: channels,
    status: status,
    serve_status: serve_status,
    name: name,
    limit: limit,
    tag_ids: tag_ids,
    user_ids: user_ids,
    order: order,
    cursor_after: cursor_after,
    cursor_before: cursor_before,
    is_handled_by_bot: is_handled_by_bot
  })

  Collection.new(
    Qismo::Objects::CustomerRoom.from_array(body.data.customer_rooms),
    next_page: body.meta.cursor_after,
    prev_page: body.meta.cursor_before
  )
end