qismo 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/qismo/api.rb +72 -25
- data/lib/qismo/client.rb +1 -1
- data/lib/qismo/model.rb +2 -2
- data/lib/qismo/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82fdfb3850c268372f3bb9a626923296a277365a2e418e39e77faee771a17f01
|
4
|
+
data.tar.gz: 5e8e7248607487caab854fc59b45a4db35140b8f48392c3a52ef46fcb7d3b02f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f18f2d1e90c3892e8793f8e48af1643a8c91fa94307197cab6660df6130aa7e9e6d28d9e8942e51fb9c538d0531e9532275bb728c2ae3cb05c57f539e4f6d0c
|
7
|
+
data.tar.gz: 804e77fe38f0bb3e5da3859e2560bb74586960d8a7c96a9b723c0026ee2cfdf16ceca7531d05bc3ce7f9e3c748092daad112e458f66800b18776073e6711125e
|
data/Gemfile.lock
CHANGED
data/lib/qismo/api.rb
CHANGED
@@ -8,22 +8,10 @@ module Qismo
|
|
8
8
|
body = post("/api/v2/customer_rooms", opt)
|
9
9
|
Collection.new(
|
10
10
|
body.data.customer_rooms,
|
11
|
-
prev_page: body.meta
|
12
|
-
next_page: body.meta
|
13
|
-
prev_func: ->
|
14
|
-
|
15
|
-
Collection.new([])
|
16
|
-
else
|
17
|
-
rooms(opt.merge(cursor_before: body.meta.cursor_before))
|
18
|
-
end
|
19
|
-
end,
|
20
|
-
next_func: -> do
|
21
|
-
if body.meta.cursor_after.nil? || body.meta.cursor_after.empty?
|
22
|
-
Collection.new([])
|
23
|
-
else
|
24
|
-
rooms(opt.merge(cursor_after: body.meta.cursor_after))
|
25
|
-
end
|
26
|
-
end,
|
11
|
+
prev_page: body.meta&.cursor_before,
|
12
|
+
next_page: body.meta&.cursor_after,
|
13
|
+
prev_func: -> { rooms(opt.merge(cursor_before: body.meta&.cursor_before)) },
|
14
|
+
next_func: -> { rooms(opt.merge(cursor_after: body.meta&.cursor_after)) },
|
27
15
|
)
|
28
16
|
end
|
29
17
|
|
@@ -50,7 +38,17 @@ module Qismo
|
|
50
38
|
|
51
39
|
def room_broadcast_history(room_id, **opt)
|
52
40
|
body = get("/api/v2/customer_rooms/#{room_id}/broadcast_history", opt)
|
53
|
-
|
41
|
+
|
42
|
+
next_page = body.meta.page < body.meta.total_page ? (body.meta.page + 1) : nil
|
43
|
+
prev_page = body.meta.page > 1 ? (body.meta.page - 1) : nil
|
44
|
+
|
45
|
+
Collection.new(
|
46
|
+
body.data.broadcast_logs,
|
47
|
+
next_page: next_page,
|
48
|
+
prev_page: prev_page,
|
49
|
+
next_func: -> { room_broadcast_history(opt.merge(page: next_page)) },
|
50
|
+
prev_func: -> { room_broadcast_history(opt.merge(page: prev_page)) },
|
51
|
+
)
|
54
52
|
end
|
55
53
|
|
56
54
|
def assign_agent(room_id, agent_id, **opt)
|
@@ -81,12 +79,24 @@ module Qismo
|
|
81
79
|
|
82
80
|
def other_agents(room_id, **opt)
|
83
81
|
body = get("/api/v2/admin/service/other_agents", opt.merge(room_id: room_id))
|
84
|
-
Collection.new(
|
82
|
+
Collection.new(
|
83
|
+
body.data.agents,
|
84
|
+
prev_page: body.meta&.cursor_before,
|
85
|
+
next_page: body.meta&.cursor_after,
|
86
|
+
prev_func: -> { other_agents(opt.merge(cursor_before: body.meta&.cursor_before)) },
|
87
|
+
next_func: -> { other_agents(opt.merge(cursor_after: body.meta&.cursor_after)) },
|
88
|
+
)
|
85
89
|
end
|
86
90
|
|
87
91
|
def available_agents(room_id, **opt)
|
88
92
|
body = get("/api/v2/admin/service/available_agents", opt.merge(room_id: room_id))
|
89
|
-
Collection.new(
|
93
|
+
Collection.new(
|
94
|
+
body.data.agents,
|
95
|
+
prev_page: body.meta&.cursor_before,
|
96
|
+
next_page: body.meta&.cursor_after,
|
97
|
+
prev_func: -> { available_agents(opt.merge(cursor_before: body.meta&.cursor_before)) },
|
98
|
+
next_func: -> { available_agents(opt.merge(cursor_after: body.meta&.cursor_after)) },
|
99
|
+
)
|
90
100
|
end
|
91
101
|
|
92
102
|
def new_session_webhook
|
@@ -114,16 +124,42 @@ module Qismo
|
|
114
124
|
end
|
115
125
|
|
116
126
|
def agents(**opt)
|
127
|
+
if opt[:page].nil? || opt[:page].empty?
|
128
|
+
opt[:page] = 1
|
129
|
+
end
|
130
|
+
|
117
131
|
body = get("/api/v2/admin/agents", opt)
|
118
|
-
|
132
|
+
|
133
|
+
total_page = (body.meta.total_count.to_f / body.meta.per_page.to_f).ceil
|
134
|
+
next_page = opt[:page] < total_page ? (opt[:page] + 1) : nil
|
135
|
+
prev_page = opt[:page] > 1 ? (opt[:page] - 1) : nil
|
136
|
+
|
137
|
+
Collection.new(
|
138
|
+
body.data.agents,
|
139
|
+
next_page: next_page,
|
140
|
+
prev_page: prev_page,
|
141
|
+
next_func: -> { agents(opt.merge(page: next_page)) },
|
142
|
+
prev_func: -> { agents(opt.merge(page: prev_page)) },
|
143
|
+
)
|
119
144
|
end
|
120
145
|
|
121
146
|
def agents_by_ids(*ids)
|
122
|
-
get("/api/v1/admin/agents/get_by_ids", ids: ids).data
|
147
|
+
get("/api/v1/admin/agents/get_by_ids", **{ "ids[]": ids }).data
|
123
148
|
end
|
124
149
|
|
125
|
-
def
|
126
|
-
get("/api/v2/admin/agents/by_division", opt.merge(division_ids: division_ids))
|
150
|
+
def agents_by_divisions(*division_ids, **opt)
|
151
|
+
body = get("/api/v2/admin/agents/by_division", opt.merge({ "division_ids[]": division_ids }))
|
152
|
+
|
153
|
+
next_page = body.meta.page < body.meta.total_page ? (body.meta.page + 1) : nil
|
154
|
+
prev_page = body.meta.page > 1 ? (body.meta.page - 1) : nil
|
155
|
+
|
156
|
+
Collection.new(
|
157
|
+
body.data,
|
158
|
+
next_page: next_page,
|
159
|
+
prev_page: prev_page,
|
160
|
+
next_func: -> { agents_by_divisions(opt.merge(page: next_page)) },
|
161
|
+
prev_func: -> { agents_by_divisions(opt.merge(page: prev_page)) },
|
162
|
+
)
|
127
163
|
end
|
128
164
|
|
129
165
|
def agent(agent_id)
|
@@ -135,8 +171,19 @@ module Qismo
|
|
135
171
|
end
|
136
172
|
|
137
173
|
def wa_broadcast_templates(**opt)
|
138
|
-
body = get("/api/
|
139
|
-
|
174
|
+
body = get("/api/v3/admin/hsm", opt)
|
175
|
+
|
176
|
+
meta = body.meta
|
177
|
+
next_page = meta.page < meta.total_page ? (meta.page + 1) : nil
|
178
|
+
prev_page = meta.page > 1 ? (meta.page - 1) : nil
|
179
|
+
|
180
|
+
Collection.new(
|
181
|
+
body.data.hsm_templates,
|
182
|
+
next_page: next_page,
|
183
|
+
prev_page: prev_page,
|
184
|
+
next_func: -> { wa_broadcast_templates(opt.merge(page: next_page)) },
|
185
|
+
prev_func: -> { wa_broadcast_templates(opt.merge(page: prev_page)) },
|
186
|
+
)
|
140
187
|
end
|
141
188
|
|
142
189
|
def send_wa_outbound(**opt)
|
data/lib/qismo/client.rb
CHANGED
data/lib/qismo/model.rb
CHANGED
data/lib/qismo/version.rb
CHANGED