telerivet 1.0.4 → 1.1.0
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/lib/telerivet.rb +26 -8
- data/lib/telerivet/contact.rb +1 -1
- data/lib/telerivet/datatable.rb +18 -4
- data/lib/telerivet/entity.rb +7 -9
- data/lib/telerivet/message.rb +2 -2
- data/lib/telerivet/project.rb +213 -20
- data/lib/telerivet/route.rb +57 -0
- data/lib/telerivet/scheduledmessage.rb +1 -1
- data/lib/telerivet/service.rb +3 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 318bae0777cbacdccba67044f107f9f2a468b6d5
|
4
|
+
data.tar.gz: 005116ddbd32e76a91feafe5794ff3f13ec3503b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a6de21710242c4db07004bd23ba4ee6730457a4c03389d34e5bc1d92b4e15fb953003319198e61dd923b20c2a9a1abbfe741109e5cdc156e0dfd07742a760b2
|
7
|
+
data.tar.gz: cd1d5bf58e26fe7e3b5fe6cde3b4152ff8e8d515437fb24cec4440198bf42161d7acb019b252266f4bfa51a535495e76bc56d0b090993e682bee2dfc56b37d9c
|
data/lib/telerivet.rb
CHANGED
@@ -5,13 +5,10 @@ require_relative 'telerivet/apicursor'
|
|
5
5
|
|
6
6
|
module Telerivet
|
7
7
|
|
8
|
-
#
|
9
|
-
#
|
10
|
-
#
|
11
8
|
class API
|
12
9
|
attr_reader :num_requests
|
13
10
|
|
14
|
-
@@client_version = '1.0
|
11
|
+
@@client_version = '1.1.0'
|
15
12
|
|
16
13
|
#
|
17
14
|
# Initializes a client handle to the Telerivet REST API.
|
@@ -89,7 +86,7 @@ class API
|
|
89
86
|
return res
|
90
87
|
end
|
91
88
|
end
|
92
|
-
|
89
|
+
|
93
90
|
#
|
94
91
|
# Retrieves the Telerivet project with the given ID.
|
95
92
|
#
|
@@ -103,9 +100,25 @@ class API
|
|
103
100
|
#
|
104
101
|
def get_project_by_id(id)
|
105
102
|
require_relative 'telerivet/project'
|
106
|
-
Project.new(self,
|
103
|
+
Project.new(self, self.do_request("GET", get_base_api_path() + "/projects/#{id}"))
|
107
104
|
end
|
108
|
-
|
105
|
+
|
106
|
+
#
|
107
|
+
# Initializes the Telerivet project with the given ID without making an API request.
|
108
|
+
#
|
109
|
+
# Arguments:
|
110
|
+
# - id
|
111
|
+
# * ID of the project -- see <https://telerivet.com/dashboard/api>
|
112
|
+
# * Required
|
113
|
+
#
|
114
|
+
# Returns:
|
115
|
+
# Telerivet::Project
|
116
|
+
#
|
117
|
+
def init_project_by_id(id)
|
118
|
+
require_relative 'telerivet/project'
|
119
|
+
return Project.new(self, {'id' => id}, false)
|
120
|
+
end
|
121
|
+
|
109
122
|
#
|
110
123
|
# Queries projects accessible to the current user account.
|
111
124
|
#
|
@@ -140,8 +153,13 @@ class API
|
|
140
153
|
#
|
141
154
|
def query_projects(options = nil)
|
142
155
|
require_relative 'telerivet/project'
|
143
|
-
cursor(Project,
|
156
|
+
self.cursor(Project, get_base_api_path() + "/projects", options)
|
157
|
+
end
|
158
|
+
|
159
|
+
def get_base_api_path()
|
160
|
+
""
|
144
161
|
end
|
162
|
+
|
145
163
|
|
146
164
|
def cursor(item_cls, path, options)
|
147
165
|
APICursor.new(self, item_cls, path, options)
|
data/lib/telerivet/contact.rb
CHANGED
data/lib/telerivet/datatable.rb
CHANGED
@@ -4,8 +4,8 @@ module Telerivet
|
|
4
4
|
#
|
5
5
|
# Represents a custom data table that can store arbitrary rows.
|
6
6
|
#
|
7
|
-
# For example, poll services use data tables to store a row for each
|
8
|
-
#
|
7
|
+
# For example, poll services use data tables to store a row for each
|
8
|
+
# response.
|
9
9
|
#
|
10
10
|
# DataTables are schemaless -- each row simply stores custom variables. Each
|
11
11
|
# variable name is equivalent to a different "column" of the data table.
|
@@ -103,8 +103,6 @@ class DataTable < Entity
|
|
103
103
|
#
|
104
104
|
# Retrieves the row in the given table with the given ID.
|
105
105
|
#
|
106
|
-
# Note: This does not make any API requests until you access a property of the DataRow.
|
107
|
-
#
|
108
106
|
# Arguments:
|
109
107
|
# - id
|
110
108
|
# * ID of the row
|
@@ -114,6 +112,22 @@ class DataTable < Entity
|
|
114
112
|
# Telerivet::DataRow
|
115
113
|
#
|
116
114
|
def get_row_by_id(id)
|
115
|
+
require_relative 'datarow'
|
116
|
+
DataRow.new(@api, @api.do_request("GET", get_base_api_path() + "/rows/#{id}"))
|
117
|
+
end
|
118
|
+
|
119
|
+
#
|
120
|
+
# Initializes the row in the given table with the given ID, without making an API request.
|
121
|
+
#
|
122
|
+
# Arguments:
|
123
|
+
# - id
|
124
|
+
# * ID of the row
|
125
|
+
# * Required
|
126
|
+
#
|
127
|
+
# Returns:
|
128
|
+
# Telerivet::DataRow
|
129
|
+
#
|
130
|
+
def init_row_by_id(id)
|
117
131
|
require_relative 'datarow'
|
118
132
|
return DataRow.new(@api, {'project_id' => self.project_id, 'table_id' => self.id, 'id' => id}, false)
|
119
133
|
end
|
data/lib/telerivet/entity.rb
CHANGED
@@ -21,11 +21,13 @@ class Entity
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
def
|
24
|
+
def load()
|
25
25
|
if !@is_loaded
|
26
26
|
@is_loaded = true
|
27
27
|
set_data(@api.do_request('GET', get_base_api_path()))
|
28
|
+
@data.merge!(@dirty)
|
28
29
|
end
|
30
|
+
self
|
29
31
|
end
|
30
32
|
|
31
33
|
def vars
|
@@ -34,21 +36,17 @@ class Entity
|
|
34
36
|
|
35
37
|
def get(name)
|
36
38
|
if @data.has_key?(name)
|
37
|
-
return @data[name]
|
39
|
+
return @data[name]
|
38
40
|
elsif @is_loaded
|
39
41
|
return nil
|
40
42
|
end
|
41
43
|
|
42
|
-
|
43
|
-
|
44
|
+
load()
|
45
|
+
|
44
46
|
return @data[name]
|
45
|
-
end
|
47
|
+
end
|
46
48
|
|
47
49
|
def set(name, value)
|
48
|
-
if !@is_loaded
|
49
|
-
loadData()
|
50
|
-
end
|
51
|
-
|
52
50
|
@data[name] = value
|
53
51
|
@dirty[name] = value
|
54
52
|
end
|
data/lib/telerivet/message.rb
CHANGED
@@ -81,7 +81,7 @@ module Telerivet
|
|
81
81
|
# if available.
|
82
82
|
# * Read-only
|
83
83
|
#
|
84
|
-
# - price
|
84
|
+
# - price (number)
|
85
85
|
# * The price of this message, if known. By convention, message prices are negative.
|
86
86
|
# * Read-only
|
87
87
|
#
|
@@ -123,7 +123,7 @@ class Message < Entity
|
|
123
123
|
# bool
|
124
124
|
#
|
125
125
|
def has_label?(label)
|
126
|
-
|
126
|
+
load()
|
127
127
|
return @label_ids_set.has_key?(label.id)
|
128
128
|
end
|
129
129
|
|
data/lib/telerivet/project.rb
CHANGED
@@ -311,8 +311,6 @@ class Project < Entity
|
|
311
311
|
#
|
312
312
|
# Retrieves the contact with the given ID.
|
313
313
|
#
|
314
|
-
# Note: This does not make any API requests until you access a property of the Contact.
|
315
|
-
#
|
316
314
|
# Arguments:
|
317
315
|
# - id
|
318
316
|
# * ID of the contact
|
@@ -322,6 +320,22 @@ class Project < Entity
|
|
322
320
|
# Telerivet::Contact
|
323
321
|
#
|
324
322
|
def get_contact_by_id(id)
|
323
|
+
require_relative 'contact'
|
324
|
+
Contact.new(@api, @api.do_request("GET", get_base_api_path() + "/contacts/#{id}"))
|
325
|
+
end
|
326
|
+
|
327
|
+
#
|
328
|
+
# Initializes the Telerivet contact with the given ID without making an API request.
|
329
|
+
#
|
330
|
+
# Arguments:
|
331
|
+
# - id
|
332
|
+
# * ID of the contact
|
333
|
+
# * Required
|
334
|
+
#
|
335
|
+
# Returns:
|
336
|
+
# Telerivet::Contact
|
337
|
+
#
|
338
|
+
def init_contact_by_id(id)
|
325
339
|
require_relative 'contact'
|
326
340
|
return Contact.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
327
341
|
end
|
@@ -377,8 +391,6 @@ class Project < Entity
|
|
377
391
|
#
|
378
392
|
# Retrieves the phone with the given ID.
|
379
393
|
#
|
380
|
-
# Note: This does not make any API requests until you access a property of the Phone.
|
381
|
-
#
|
382
394
|
# Arguments:
|
383
395
|
# - id
|
384
396
|
# * ID of the phone - see <https://telerivet.com/dashboard/api>
|
@@ -388,6 +400,22 @@ class Project < Entity
|
|
388
400
|
# Telerivet::Phone
|
389
401
|
#
|
390
402
|
def get_phone_by_id(id)
|
403
|
+
require_relative 'phone'
|
404
|
+
Phone.new(@api, @api.do_request("GET", get_base_api_path() + "/phones/#{id}"))
|
405
|
+
end
|
406
|
+
|
407
|
+
#
|
408
|
+
# Initializes the phone with the given ID without making an API request.
|
409
|
+
#
|
410
|
+
# Arguments:
|
411
|
+
# - id
|
412
|
+
# * ID of the phone - see <https://telerivet.com/dashboard/api>
|
413
|
+
# * Required
|
414
|
+
#
|
415
|
+
# Returns:
|
416
|
+
# Telerivet::Phone
|
417
|
+
#
|
418
|
+
def init_phone_by_id(id)
|
391
419
|
require_relative 'phone'
|
392
420
|
return Phone.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
393
421
|
end
|
@@ -459,8 +487,6 @@ class Project < Entity
|
|
459
487
|
#
|
460
488
|
# Retrieves the message with the given ID.
|
461
489
|
#
|
462
|
-
# Note: This does not make any API requests until you access a property of the Message.
|
463
|
-
#
|
464
490
|
# Arguments:
|
465
491
|
# - id
|
466
492
|
# * ID of the message
|
@@ -470,6 +496,22 @@ class Project < Entity
|
|
470
496
|
# Telerivet::Message
|
471
497
|
#
|
472
498
|
def get_message_by_id(id)
|
499
|
+
require_relative 'message'
|
500
|
+
Message.new(@api, @api.do_request("GET", get_base_api_path() + "/messages/#{id}"))
|
501
|
+
end
|
502
|
+
|
503
|
+
#
|
504
|
+
# Initializes the Telerivet message with the given ID without making an API request.
|
505
|
+
#
|
506
|
+
# Arguments:
|
507
|
+
# - id
|
508
|
+
# * ID of the message
|
509
|
+
# * Required
|
510
|
+
#
|
511
|
+
# Returns:
|
512
|
+
# Telerivet::Message
|
513
|
+
#
|
514
|
+
def init_message_by_id(id)
|
473
515
|
require_relative 'message'
|
474
516
|
return Message.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
475
517
|
end
|
@@ -530,8 +572,6 @@ class Project < Entity
|
|
530
572
|
#
|
531
573
|
# Retrieves the group with the given ID.
|
532
574
|
#
|
533
|
-
# Note: This does not make any API requests until you access a property of the Group.
|
534
|
-
#
|
535
575
|
# Arguments:
|
536
576
|
# - id
|
537
577
|
# * ID of the group
|
@@ -541,6 +581,22 @@ class Project < Entity
|
|
541
581
|
# Telerivet::Group
|
542
582
|
#
|
543
583
|
def get_group_by_id(id)
|
584
|
+
require_relative 'group'
|
585
|
+
Group.new(@api, @api.do_request("GET", get_base_api_path() + "/groups/#{id}"))
|
586
|
+
end
|
587
|
+
|
588
|
+
#
|
589
|
+
# Initializes the group with the given ID without making an API request.
|
590
|
+
#
|
591
|
+
# Arguments:
|
592
|
+
# - id
|
593
|
+
# * ID of the group
|
594
|
+
# * Required
|
595
|
+
#
|
596
|
+
# Returns:
|
597
|
+
# Telerivet::Group
|
598
|
+
#
|
599
|
+
def init_group_by_id(id)
|
544
600
|
require_relative 'group'
|
545
601
|
return Group.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
546
602
|
end
|
@@ -601,8 +657,6 @@ class Project < Entity
|
|
601
657
|
#
|
602
658
|
# Retrieves the label with the given ID.
|
603
659
|
#
|
604
|
-
# Note: This does not make any API requests until you access a property of the Label.
|
605
|
-
#
|
606
660
|
# Arguments:
|
607
661
|
# - id
|
608
662
|
# * ID of the label
|
@@ -612,6 +666,22 @@ class Project < Entity
|
|
612
666
|
# Telerivet::Label
|
613
667
|
#
|
614
668
|
def get_label_by_id(id)
|
669
|
+
require_relative 'label'
|
670
|
+
Label.new(@api, @api.do_request("GET", get_base_api_path() + "/labels/#{id}"))
|
671
|
+
end
|
672
|
+
|
673
|
+
#
|
674
|
+
# Initializes the label with the given ID without making an API request.
|
675
|
+
#
|
676
|
+
# Arguments:
|
677
|
+
# - id
|
678
|
+
# * ID of the label
|
679
|
+
# * Required
|
680
|
+
#
|
681
|
+
# Returns:
|
682
|
+
# Telerivet::Label
|
683
|
+
#
|
684
|
+
def init_label_by_id(id)
|
615
685
|
require_relative 'label'
|
616
686
|
return Label.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
617
687
|
end
|
@@ -672,8 +742,6 @@ class Project < Entity
|
|
672
742
|
#
|
673
743
|
# Retrieves the data table with the given ID.
|
674
744
|
#
|
675
|
-
# Note: This does not make any API requests until you access a property of the DataTable.
|
676
|
-
#
|
677
745
|
# Arguments:
|
678
746
|
# - id
|
679
747
|
# * ID of the data table
|
@@ -683,6 +751,22 @@ class Project < Entity
|
|
683
751
|
# Telerivet::DataTable
|
684
752
|
#
|
685
753
|
def get_data_table_by_id(id)
|
754
|
+
require_relative 'datatable'
|
755
|
+
DataTable.new(@api, @api.do_request("GET", get_base_api_path() + "/tables/#{id}"))
|
756
|
+
end
|
757
|
+
|
758
|
+
#
|
759
|
+
# Initializes the data table with the given ID without making an API request.
|
760
|
+
#
|
761
|
+
# Arguments:
|
762
|
+
# - id
|
763
|
+
# * ID of the data table
|
764
|
+
# * Required
|
765
|
+
#
|
766
|
+
# Returns:
|
767
|
+
# Telerivet::DataTable
|
768
|
+
#
|
769
|
+
def init_data_table_by_id(id)
|
686
770
|
require_relative 'datatable'
|
687
771
|
return DataTable.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
688
772
|
end
|
@@ -735,9 +819,6 @@ class Project < Entity
|
|
735
819
|
#
|
736
820
|
# Retrieves the scheduled message with the given ID.
|
737
821
|
#
|
738
|
-
# Note: This does not make any API requests until you access a property of the
|
739
|
-
# ScheduledMessage.
|
740
|
-
#
|
741
822
|
# Arguments:
|
742
823
|
# - id
|
743
824
|
# * ID of the scheduled message
|
@@ -747,6 +828,22 @@ class Project < Entity
|
|
747
828
|
# Telerivet::ScheduledMessage
|
748
829
|
#
|
749
830
|
def get_scheduled_message_by_id(id)
|
831
|
+
require_relative 'scheduledmessage'
|
832
|
+
ScheduledMessage.new(@api, @api.do_request("GET", get_base_api_path() + "/scheduled/#{id}"))
|
833
|
+
end
|
834
|
+
|
835
|
+
#
|
836
|
+
# Initializes the scheduled message with the given ID without making an API request.
|
837
|
+
#
|
838
|
+
# Arguments:
|
839
|
+
# - id
|
840
|
+
# * ID of the scheduled message
|
841
|
+
# * Required
|
842
|
+
#
|
843
|
+
# Returns:
|
844
|
+
# Telerivet::ScheduledMessage
|
845
|
+
#
|
846
|
+
def init_scheduled_message_by_id(id)
|
750
847
|
require_relative 'scheduledmessage'
|
751
848
|
return ScheduledMessage.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
752
849
|
end
|
@@ -798,8 +895,6 @@ class Project < Entity
|
|
798
895
|
#
|
799
896
|
# Retrieves the service with the given ID.
|
800
897
|
#
|
801
|
-
# Note: This does not make any API requests until you access a property of the Service.
|
802
|
-
#
|
803
898
|
# Arguments:
|
804
899
|
# - id
|
805
900
|
# * ID of the service
|
@@ -809,6 +904,22 @@ class Project < Entity
|
|
809
904
|
# Telerivet::Service
|
810
905
|
#
|
811
906
|
def get_service_by_id(id)
|
907
|
+
require_relative 'service'
|
908
|
+
Service.new(@api, @api.do_request("GET", get_base_api_path() + "/services/#{id}"))
|
909
|
+
end
|
910
|
+
|
911
|
+
#
|
912
|
+
# Initializes the service with the given ID without making an API request.
|
913
|
+
#
|
914
|
+
# Arguments:
|
915
|
+
# - id
|
916
|
+
# * ID of the service
|
917
|
+
# * Required
|
918
|
+
#
|
919
|
+
# Returns:
|
920
|
+
# Telerivet::Service
|
921
|
+
#
|
922
|
+
def init_service_by_id(id)
|
812
923
|
require_relative 'service'
|
813
924
|
return Service.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
814
925
|
end
|
@@ -871,9 +982,6 @@ class Project < Entity
|
|
871
982
|
#
|
872
983
|
# Retrieves the mobile money receipt with the given ID.
|
873
984
|
#
|
874
|
-
# Note: This does not make any API requests until you access a property of the
|
875
|
-
# MobileMoneyReceipt.
|
876
|
-
#
|
877
985
|
# Arguments:
|
878
986
|
# - id
|
879
987
|
# * ID of the mobile money receipt
|
@@ -883,10 +991,95 @@ class Project < Entity
|
|
883
991
|
# Telerivet::MobileMoneyReceipt
|
884
992
|
#
|
885
993
|
def get_receipt_by_id(id)
|
994
|
+
require_relative 'mobilemoneyreceipt'
|
995
|
+
MobileMoneyReceipt.new(@api, @api.do_request("GET", get_base_api_path() + "/receipts/#{id}"))
|
996
|
+
end
|
997
|
+
|
998
|
+
#
|
999
|
+
# Initializes the mobile money receipt with the given ID without making an API request.
|
1000
|
+
#
|
1001
|
+
# Arguments:
|
1002
|
+
# - id
|
1003
|
+
# * ID of the mobile money receipt
|
1004
|
+
# * Required
|
1005
|
+
#
|
1006
|
+
# Returns:
|
1007
|
+
# Telerivet::MobileMoneyReceipt
|
1008
|
+
#
|
1009
|
+
def init_receipt_by_id(id)
|
886
1010
|
require_relative 'mobilemoneyreceipt'
|
887
1011
|
return MobileMoneyReceipt.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
888
1012
|
end
|
889
1013
|
|
1014
|
+
#
|
1015
|
+
# Queries custom routes that can be used to send messages (not including Phones).
|
1016
|
+
#
|
1017
|
+
# Arguments:
|
1018
|
+
# - options (Hash)
|
1019
|
+
#
|
1020
|
+
# - name
|
1021
|
+
# * Filter routes by name
|
1022
|
+
# * Allowed modifiers: name[ne], name[prefix], name[not_prefix], name[gte], name[gt],
|
1023
|
+
# name[lt], name[lte]
|
1024
|
+
#
|
1025
|
+
# - sort
|
1026
|
+
# * Sort the results based on a field
|
1027
|
+
# * Allowed values: default, name
|
1028
|
+
# * Default: default
|
1029
|
+
#
|
1030
|
+
# - sort_dir
|
1031
|
+
# * Sort the results in ascending or descending order
|
1032
|
+
# * Allowed values: asc, desc
|
1033
|
+
# * Default: asc
|
1034
|
+
#
|
1035
|
+
# - page_size (int)
|
1036
|
+
# * Number of results returned per page (max 200)
|
1037
|
+
# * Default: 50
|
1038
|
+
#
|
1039
|
+
# - offset (int)
|
1040
|
+
# * Number of items to skip from beginning of result set
|
1041
|
+
# * Default: 0
|
1042
|
+
#
|
1043
|
+
# Returns:
|
1044
|
+
# Telerivet::APICursor (of Telerivet::Route)
|
1045
|
+
#
|
1046
|
+
def query_routes(options = nil)
|
1047
|
+
require_relative 'route'
|
1048
|
+
@api.cursor(Route, get_base_api_path() + "/routes", options)
|
1049
|
+
end
|
1050
|
+
|
1051
|
+
#
|
1052
|
+
# Gets a custom route by ID
|
1053
|
+
#
|
1054
|
+
# Arguments:
|
1055
|
+
# - id
|
1056
|
+
# * ID of the route
|
1057
|
+
# * Required
|
1058
|
+
#
|
1059
|
+
# Returns:
|
1060
|
+
# Telerivet::Route
|
1061
|
+
#
|
1062
|
+
def get_route_by_id(id)
|
1063
|
+
require_relative 'route'
|
1064
|
+
Route.new(@api, @api.do_request("GET", get_base_api_path() + "/routes/#{id}"))
|
1065
|
+
end
|
1066
|
+
|
1067
|
+
#
|
1068
|
+
# Initializes a custom route by ID without making an API request.
|
1069
|
+
#
|
1070
|
+
# Arguments:
|
1071
|
+
# - id
|
1072
|
+
# * ID of the route
|
1073
|
+
# * Required
|
1074
|
+
#
|
1075
|
+
# Returns:
|
1076
|
+
# Telerivet::Route
|
1077
|
+
#
|
1078
|
+
def init_route_by_id(id)
|
1079
|
+
require_relative 'route'
|
1080
|
+
return Route.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
1081
|
+
end
|
1082
|
+
|
890
1083
|
#
|
891
1084
|
# Saves any fields or custom variables that have changed for the project.
|
892
1085
|
#
|
@@ -0,0 +1,57 @@
|
|
1
|
+
|
2
|
+
module Telerivet
|
3
|
+
|
4
|
+
#
|
5
|
+
# Represents a custom route that can be used to send messages via one or more Phones.
|
6
|
+
#
|
7
|
+
# Note: Routing rules can currently only be configured via Telerivet's web UI.
|
8
|
+
#
|
9
|
+
# Fields:
|
10
|
+
#
|
11
|
+
# - id (string, max 34 characters)
|
12
|
+
# * Telerivet's internal ID for the route
|
13
|
+
# * Read-only
|
14
|
+
#
|
15
|
+
# - name
|
16
|
+
# * The name of the route
|
17
|
+
# * Updatable via API
|
18
|
+
#
|
19
|
+
# - vars (Hash)
|
20
|
+
# * Custom variables stored for this route
|
21
|
+
# * Updatable via API
|
22
|
+
#
|
23
|
+
# - project_id
|
24
|
+
# * ID of the project this route belongs to
|
25
|
+
# * Read-only
|
26
|
+
#
|
27
|
+
class Route < Entity
|
28
|
+
#
|
29
|
+
# Saves any fields or custom variables that have changed for this route.
|
30
|
+
#
|
31
|
+
def save()
|
32
|
+
super
|
33
|
+
end
|
34
|
+
|
35
|
+
def id
|
36
|
+
get('id')
|
37
|
+
end
|
38
|
+
|
39
|
+
def name
|
40
|
+
get('name')
|
41
|
+
end
|
42
|
+
|
43
|
+
def name=(value)
|
44
|
+
set('name', value)
|
45
|
+
end
|
46
|
+
|
47
|
+
def project_id
|
48
|
+
get('project_id')
|
49
|
+
end
|
50
|
+
|
51
|
+
def get_base_api_path()
|
52
|
+
"/projects/#{get('project_id')}/routes/#{get('id')}"
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
@@ -72,7 +72,7 @@ module Telerivet
|
|
72
72
|
# * Number of times this scheduled message has already been sent
|
73
73
|
# * Read-only
|
74
74
|
#
|
75
|
-
# - is_template
|
75
|
+
# - is_template (bool)
|
76
76
|
# * Set to true if Telerivet will render variables like [[contact.name]] in the message
|
77
77
|
# content, false otherwise
|
78
78
|
# * Read-only
|
data/lib/telerivet/service.rb
CHANGED
@@ -102,6 +102,9 @@ class Service < Entity
|
|
102
102
|
# - contact_id
|
103
103
|
# * The ID of the contact this service is triggered for
|
104
104
|
# * Required if context is 'contact'
|
105
|
+
#
|
106
|
+
# Returns:
|
107
|
+
# object
|
105
108
|
#
|
106
109
|
def invoke(options)
|
107
110
|
invoke_result = @api.do_request('POST', get_base_api_path() + '/invoke', options)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: telerivet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jesse Young
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Ruby client library for Telerivet REST API
|
14
14
|
email: support@telerivet.com
|
@@ -30,6 +30,7 @@ files:
|
|
30
30
|
- lib/telerivet/mobilemoneyreceipt.rb
|
31
31
|
- lib/telerivet/phone.rb
|
32
32
|
- lib/telerivet/project.rb
|
33
|
+
- lib/telerivet/route.rb
|
33
34
|
- lib/telerivet/scheduledmessage.rb
|
34
35
|
- lib/telerivet/service.rb
|
35
36
|
homepage: http://telerivet.com
|