imperituroard 0.5.7 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/imperituroard.gemspec +2 -2
- data/lib/.DS_Store +0 -0
- data/lib/imperituroard.rb +63 -55
- data/lib/imperituroard/.DS_Store +0 -0
- data/lib/imperituroard/platforms/cps/cps_multiple_thread_req.rb +0 -0
- data/lib/imperituroard/platforms/staros/staros_automation.rb +95 -0
- data/lib/imperituroard/platforms/staros/staros_automation_fun.rb +37 -0
- data/lib/imperituroard/projects/iot.rb +190 -29
- data/lib/imperituroard/projects/iot/hua_oceanconnect_adapter.rb +51 -16
- data/lib/imperituroard/projects/iot/mongoconnector.rb +177 -2
- data/lib/imperituroard/projects/mhub.rb +2 -0
- data/lib/imperituroard/projects/mhub/sk.rb +171 -157
- data/lib/imperituroard/projects/mhub/subs/dabrab/dabrab_proced.rb +124 -12
- data/lib/imperituroard/projects/ukaz60.rb +4 -2
- data/lib/imperituroard/projects/ukaz60/belgim.rb +5 -1
- data/lib/imperituroard/projects/ukaz60/fortigate.rb +23 -0
- data/lib/imperituroard/projects/ukaz60/staros.rb +15 -0
- data/lib/imperituroard/projects/ukaz60/ukaz60_add_func.rb +12 -3
- data/lib/imperituroard/version.rb +1 -1
- metadata +8 -5
@@ -6,13 +6,14 @@ require 'rubygems'
|
|
6
6
|
require 'nokogiri'
|
7
7
|
require 'rails'
|
8
8
|
require "imperituroard/projects/iot/internal_functions"
|
9
|
+
require 'imperituroard/projects/iot/mongoconnector'
|
9
10
|
|
10
11
|
|
11
12
|
class HuaIot
|
12
13
|
|
13
|
-
attr_accessor :platformip, :platformport, :client, :database, :cert_file, :key_file, :internal_func
|
14
|
+
attr_accessor :platformip, :platformport, :client, :database, :cert_file, :key_file, :internal_func, :client_iot_mongo
|
14
15
|
|
15
|
-
def initialize(platformip, platformport, cert_file, key_file)
|
16
|
+
def initialize(platformip, platformport, cert_file, key_file, mongo_ip, mongo_port, mongo_database)
|
16
17
|
@database = database
|
17
18
|
@platformip = platformip
|
18
19
|
@platformport = platformport
|
@@ -21,6 +22,7 @@ class HuaIot
|
|
21
22
|
#client_host = [mongoip + ":" + mongoport]
|
22
23
|
#@client = Mongo::Client.new(client_host, :database => database)
|
23
24
|
@internal_func = InternalFunc.new
|
25
|
+
@client_iot_mongo = MongoIot.new(mongo_ip, mongo_port, mongo_database)
|
24
26
|
end
|
25
27
|
|
26
28
|
def parse_token(str)
|
@@ -72,6 +74,11 @@ class HuaIot
|
|
72
74
|
request.body = URI.encode_www_form(data)
|
73
75
|
res = https.request(request)
|
74
76
|
out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
|
77
|
+
fff = {:func => "get_token",
|
78
|
+
:iot_fun => "",
|
79
|
+
:req_header => {:content_type => 'application/x-www-form-urlencoded'
|
80
|
+
}}
|
81
|
+
client_iot_mongo.audit_iot_logger(fff, url_string, data, out_resp)
|
75
82
|
rescue
|
76
83
|
out_resp = {:code => 500, :message => "failed get token"}
|
77
84
|
end
|
@@ -104,6 +111,10 @@ class HuaIot
|
|
104
111
|
request.body = URI.encode_www_form(data)
|
105
112
|
res = https.request(request)
|
106
113
|
out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
|
114
|
+
fff = {:func => "token_logout",
|
115
|
+
:iot_fun => "logout"
|
116
|
+
}
|
117
|
+
client_iot_mongo.audit_iot_logger(fff, url_string, data, out_resp)
|
107
118
|
rescue
|
108
119
|
out_resp = {:code => 500, :message => "failed logout token"}
|
109
120
|
end
|
@@ -129,7 +140,6 @@ class HuaIot
|
|
129
140
|
request['app_key'] = app_id
|
130
141
|
request.body = {nodeId: node_id}.to_json
|
131
142
|
res = https.request(request)
|
132
|
-
p res.body.to_s
|
133
143
|
{:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
|
134
144
|
end
|
135
145
|
|
@@ -157,13 +167,18 @@ class HuaIot
|
|
157
167
|
manufacturerName: manufacturer_name,
|
158
168
|
model: model,
|
159
169
|
isSecurity: "FALSE",
|
160
|
-
supportedSecurity: "FALSE"}}
|
170
|
+
supportedSecurity: "FALSE"}}
|
161
171
|
internal_func.printer_texter({:procedure => "dev_register_passw_code_mode2", :data => {:body => data_out, :url => url_string}}, "debug")
|
162
|
-
request.body = data_out
|
172
|
+
request.body = data_out.to_json
|
163
173
|
res = https.request(request)
|
164
|
-
p res.body.to_s
|
165
174
|
out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
|
166
|
-
|
175
|
+
fff = {:func => "dev_register_passw_code_mode2",
|
176
|
+
:iot_fun => "2.2.4",
|
177
|
+
:req_header => {:authorization => 'Bearer ' + token,
|
178
|
+
:content_type => 'application/json',
|
179
|
+
:app_key => app_id
|
180
|
+
}}
|
181
|
+
client_iot_mongo.audit_iot_logger(fff, url_string, data_out, out_resp)
|
167
182
|
out_resp
|
168
183
|
end
|
169
184
|
|
@@ -213,18 +228,21 @@ class HuaIot
|
|
213
228
|
request['Authorization'] = 'Bearer ' + token
|
214
229
|
request['app_key'] = app_id
|
215
230
|
res = https.request(request)
|
216
|
-
p "res.code"
|
217
|
-
p res.code
|
218
|
-
p res.body
|
219
231
|
if res.body != nil
|
220
232
|
out_resp = {:code => res.code, :message => res.message, :body => {:answ => JSON.parse(res.body.to_s)}}
|
221
233
|
else
|
222
234
|
out_resp = {:code => res.code, :message => res.message, :body => {:answ => "no data"}}
|
223
235
|
end
|
236
|
+
fff = {:func => "dev_delete",
|
237
|
+
:iot_fun => "2.2.12",
|
238
|
+
:req_header => {:authorization => 'Bearer ' + token,
|
239
|
+
:content_type => 'application/json',
|
240
|
+
:app_key => app_id
|
241
|
+
}}
|
242
|
+
client_iot_mongo.audit_iot_logger(fff, url_string, "Delete", out_resp)
|
224
243
|
rescue
|
225
244
|
out_resp = {:code => 500, :message => "dev_delete: Unknown IOT error"}
|
226
245
|
end
|
227
|
-
p out_resp
|
228
246
|
out_resp
|
229
247
|
end
|
230
248
|
|
@@ -295,6 +313,7 @@ class HuaIot
|
|
295
313
|
|
296
314
|
#2.9.6 Querying Directly Connected Devices and Their Mounted Devices in Batches
|
297
315
|
def querying_device_direct_conn(app_id, secret, dev_list)
|
316
|
+
output_str = {}
|
298
317
|
token = get_token(app_id, secret)[:body]["accessToken"]
|
299
318
|
path = "/iocm/app/dm/v1.1.0/queryDevicesByIds"
|
300
319
|
url_string = "https://" + platformip + ":" + platformport + path
|
@@ -308,9 +327,18 @@ class HuaIot
|
|
308
327
|
request.content_type = 'application/json'
|
309
328
|
request['Authorization'] = 'Bearer ' + token
|
310
329
|
request['app_key'] = app_id
|
311
|
-
|
330
|
+
req_body = {deviceIds: dev_list}
|
331
|
+
request.body = req_body.to_json
|
312
332
|
res = https.request(request)
|
313
|
-
{:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
|
333
|
+
output_str = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
|
334
|
+
fff = {:func => "querying_device_direct_conn",
|
335
|
+
:iot_fun => "2.9.6",
|
336
|
+
:req_header => {:authorization => 'Bearer ' + token,
|
337
|
+
:content_type => 'application/json',
|
338
|
+
:app_key => app_id
|
339
|
+
}}
|
340
|
+
client_iot_mongo.audit_iot_logger(fff, url_string, req_body, output_str)
|
341
|
+
output_str
|
314
342
|
end
|
315
343
|
|
316
344
|
|
@@ -364,7 +392,7 @@ class HuaIot
|
|
364
392
|
begin
|
365
393
|
path = "/iocm/app/dm/v1.4.0/devices/" + dev_id + "?app_Id=" + app_id
|
366
394
|
url_string = "https://" + platformip + ":" + platformport + path
|
367
|
-
internal_func.printer_texter({:url_string=>url_string, :procedure=>"dev_modify_location_v2"}, "debug")
|
395
|
+
internal_func.printer_texter({:url_string => url_string, :procedure => "dev_modify_location_v2"}, "debug")
|
368
396
|
uri = URI.parse url_string
|
369
397
|
https = Net::HTTP.new(uri.host, uri.port)
|
370
398
|
https.use_ssl = true
|
@@ -375,7 +403,8 @@ class HuaIot
|
|
375
403
|
request.content_type = 'application/json'
|
376
404
|
request['Authorization'] = 'Bearer ' + token
|
377
405
|
request['app_key'] = app_id
|
378
|
-
|
406
|
+
req_b = {location: address}
|
407
|
+
request.body = req_b.to_json
|
379
408
|
res = https.request(request)
|
380
409
|
p res.code
|
381
410
|
p res.body
|
@@ -384,6 +413,13 @@ class HuaIot
|
|
384
413
|
else
|
385
414
|
out_resp = {:code => res.code, :message => res.message, :body => {:answ => "no data"}}
|
386
415
|
end
|
416
|
+
fff = {:func => "dev_modify_location_v2",
|
417
|
+
:iot_fun => "2.2.11",
|
418
|
+
:req_header => {:authorization => 'Bearer ' + token,
|
419
|
+
:content_type => 'application/json',
|
420
|
+
:app_key => app_id
|
421
|
+
}}
|
422
|
+
client_iot_mongo.audit_iot_logger(fff, url_string, req_b, out_resp)
|
387
423
|
rescue
|
388
424
|
out_resp = {:code => 500, :message => "dev_modify_location_v2: Unknown IOT error"}
|
389
425
|
end
|
@@ -392,7 +428,6 @@ class HuaIot
|
|
392
428
|
end
|
393
429
|
|
394
430
|
|
395
|
-
|
396
431
|
##2.10.7 Adding Members to a Device Group
|
397
432
|
|
398
433
|
|
@@ -41,6 +41,30 @@ class MongoIot
|
|
41
41
|
out_resp
|
42
42
|
end
|
43
43
|
|
44
|
+
def audit_iot_logger(proc_name, url_str, input_json, output_json)
|
45
|
+
out_resp = {}
|
46
|
+
p "iiiiiiiot"
|
47
|
+
p input_json
|
48
|
+
begin
|
49
|
+
current = internal_func.datetimenow
|
50
|
+
collection = client[:audit_iot_platform]
|
51
|
+
doc = {
|
52
|
+
:proc_name => proc_name,
|
53
|
+
:date => current,
|
54
|
+
:url => url_str,
|
55
|
+
:iot_platform_request => input_json,
|
56
|
+
:iot_platform_responce => output_json
|
57
|
+
}
|
58
|
+
p doc
|
59
|
+
result = collection.insert_one(doc)
|
60
|
+
out_resp = {:code => 200, :result => "audit_logger: Request completed successfully", :body => result}
|
61
|
+
rescue
|
62
|
+
out_resp = {:code => 507, :result => "audit_logger: Unknown SDK error"}
|
63
|
+
end
|
64
|
+
internal_func.printer_texter(out_resp, "debug")
|
65
|
+
out_resp
|
66
|
+
end
|
67
|
+
|
44
68
|
#:code => 507, :result => "Unknown SDK error"
|
45
69
|
#{:code => 200, :result => "Request completed successfully", :body => result_ps}
|
46
70
|
def get_profiles_by_login(login)
|
@@ -364,6 +388,7 @@ class MongoIot
|
|
364
388
|
|
365
389
|
def get_profile_name_from_imei(imei)
|
366
390
|
out_resp = {}
|
391
|
+
info = {}
|
367
392
|
begin
|
368
393
|
id = ""
|
369
394
|
begin
|
@@ -387,7 +412,7 @@ class MongoIot
|
|
387
412
|
end
|
388
413
|
begin
|
389
414
|
if res["profile"]!=nil
|
390
|
-
out_resp = {:code => 200, :result => "get_profile_name_from_imei: Request completed successfully", :body => res}
|
415
|
+
out_resp = {:code => 200, :result => "get_profile_name_from_imei: Request completed successfully", :body => res, :imei_info => info}
|
391
416
|
end
|
392
417
|
rescue
|
393
418
|
out_resp = {:code => 506, :result => "get_profile_name_from_imei: Function get_profile_name_by_id not processed correctly and returned: #{res.to_s}"}
|
@@ -523,5 +548,155 @@ class MongoIot
|
|
523
548
|
out_resp
|
524
549
|
end
|
525
550
|
|
551
|
+
def get_device_type_info_universal(device_model)
|
552
|
+
out_resp = {}
|
553
|
+
begin
|
554
|
+
as = internal_func.if_digit_or_string(device_model)
|
555
|
+
|
556
|
+
if as[:body][:string]
|
557
|
+
result_ps = []
|
558
|
+
collection = client[:device_types]
|
559
|
+
collection.find({"model" => device_model}).each {|row|
|
560
|
+
result_ps.append(row)
|
561
|
+
}
|
562
|
+
dattaa = result_ps[0]
|
563
|
+
if dattaa!=nil
|
564
|
+
out_resp = {:code => 200, :result => "get_device_type_info_by_model: Request completed successfully", :body => dattaa}
|
565
|
+
else
|
566
|
+
out_resp = {:code => 404, :result => "get_device_type_info_by_model: Device info not found", :body => {"model" => device_model, "ManufacturerID" => "unknown", "ManufacturerNAME" => "unknown", "device_type" => "unknown"}}
|
567
|
+
end
|
568
|
+
else
|
569
|
+
result_ps2 = []
|
570
|
+
collection = client[:device_types]
|
571
|
+
collection.find({"type_id" => device_model.to_i}).each {|row|
|
572
|
+
result_ps2.append(row)
|
573
|
+
}
|
574
|
+
dattaa = result_ps2[0]
|
575
|
+
if dattaa!=nil
|
576
|
+
out_resp = {:code => 200, :result => "get_device_type_info_by_model: Request completed successfully", :body => dattaa}
|
577
|
+
else
|
578
|
+
out_resp = {:code => 404, :result => "get_device_type_info_by_model: Device info not found", :body => {"model" => device_model, "ManufacturerID" => "unknown", "ManufacturerNAME" => "unknown", "device_type" => "unknown"}}
|
579
|
+
end
|
580
|
+
end
|
581
|
+
|
582
|
+
rescue
|
583
|
+
out_resp = {:code => 500, :result => "get_device_type_info_universal: procedure error", :body => {"model" => device_model, "ManufacturerID" => "unknown", "ManufacturerNAME" => "unknown", "device_type" => "unknown"}}
|
584
|
+
end
|
585
|
+
internal_func.printer_texter(out_resp, "debug")
|
586
|
+
out_resp
|
587
|
+
end
|
588
|
+
|
589
|
+
|
590
|
+
|
591
|
+
def compare_profiles(profile1, profile2)
|
592
|
+
out_answ = {}
|
593
|
+
ch1 = internal_func.if_digit_or_string(profile1)
|
594
|
+
ch2 = internal_func.if_digit_or_string(profile2)
|
595
|
+
if ch1[:body][:string] == ch2[:body][:string] && ch1[:body][:string] == false
|
596
|
+
if profile1.to_i == profile2.to_i
|
597
|
+
out_answ = {:code => 200, :result => "compare_profiles: profiles are the same", :is_the_same => true, :data_type => "integer"}
|
598
|
+
else
|
599
|
+
out_answ = {:code => 200, :result => "compare_profiles: profiles are different", :is_the_same => false, :data_type => "integer"}
|
600
|
+
end
|
601
|
+
elsif ch1[:body][:string] == ch2[:body][:string] && ch1[:body][:string] == true
|
602
|
+
if profile1 == profile2
|
603
|
+
out_answ = {:code => 200, :result => "compare_profiles: profiles are the same", :is_the_same => true, :data_type => "string"}
|
604
|
+
else
|
605
|
+
out_answ = {:code => 200, :result => "compare_profiles: profiles are different", :is_the_same => false, :data_type => "string"}
|
606
|
+
end
|
607
|
+
else
|
608
|
+
ch1_data = {}
|
609
|
+
ch2_data = {}
|
610
|
+
if ch1[:body][:string]
|
611
|
+
ch1_data = self.get_profile_id_by_name(profile1)
|
612
|
+
else
|
613
|
+
ch1_data = self.get_profile_name_by_id(profile1.to_i)
|
614
|
+
end
|
615
|
+
|
616
|
+
if ch2[:body][:string]
|
617
|
+
ch2_data = self.get_profile_id_by_name(profile2)
|
618
|
+
else
|
619
|
+
ch2_data = self.get_profile_name_by_id(profile2.to_i)
|
620
|
+
end
|
621
|
+
|
622
|
+
if ch1_data["profile_id"] == ch2_data["profile_id"]
|
623
|
+
out_answ = {:code => 200, :result => "compare_profiles: profiles are the same", :is_the_same => true, :data_type => "different"}
|
624
|
+
else
|
625
|
+
out_answ = {:code => 200, :result => "compare_profiles: profiles are different", :is_the_same => false, :data_type => "different"}
|
626
|
+
end
|
627
|
+
end
|
628
|
+
out_answ
|
629
|
+
end
|
630
|
+
|
631
|
+
def compare_device_types(type1, type2)
|
632
|
+
out_answ = {}
|
633
|
+
tp1 = internal_func.if_digit_or_string(type1)
|
634
|
+
tp2 = internal_func.if_digit_or_string(type2)
|
635
|
+
|
636
|
+
if tp1[:body][:string] == tp2[:body][:string] && tp1[:body][:string] == false
|
637
|
+
if type1.to_i == type2.to_i
|
638
|
+
out_answ = {:code => 200, :result => "compare_device_types: types are the same", :is_the_same => true, :data_type => "integer"}
|
639
|
+
else
|
640
|
+
out_answ = {:code => 200, :result => "compare_device_types: types are different", :is_the_same => false, :data_type => "integer"}
|
641
|
+
end
|
642
|
+
elsif tp1[:body][:string] == tp2[:body][:string] && tp1[:body][:string] == true
|
643
|
+
if type1 == type2
|
644
|
+
out_answ = {:code => 200, :result => "compare_device_types: types are the same", :is_the_same => true, :data_type => "string"}
|
645
|
+
else
|
646
|
+
out_answ = {:code => 200, :result => "compare_device_types: types are different", :is_the_same => false, :data_type => "string"}
|
647
|
+
end
|
648
|
+
else
|
649
|
+
tp1_data = {}
|
650
|
+
tp2_data = {}
|
651
|
+
if tp1[:body][:string]
|
652
|
+
tp1_data = self.get_type_by_name(type1)
|
653
|
+
else
|
654
|
+
tp1_data = self.get_type_by_id(type1.to_i)
|
655
|
+
end
|
656
|
+
|
657
|
+
if tp2[:body][:string]
|
658
|
+
tp2_data = self.get_type_by_name(type2)
|
659
|
+
else
|
660
|
+
tp2_data = self.get_type_by_id(type2.to_i)
|
661
|
+
end
|
662
|
+
|
663
|
+
if tp1_data["type_id"] == tp2_data["type_id"]
|
664
|
+
out_answ = {:code => 200, :result => "compare_device_types: profiles are the same", :is_the_same => true, :data_type => "different"}
|
665
|
+
else
|
666
|
+
out_answ = {:code => 200, :result => "compare_device_types: profiles are different", :is_the_same => false, :data_type => "different"}
|
667
|
+
end
|
668
|
+
end
|
669
|
+
out_answ
|
670
|
+
end
|
671
|
+
|
672
|
+
|
673
|
+
def get_profile_universal(profile)
|
674
|
+
inn = internal_func.if_digit_or_string(profile)
|
675
|
+
out = {}
|
676
|
+
if inn[:body][:string]
|
677
|
+
out = self.get_profile_id_by_name(profile)
|
678
|
+
else
|
679
|
+
out = self.get_profile_name_by_id(profile.to_i)
|
680
|
+
end
|
681
|
+
out
|
682
|
+
end
|
683
|
+
|
684
|
+
def modify_attr_mongo_universal(imei, attribute)
|
685
|
+
out_resp = {}
|
686
|
+
begin
|
687
|
+
collection = client[:device_imei]
|
688
|
+
doc = {
|
689
|
+
"imei" => imei
|
690
|
+
}
|
691
|
+
sett = {'$set' => attribute}
|
692
|
+
result = collection.update_one(doc, sett)
|
693
|
+
out_resp = {:code => 200, :result => "modify_attr_mongo_universal: Request completed successfully"}
|
694
|
+
rescue
|
695
|
+
out_resp = {:code => 507, :result => "modify_attr_mongo_universal: Unknown SDK error"}
|
696
|
+
end
|
697
|
+
internal_func.printer_texter(out_resp, "debug")
|
698
|
+
out_resp
|
699
|
+
end
|
700
|
+
|
701
|
+
end
|
526
702
|
|
527
|
-
end
|
@@ -51,6 +51,7 @@ class MhubFunctions_2
|
|
51
51
|
# "notifyContentType"=>"application/json"}}
|
52
52
|
|
53
53
|
|
54
|
+
#for bank dabrabyt
|
54
55
|
def get_send_message_2(params, ip_src, ip_real, ip_vip)
|
55
56
|
|
56
57
|
input_params = {:params => params}
|
@@ -123,6 +124,7 @@ class MhubFunctions_2
|
|
123
124
|
end
|
124
125
|
|
125
126
|
|
127
|
+
#for bank dabrabyt
|
126
128
|
def rec_deliv_report_2(params, ip_src, ip_real, ip_vip)
|
127
129
|
input_params = {:params => params, :ip_src => ip_src, :ip_real => ip_real, :ip_vip => ip_vip}
|
128
130
|
output_params = {}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'imperituroard/projects/iot/internal_functions'
|
2
|
+
require 'imperituroard/projects/mhub/subs/dabrab/dabrab_proced'
|
2
3
|
|
3
4
|
class Sksk_2
|
4
5
|
|
5
|
-
attr_accessor :sk_url, :sk_url_broadcast, :sk_login, :sk_password, :internal_func, :telegram_connector
|
6
|
+
attr_accessor :sk_url, :sk_url_broadcast, :sk_login, :sk_password, :internal_func, :telegram_connector, :dabrab_add_func
|
6
7
|
|
7
8
|
def initialize(sk_url, sk_login, sk_password, sk_url_broadcast, telegram_api_url, telegram_chat_id)
|
8
9
|
@sk_url = sk_url
|
@@ -11,6 +12,7 @@ class Sksk_2
|
|
11
12
|
@internal_func = InternalFunc.new
|
12
13
|
@sk_url_broadcast = sk_url_broadcast
|
13
14
|
@telegram_connector = Telegram_2.new(telegram_api_url, telegram_chat_id)
|
15
|
+
@dabrab_add_func = Dabrab.new
|
14
16
|
end
|
15
17
|
|
16
18
|
|
@@ -82,50 +84,49 @@ class Sksk_2
|
|
82
84
|
request_message = {}
|
83
85
|
|
84
86
|
begin
|
85
|
-
|
86
87
|
thr_sk_send_viber_one = Thread.new do
|
88
|
+
viber_mess_ans = dabrab_add_func.dabrabyt_text_field_parse(text)
|
89
|
+
|
90
|
+
if viber_mess_ans[:code] == 200
|
91
|
+
uri = URI(sk_url)
|
92
|
+
#8 - client id
|
93
|
+
|
94
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
95
|
+
https.use_ssl=true
|
96
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
97
|
+
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
98
|
+
|
99
|
+
req.basic_auth sk_login, sk_password
|
100
|
+
|
101
|
+
req["Content-Type"] = "application/json"
|
102
|
+
req["Accept"] = "application/json"
|
103
|
+
|
104
|
+
request_message = {
|
105
|
+
"phone_number": msisdn,
|
106
|
+
#"extra_id": "4232j4h89932kjhs",
|
107
|
+
"callback_url": callback_url,
|
108
|
+
#"start_time": "2019-08-16 09:59:10",
|
109
|
+
"tag": "Dabrab_custom_api_1",
|
110
|
+
"channels": [
|
111
|
+
"viber"
|
112
|
+
],
|
113
|
+
"channel_options": {
|
114
|
+
"viber": viber_mess_ans[:body][:to_sk_format]
|
115
|
+
}
|
116
|
+
}
|
117
|
+
req.body = request_message.to_json
|
118
|
+
res = https.request(req)
|
119
|
+
output_params = {:code => 200,
|
120
|
+
:result => "Sksk_2.sk_send_viber_one: Request processed",
|
121
|
+
:body => {:request_message => request_message,
|
122
|
+
:res_code => res.code,
|
123
|
+
:res_body => JSON.parse(res.body.to_s)}}
|
124
|
+
|
125
|
+
else
|
126
|
+
output_params = {:code => 508, :result => "Sksk_2.sk_send_viber_one: Something wrong with dabrabyt_text_field_parse"}
|
127
|
+
end
|
87
128
|
|
88
129
|
|
89
|
-
uri = URI(sk_url)
|
90
|
-
#8 - client id
|
91
|
-
|
92
|
-
https = Net::HTTP.new(uri.host, uri.port)
|
93
|
-
https.use_ssl=true
|
94
|
-
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
95
|
-
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
96
|
-
|
97
|
-
req.basic_auth sk_login, sk_password
|
98
|
-
|
99
|
-
req["Content-Type"] = "application/json"
|
100
|
-
req["Accept"] = "application/json"
|
101
|
-
|
102
|
-
request_message = {
|
103
|
-
"phone_number": msisdn,
|
104
|
-
#"extra_id": "4232j4h89932kjhs",
|
105
|
-
"callback_url": callback_url,
|
106
|
-
#"start_time": "2019-08-16 09:59:10",
|
107
|
-
"tag": "Dabrab_custom_api_1",
|
108
|
-
"channels": [
|
109
|
-
"viber"
|
110
|
-
],
|
111
|
-
"channel_options": {
|
112
|
-
"viber": {
|
113
|
-
"text": text,
|
114
|
-
"ttl": 60,
|
115
|
-
# "img": "http://olddogs.org/logo.png",
|
116
|
-
# "caption": "Old Dogs need you!",
|
117
|
-
# "action": "http://olddogs.org",
|
118
|
-
},
|
119
|
-
}
|
120
|
-
}
|
121
|
-
req.body = request_message.to_json
|
122
|
-
res = https.request(req)
|
123
|
-
output_params = {:code => 200,
|
124
|
-
:result => "Sksk_2.sk_send_viber_one: Request processed",
|
125
|
-
:body => {:request_message => request_message,
|
126
|
-
:res_code => res.code,
|
127
|
-
:res_body => JSON.parse(res.body.to_s)}}
|
128
|
-
|
129
130
|
end
|
130
131
|
|
131
132
|
thr_sk_send_viber_one.join
|
@@ -149,53 +150,54 @@ class Sksk_2
|
|
149
150
|
|
150
151
|
thr_sk_send_viber_sms_one = Thread.new do
|
151
152
|
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
153
|
+
viber_mess_ans = dabrab_add_func.dabrabyt_text_field_parse(viber_txt)
|
154
|
+
|
155
|
+
if viber_mess_ans[:code] == 200
|
156
|
+
uri = URI(sk_url)
|
157
|
+
#8 - client id
|
158
|
+
|
159
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
160
|
+
https.use_ssl=true
|
161
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
162
|
+
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
163
|
+
|
164
|
+
req.basic_auth sk_login, sk_password
|
165
|
+
|
166
|
+
req["Content-Type"] = "application/json"
|
167
|
+
req["Accept"] = "application/json"
|
168
|
+
|
169
|
+
request_message = {
|
170
|
+
"phone_number": msisdn,
|
171
|
+
#"extra_id": "4232j4h89932kjhs",
|
172
|
+
"callback_url": callback_url,
|
173
|
+
#"start_time": "2019-08-16 09:59:10",
|
174
|
+
"tag": "Dabrab_custom_api_1",
|
175
|
+
"channels": [
|
176
|
+
"viber",
|
177
|
+
"sms"
|
178
|
+
],
|
179
|
+
"channel_options": {
|
180
|
+
"sms": {
|
181
|
+
"text": sms_text,
|
182
|
+
"alpha_name": alphaname,
|
183
|
+
"ttl": 600
|
184
|
+
},
|
185
|
+
"viber": viber_mess_ans[:body][:to_sk_format]
|
186
|
+
}
|
187
|
+
}
|
188
|
+
|
189
|
+
req.body = request_message.to_json
|
190
|
+
res = https.request(req)
|
191
|
+
|
192
|
+
output_params = {:code => 200,
|
193
|
+
:result => "Sksk_2.sk_send_viber_sms_one: Request processed",
|
194
|
+
:body => {:request_message => request_message,
|
195
|
+
:res_code => res.code,
|
196
|
+
:res_body => JSON.parse(res.body.to_s)}}
|
197
|
+
|
198
|
+
else
|
199
|
+
output_params = {:code => 508, :result => "Sksk_2.sk_send_viber_sms_one: Something wrong with dabrabyt_text_field_parse"}
|
200
|
+
end
|
199
201
|
|
200
202
|
end
|
201
203
|
|
@@ -281,44 +283,49 @@ class Sksk_2
|
|
281
283
|
begin
|
282
284
|
|
283
285
|
thr_sk_send_viber_list = Thread.new do
|
284
|
-
uri = URI(sk_url_broadcast)
|
285
|
-
#8 - client id
|
286
286
|
|
287
|
-
|
288
|
-
https.use_ssl = true
|
289
|
-
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
290
|
-
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
287
|
+
viber_mess_ans = dabrab_add_func.dabrabyt_text_field_parse(text)
|
291
288
|
|
292
|
-
|
293
|
-
|
289
|
+
if viber_mess_ans[:code] == 200
|
290
|
+
uri = URI(sk_url_broadcast)
|
291
|
+
#8 - client id
|
294
292
|
|
295
|
-
|
293
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
294
|
+
https.use_ssl = true
|
295
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
296
|
+
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
296
297
|
|
298
|
+
req["Content-Type"] = "application/json"
|
299
|
+
req["Accept"] = "application/json"
|
297
300
|
|
298
|
-
|
299
|
-
request_message = {
|
300
|
-
"recipients": msisdn_list,
|
301
|
-
"callback_url": callback_url,
|
302
|
-
"tag": "Dabrab_custom_api_1",
|
303
|
-
"channels": [
|
304
|
-
"viber"
|
305
|
-
],
|
306
|
-
"channel_options": {
|
307
|
-
"viber": {
|
308
|
-
"text": text,
|
309
|
-
"ttl": 60
|
310
|
-
}
|
311
|
-
}
|
312
|
-
}
|
301
|
+
req.basic_auth sk_login, sk_password
|
313
302
|
|
314
|
-
req.body = request_message.to_json
|
315
|
-
res = https.request(req)
|
316
303
|
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
304
|
+
# [{"phone_number": 375298766719}, {"phone_number": 375295730878}]
|
305
|
+
request_message = {
|
306
|
+
"recipients": msisdn_list,
|
307
|
+
"callback_url": callback_url,
|
308
|
+
"tag": "Dabrab_custom_api_1",
|
309
|
+
"channels": [
|
310
|
+
"viber"
|
311
|
+
],
|
312
|
+
"channel_options": {
|
313
|
+
"viber": viber_mess_ans[:body][:to_sk_format]
|
314
|
+
}
|
315
|
+
}
|
316
|
+
|
317
|
+
req.body = request_message.to_json
|
318
|
+
res = https.request(req)
|
319
|
+
|
320
|
+
output_params = {:code => 200,
|
321
|
+
:result => "Sksk_2.sk_send_viber_list: Request processed",
|
322
|
+
:body => {:request_message => request_message,
|
323
|
+
:res_code => res.code,
|
324
|
+
:res_body => JSON.parse(res.body.to_s)}}
|
325
|
+
else
|
326
|
+
output_params = {:code => 508, :result => "Sksk_2.sk_send_viber_list: Something wrong with dabrabyt_text_field_parse"}
|
327
|
+
end
|
328
|
+
|
322
329
|
end
|
323
330
|
thr_sk_send_viber_list.join
|
324
331
|
rescue
|
@@ -337,50 +344,57 @@ class Sksk_2
|
|
337
344
|
|
338
345
|
begin
|
339
346
|
thr_sk_send_viber_sms_list = Thread.new do
|
340
|
-
uri = URI(sk_url_broadcast)
|
341
|
-
#8 - client id
|
342
347
|
|
343
|
-
|
344
|
-
https.use_ssl = true
|
345
|
-
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
346
|
-
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
348
|
+
viber_mess_ans = dabrab_add_func.dabrabyt_text_field_parse(viber_text)
|
347
349
|
|
348
|
-
|
350
|
+
if viber_mess_ans[:code] == 200
|
349
351
|
|
352
|
+
uri = URI(sk_url_broadcast)
|
353
|
+
#8 - client id
|
350
354
|
|
351
|
-
|
352
|
-
|
355
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
356
|
+
https.use_ssl = true
|
357
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
358
|
+
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
353
359
|
|
354
|
-
|
355
|
-
request_message = {
|
356
|
-
"recipients": msisdn_list,
|
357
|
-
"callback_url": callback_url,
|
358
|
-
"tag": "Dabrab_custom_api_1",
|
359
|
-
"channels": [
|
360
|
-
"viber",
|
361
|
-
"sms"
|
362
|
-
],
|
363
|
-
"channel_options": {
|
364
|
-
"sms": {
|
365
|
-
"alpha_name": alphaname,
|
366
|
-
"text": sms_text,
|
367
|
-
"ttl": 60
|
368
|
-
},
|
369
|
-
"viber": {
|
370
|
-
"text": viber_text,
|
371
|
-
"ttl": 60
|
372
|
-
}
|
373
|
-
}
|
374
|
-
}
|
360
|
+
req.basic_auth sk_login, sk_password
|
375
361
|
|
376
|
-
req.body = request_message.to_json
|
377
|
-
res = https.request(req)
|
378
362
|
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
363
|
+
req["Content-Type"] = "application/json"
|
364
|
+
req["Accept"] = "application/json"
|
365
|
+
|
366
|
+
# [{"phone_number": 375298766719}, {"phone_number": 375295730878}]
|
367
|
+
request_message = {
|
368
|
+
"recipients": msisdn_list,
|
369
|
+
"callback_url": callback_url,
|
370
|
+
"tag": "Dabrab_custom_api_1",
|
371
|
+
"channels": [
|
372
|
+
"viber",
|
373
|
+
"sms"
|
374
|
+
],
|
375
|
+
"channel_options": {
|
376
|
+
"sms": {
|
377
|
+
"alpha_name": alphaname,
|
378
|
+
"text": sms_text,
|
379
|
+
"ttl": 60
|
380
|
+
},
|
381
|
+
"viber": viber_mess_ans[:body][:to_sk_format]
|
382
|
+
}
|
383
|
+
}
|
384
|
+
|
385
|
+
req.body = request_message.to_json
|
386
|
+
res = https.request(req)
|
387
|
+
|
388
|
+
output_params = {:code => 200,
|
389
|
+
:result => "Sksk_2.sk_send_viber_sms_list: Request processed",
|
390
|
+
:body => {:request_message => request_message,
|
391
|
+
:res_code => res.code,
|
392
|
+
:res_body => JSON.parse(res.body.to_s)}}
|
393
|
+
|
394
|
+
else
|
395
|
+
output_params = {:code => 508, :result => "Sksk_2.sk_send_viber_sms_list: Something wrong with dabrabyt_text_field_parse"}
|
396
|
+
end
|
397
|
+
|
384
398
|
end
|
385
399
|
|
386
400
|
thr_sk_send_viber_sms_list.join
|