clickmeetings 0.1.3.1 → 0.1.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +1 -1
  4. data/README.md +303 -7
  5. data/clickmeetings.gemspec +5 -3
  6. data/lib/clickmeetings.rb +6 -8
  7. data/lib/clickmeetings/client.rb +7 -8
  8. data/lib/clickmeetings/config.rb +2 -1
  9. data/lib/clickmeetings/engine.rb +0 -1
  10. data/lib/clickmeetings/model.rb +29 -19
  11. data/lib/clickmeetings/models/open/chat.rb +19 -0
  12. data/lib/clickmeetings/models/open/concerns/with_conference.rb +35 -0
  13. data/lib/clickmeetings/models/open/concerns/with_locale.rb +20 -0
  14. data/lib/clickmeetings/models/open/conference.rb +72 -0
  15. data/lib/clickmeetings/models/open/contact.rb +14 -0
  16. data/lib/clickmeetings/models/open/file_library.rb +43 -0
  17. data/lib/clickmeetings/models/open/invitation.rb +30 -0
  18. data/lib/clickmeetings/models/open/login_hash.rb +50 -0
  19. data/lib/clickmeetings/models/open/model.rb +38 -0
  20. data/lib/clickmeetings/models/open/phone_gateway.rb +9 -0
  21. data/lib/clickmeetings/models/open/recording.rb +22 -0
  22. data/lib/clickmeetings/models/open/registration.rb +20 -0
  23. data/lib/clickmeetings/models/open/session.rb +56 -0
  24. data/lib/clickmeetings/models/open/time_zone.rb +15 -0
  25. data/lib/clickmeetings/models/open/token.rb +35 -0
  26. data/lib/clickmeetings/models/privatelabel/account.rb +3 -1
  27. data/lib/clickmeetings/models/privatelabel/conference.rb +20 -11
  28. data/lib/clickmeetings/models/privatelabel/model.rb +5 -4
  29. data/lib/clickmeetings/models/privatelabel/profile.rb +2 -2
  30. data/lib/clickmeetings/storage.rb +10 -0
  31. data/lib/clickmeetings/version.rb +1 -1
  32. data/spec/clickmeetings_spec.rb +46 -0
  33. data/spec/client_spec.rb +27 -4
  34. data/spec/fixtures/delete_conferences_1_recordings.json +3 -0
  35. data/spec/fixtures/get_chats_1.zip +0 -0
  36. data/spec/fixtures/get_conferences.json +48 -0
  37. data/spec/fixtures/get_conferences_1.json +45 -0
  38. data/spec/fixtures/get_conferences_1_recordings.json +10 -0
  39. data/spec/fixtures/get_conferences_1_registrations.json +42 -0
  40. data/spec/fixtures/get_conferences_1_sessions.json +16 -0
  41. data/spec/fixtures/get_conferences_1_sessions_1.json +54 -0
  42. data/spec/fixtures/get_conferences_1_sessions_1_attendees.json +38 -0
  43. data/spec/fixtures/get_conferences_1_sessions_1_generate-pdf_en.json +4 -0
  44. data/spec/fixtures/get_conferences_1_sessions_1_generate-pdf_pl.json +5 -0
  45. data/spec/fixtures/get_conferences_1_sessions_1_generate-pdf_ru.json +4 -0
  46. data/spec/fixtures/get_conferences_1_sessions_1_registrations.json +42 -0
  47. data/spec/fixtures/get_conferences_1_tokens.json +254 -0
  48. data/spec/fixtures/get_conferences_2.json +45 -0
  49. data/spec/fixtures/get_conferences_active.json +1 -0
  50. data/spec/fixtures/get_conferences_inactive.json +1 -0
  51. data/spec/fixtures/get_conferences_skins.json +57 -0
  52. data/spec/fixtures/get_file-library_conferences_1.json +13 -0
  53. data/spec/fixtures/get_time_zone_list.json +422 -0
  54. data/spec/fixtures/get_time_zone_list_ru.json +26 -0
  55. data/spec/fixtures/post_conferences_1_invitation_email_en.json +1 -0
  56. data/spec/fixtures/post_conferences_1_invitation_email_ru.json +1 -0
  57. data/spec/fixtures/post_conferences_1_registration.json +6 -0
  58. data/spec/fixtures/post_conferences_1_room_autologin_hash.json +3 -0
  59. data/spec/fixtures/post_conferences_1_tokens.json +14 -0
  60. data/spec/fixtures/post_conferences_2_invitation_email_en.json +1 -0
  61. data/spec/fixtures/post_contacts.json +3 -0
  62. data/spec/fixtures/post_file-library.json +10 -0
  63. data/spec/fixtures/presentation.pdf +0 -0
  64. data/spec/helpers/fixtures_helpers.rb +1 -1
  65. data/spec/models/open/chat_spec.rb +25 -0
  66. data/spec/models/open/concerns/with_conference_spec.rb +55 -0
  67. data/spec/models/open/concerns/with_locale_spec.rb +23 -0
  68. data/spec/models/open/conference_spec.rb +132 -0
  69. data/spec/models/open/contact_spec.rb +17 -0
  70. data/spec/models/open/file_spec.rb +46 -0
  71. data/spec/models/open/invitation_spec.rb +43 -0
  72. data/spec/models/open/login_hash_spec.rb +59 -0
  73. data/spec/models/open/model_spec.rb +55 -0
  74. data/spec/models/open/recording_spec.rb +21 -0
  75. data/spec/models/open/registration_spec.rb +25 -0
  76. data/spec/models/open/session_spec.rb +73 -0
  77. data/spec/models/open/time_zone_spec.rb +27 -0
  78. data/spec/models/open/token_spec.rb +54 -0
  79. data/spec/models/privatelabel/conference_spec.rb +25 -7
  80. data/spec/shared_examples/tokens_examples.rb +6 -0
  81. data/spec/spec_helper.rb +7 -0
  82. metadata +147 -8
  83. data/lib/clickmeetings/models/open_api/.keep +0 -0
@@ -0,0 +1,45 @@
1
+ {
2
+ "conference": {
3
+ "id": 1,
4
+ "room_type": "webinar",
5
+ "room_pin": 269194961,
6
+ "name": "new_conf_name",
7
+ "name_url": "35fbafd7a6945f8f",
8
+ "access_type": 3,
9
+ "lobby_enabled": true,
10
+ "lobby_description": "",
11
+ "registration_enabled": 0,
12
+ "status": "active",
13
+ "timezone": "Europe/Moscow",
14
+ "timezone_offset": 10800,
15
+ "created_at": "2016-11-17T19:14:14+03:00",
16
+ "updated_at": "2016-11-17T19:14:14+03:00",
17
+ "permanent_room": true,
18
+ "access_role_hashes": {
19
+ "listener": "a83d20c41880c33708d26b005830e4f4",
20
+ "presenter": "af83f4b748b1894e9b5c3c005830e4f4",
21
+ "host": "1b17b29ff8b147c65cfcc6005830e4f4"
22
+ },
23
+ "room_url": "http://qwerewrq.anysecond.com/35fbafd7a6945f8f",
24
+ "phone_presenter_pin": 184823,
25
+ "phone_listener_pin": 593469,
26
+ "embed_room_url": "http://embed.anysecond.com/embed_conference.html?r=16536349882141",
27
+ "widgets_hash": "cifGe6",
28
+ "recorder_list": [
29
+
30
+ ],
31
+ "settings": {
32
+ "show_on_personal_page": true,
33
+ "thank_you_emails_enabled": true,
34
+ "connection_tester_enabled": false,
35
+ "recorder_autostart_enabled": false,
36
+ "room_invite_button_enabled": true,
37
+ "social_media_sharing_enabled": false,
38
+ "connection_status_enabled": true
39
+ },
40
+ "autologin_hashes": {
41
+ "host": "BQtlZGDkDUjgsROxnaWyDTEdpzHhMTcNsP18DTEdpzIlnzIxDUjgsRONsP18DQSiZGqiZwympmuiZGD3pQL1pUAjpQLjZQH4ZmOlAUZ0DUjgsRN__"
42
+ },
43
+ "autologin_hash": "BQtlZGDkDUjgsROxnaWyDTEdpzHhMTcNsP18DTEdpzIlnzIxDUjgsRONsP18DQSiZGqiZwympmuiZGD3pQL1pUAjpQLjZQH4ZmOlAUZ0DUjgsRN__"
44
+ }
45
+ }
@@ -0,0 +1,10 @@
1
+ [
2
+ {
3
+ "id": 502211,
4
+ "recording_url": "http://recorder.clickmeeting.com/download/2016/11/21/rec-lw-us-3/516358/bd4a8c6255f2c9d4f0495377e94d9672/recording.mp4?st=-QClyASd-POOoQ5eUTHg_Q&e=1480015152",
5
+ "recording_duration": 644,
6
+ "recorder_started": "2016-11-21 13:50:05",
7
+ "recorder_start_date": "2016-11-21T13:50:05+00:00",
8
+ "recording_file_size": 31572264
9
+ }
10
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "id": 3202093,
4
+ "visitor_nickname": "1 1",
5
+ "email": "1@1.qw",
6
+ "registration_date": "2016-11-23T13:40:04+03:00",
7
+ "registration_confirmed": "null",
8
+ "session_id": 5375107,
9
+ "fields": {
10
+ "First Name": "1",
11
+ "Last Name": "1",
12
+ "Email Address": "1@1.qw"
13
+ },
14
+ "url": "http://qwerewrq.anysecond.com/861961162?r=Amt4ZwLkZUk8ZFNksUjkDQRhMTc8sQZlZQVjBGZ__",
15
+ "r": "Amt4ZwLkZUk8ZFNksUjkDQRhMTc8sQZlZQVjBGZ__",
16
+ "http_referer": "http://account-panel.anysecond.com/888171",
17
+ "geo": {
18
+ "country": null,
19
+ "city": null
20
+ }
21
+ },
22
+ {
23
+ "id": 3203066,
24
+ "visitor_nickname": "Makar Ermokhin",
25
+ "email": "ermak95@gmail.com",
26
+ "registration_date": "2016-11-23T15:29:52+03:00",
27
+ "registration_confirmed": "2016-11-23T15:29:52+03:00",
28
+ "session_id": null,
29
+ "fields": {
30
+ "First Name": "Makar",
31
+ "Last Name": "Ermokhin",
32
+ "Email Address": "ermak95@gmail.com"
33
+ },
34
+ "url": "http://qwerewrq.anysecond.com/861961162?r=AmDkZwp2AKk8Jz54ozHtHzI6Lau1qzS8sUWyrz54BGINqUchqaxhpTW6sUjmZwNmZQL2",
35
+ "r": "AmDkZwp2AKk8Jz54ozHtHzI6Lau1qzS8sUWyrz54BGINqUchqaxhpTW6sUjmZwNmZQL2",
36
+ "http_referer": null,
37
+ "geo": {
38
+ "country": null,
39
+ "city": null
40
+ }
41
+ }
42
+ ]
@@ -0,0 +1,16 @@
1
+ [
2
+ {
3
+ "id": 5342110,
4
+ "total_visitors": 3,
5
+ "max_visitors": 3,
6
+ "start_date": "2016-11-17T19:15:00+03:00",
7
+ "end_date": "2016-11-17T19:34:00+03:00"
8
+ },
9
+ {
10
+ "id": 5360508,
11
+ "total_visitors": 2,
12
+ "max_visitors": 2,
13
+ "start_date": "2016-11-21T16:48:00+03:00",
14
+ "end_date": "2016-11-21T17:00:00+03:00"
15
+ }
16
+ ]
@@ -0,0 +1,54 @@
1
+ {
2
+ "total_visitors": 3,
3
+ "max_visitors": 3,
4
+ "start_date": "2016-11-17T19:15:00+03:00",
5
+ "end_date": "2016-11-17T19:34:00+03:00",
6
+ "attendees": [
7
+ {
8
+ "id": 7823916,
9
+ "start_date": "2016-11-17T19:25:00+03:00",
10
+ "end_date": "2016-11-17T19:34:00+03:00",
11
+ "login": "Olga",
12
+ "email": "olga@teachbase.ru"
13
+ },
14
+ {
15
+ "id": 7412765,
16
+ "start_date": "2016-11-17T19:21:00+03:00",
17
+ "end_date": "2016-11-17T19:34:00+03:00",
18
+ "login": "makarrrrrr",
19
+ "email": "ermak95@gmail.com"
20
+ },
21
+ {
22
+ "id": 7538444,
23
+ "start_date": "2016-11-17T19:15:00+03:00",
24
+ "end_date": "2016-11-17T19:34:00+03:00",
25
+ "login": "qwerewrq",
26
+ "email": "qwer@qwer.qw"
27
+ }
28
+ ],
29
+ "pdf": {
30
+ "en": {
31
+ "status": "FINISHED",
32
+ "url": "http://api.anysecond.com/panel/pdf/en/5342110/VAqcdc",
33
+ "progress": 100
34
+ },
35
+ "pl": {
36
+ "generate_pdf_url": "http://api.anysecond.com/v1/conferences/882141/sessions/5342110/generate-pdf/pl",
37
+ "progress": 0
38
+ },
39
+ "ru": {
40
+ "status": "IN PROGRESS",
41
+ "url": "http://api.anysecond.com/panel/pdf/ru/5342110/VAqcdc",
42
+ "progress": 0
43
+ },
44
+ "de": {
45
+ "generate_pdf_url": "http://api.anysecond.com/v1/conferences/882141/sessions/5342110/generate-pdf/de",
46
+ "progress": 0
47
+ },
48
+ "es": {
49
+ "status": "FINISHED",
50
+ "url": "http://api.anysecond.com/panel/pdf/es/5342110/VAqcdc",
51
+ "progress": 100
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,38 @@
1
+ [
2
+ {
3
+ "uid": "7823916",
4
+ "role": "listener",
5
+ "nickname": "Oga",
6
+ "email": "oga@teahbase.ru",
7
+ "device": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36",
8
+ "rating": "5",
9
+ "rating_comment": "ащ ащ вебинар\nукусила бы",
10
+ "start_date": "2016-11-17T19:25:00+03:00",
11
+ "end_date": "2016-11-17T19:34:00+03:00",
12
+ "user_ip": "213.134.198.189"
13
+ },
14
+ {
15
+ "uid": "7412765",
16
+ "role": "presenter",
17
+ "nickname": "makarrrrrr",
18
+ "email": "erk95@gail.com",
19
+ "device": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36",
20
+ "rating": null,
21
+ "rating_comment": null,
22
+ "start_date": "2016-11-17T19:21:00+03:00",
23
+ "end_date": "2016-11-17T19:34:00+03:00",
24
+ "user_ip": "213.134.198.189"
25
+ },
26
+ {
27
+ "uid": "7538444",
28
+ "role": "host",
29
+ "nickname": "qwerewrq",
30
+ "email": "qwer@qwer.qw",
31
+ "device": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36",
32
+ "rating": null,
33
+ "rating_comment": null,
34
+ "start_date": "2016-11-17T19:15:00+03:00",
35
+ "end_date": "2016-11-17T19:34:00+03:00",
36
+ "user_ip": "213.134.198.189"
37
+ }
38
+ ]
@@ -0,0 +1,4 @@
1
+ {
2
+ "status": "NEW",
3
+ "progress": 0
4
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "status": "FINISHED",
3
+ "url": "http://api.anysecond.com/panel/pdf/ru/5342110/VAqcdc",
4
+ "progress": 100
5
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "status": "IN PROGRESS",
3
+ "progress": 0
4
+ }
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "id": 3202093,
4
+ "visitor_nickname": "1 1",
5
+ "email": "1@1.qw",
6
+ "registration_date": "2016-11-23T13:40:04+03:00",
7
+ "registration_confirmed": "null",
8
+ "session_id": 1,
9
+ "fields": {
10
+ "First Name": "1",
11
+ "Last Name": "1",
12
+ "Email Address": "1@1.qw"
13
+ },
14
+ "url": "http://qwerewrq.anysecond.com/861961162?r=Amt4ZwLkZUk8ZFNksUjkDQRhMTc8sQZlZQVjBGZ__",
15
+ "r": "Amt4ZwLkZUk8ZFNksUjkDQRhMTc8sQZlZQVjBGZ__",
16
+ "http_referer": "http://account-panel.anysecond.com/888171",
17
+ "geo": {
18
+ "country": null,
19
+ "city": null
20
+ }
21
+ },
22
+ {
23
+ "id": 3203066,
24
+ "visitor_nickname": "Makar Ermokhin",
25
+ "email": "ermak95@gmail.com",
26
+ "registration_date": "2016-11-23T15:29:52+03:00",
27
+ "registration_confirmed": "2016-11-23T15:29:52+03:00",
28
+ "session_id": null,
29
+ "fields": {
30
+ "First Name": "Makar",
31
+ "Last Name": "Ermokhin",
32
+ "Email Address": "ermak95@gmail.com"
33
+ },
34
+ "url": "http://qwerewrq.anysecond.com/861961162?r=AmDkZwp2AKk8Jz54ozHtHzI6Lau1qzS8sUWyrz54BGINqUchqaxhpTW6sUjmZwNmZQL2",
35
+ "r": "AmDkZwp2AKk8Jz54ozHtHzI6Lau1qzS8sUWyrz54BGINqUchqaxhpTW6sUjmZwNmZQL2",
36
+ "http_referer": null,
37
+ "geo": {
38
+ "country": null,
39
+ "city": null
40
+ }
41
+ }
42
+ ]
@@ -0,0 +1,254 @@
1
+ {
2
+ "access_tokens": [
3
+ {
4
+ "token": "G986DW",
5
+ "sent_to_email": "ermak95@gmail.com",
6
+ "first_use_date": null
7
+ },
8
+ {
9
+ "token": "P4P9QW",
10
+ "sent_to_email": "makar.ermokhin@icloud.com",
11
+ "first_use_date": null
12
+ },
13
+ {
14
+ "token": "D4D8G8",
15
+ "sent_to_email": null,
16
+ "first_use_date": null
17
+ },
18
+ {
19
+ "token": "K4H9FQ",
20
+ "sent_to_email": null,
21
+ "first_use_date": null
22
+ },
23
+ {
24
+ "token": "Y4E6GP",
25
+ "sent_to_email": null,
26
+ "first_use_date": null
27
+ },
28
+ {
29
+ "token": "94D9WP",
30
+ "sent_to_email": null,
31
+ "first_use_date": null
32
+ },
33
+ {
34
+ "token": "74Q68C",
35
+ "sent_to_email": null,
36
+ "first_use_date": null
37
+ },
38
+ {
39
+ "token": "G4K9R7",
40
+ "sent_to_email": null,
41
+ "first_use_date": null
42
+ },
43
+ {
44
+ "token": "G4D7FW",
45
+ "sent_to_email": null,
46
+ "first_use_date": null
47
+ },
48
+ {
49
+ "token": "Q4K8FQ",
50
+ "sent_to_email": null,
51
+ "first_use_date": null
52
+ },
53
+ {
54
+ "token": "K473CC",
55
+ "sent_to_email": null,
56
+ "first_use_date": null
57
+ },
58
+ {
59
+ "token": "Y483YW",
60
+ "sent_to_email": null,
61
+ "first_use_date": null
62
+ },
63
+ {
64
+ "token": "94F49P",
65
+ "sent_to_email": null,
66
+ "first_use_date": null
67
+ },
68
+ {
69
+ "token": "H4R98Q",
70
+ "sent_to_email": null,
71
+ "first_use_date": null
72
+ },
73
+ {
74
+ "token": "D4G3DP",
75
+ "sent_to_email": null,
76
+ "first_use_date": null
77
+ },
78
+ {
79
+ "token": "84G69W",
80
+ "sent_to_email": null,
81
+ "first_use_date": null
82
+ },
83
+ {
84
+ "token": "7479KQ",
85
+ "sent_to_email": null,
86
+ "first_use_date": null
87
+ },
88
+ {
89
+ "token": "Q4R488",
90
+ "sent_to_email": null,
91
+ "first_use_date": null
92
+ },
93
+ {
94
+ "token": "84F893",
95
+ "sent_to_email": null,
96
+ "first_use_date": null
97
+ },
98
+ {
99
+ "token": "G8D3GQ",
100
+ "sent_to_email": null,
101
+ "first_use_date": null
102
+ },
103
+ {
104
+ "token": "Q899QG",
105
+ "sent_to_email": null,
106
+ "first_use_date": null
107
+ },
108
+ {
109
+ "token": "P837W3",
110
+ "sent_to_email": null,
111
+ "first_use_date": null
112
+ },
113
+ {
114
+ "token": "H898HG",
115
+ "sent_to_email": null,
116
+ "first_use_date": null
117
+ },
118
+ {
119
+ "token": "F8W6P3",
120
+ "sent_to_email": null,
121
+ "first_use_date": null
122
+ },
123
+ {
124
+ "token": "X8897C",
125
+ "sent_to_email": null,
126
+ "first_use_date": null
127
+ },
128
+ {
129
+ "token": "88D7P8",
130
+ "sent_to_email": null,
131
+ "first_use_date": null
132
+ },
133
+ {
134
+ "token": "R8G8QQ",
135
+ "sent_to_email": null,
136
+ "first_use_date": null
137
+ },
138
+ {
139
+ "token": "F88377",
140
+ "sent_to_email": null,
141
+ "first_use_date": null
142
+ },
143
+ {
144
+ "token": "8896EW",
145
+ "sent_to_email": null,
146
+ "first_use_date": null
147
+ },
148
+ {
149
+ "token": "E897FW",
150
+ "sent_to_email": null,
151
+ "first_use_date": null
152
+ },
153
+ {
154
+ "token": "88F89G",
155
+ "sent_to_email": null,
156
+ "first_use_date": null
157
+ },
158
+ {
159
+ "token": "78Q3QC",
160
+ "sent_to_email": null,
161
+ "first_use_date": null
162
+ },
163
+ {
164
+ "token": "X874QC",
165
+ "sent_to_email": null,
166
+ "first_use_date": null
167
+ },
168
+ {
169
+ "token": "88D883",
170
+ "sent_to_email": null,
171
+ "first_use_date": null
172
+ },
173
+ {
174
+ "token": "8876CC",
175
+ "sent_to_email": null,
176
+ "first_use_date": null
177
+ },
178
+ {
179
+ "token": "Q77887",
180
+ "sent_to_email": null,
181
+ "first_use_date": null
182
+ },
183
+ {
184
+ "token": "84D4DP",
185
+ "sent_to_email": null,
186
+ "first_use_date": null
187
+ },
188
+ {
189
+ "token": "F4Q877",
190
+ "sent_to_email": null,
191
+ "first_use_date": null
192
+ },
193
+ {
194
+ "token": "H6F4K7",
195
+ "sent_to_email": null,
196
+ "first_use_date": null
197
+ },
198
+ {
199
+ "token": "D7P6EP",
200
+ "sent_to_email": null,
201
+ "first_use_date": null
202
+ },
203
+ {
204
+ "token": "87G4X7",
205
+ "sent_to_email": null,
206
+ "first_use_date": null
207
+ },
208
+ {
209
+ "token": "87H6GC",
210
+ "sent_to_email": null,
211
+ "first_use_date": null
212
+ },
213
+ {
214
+ "token": "87F3F8",
215
+ "sent_to_email": null,
216
+ "first_use_date": null
217
+ },
218
+ {
219
+ "token": "97P9EW",
220
+ "sent_to_email": null,
221
+ "first_use_date": null
222
+ },
223
+ {
224
+ "token": "P7P3DW",
225
+ "sent_to_email": null,
226
+ "first_use_date": null
227
+ },
228
+ {
229
+ "token": "F7E6GE",
230
+ "sent_to_email": null,
231
+ "first_use_date": null
232
+ },
233
+ {
234
+ "token": "Q7P393",
235
+ "sent_to_email": null,
236
+ "first_use_date": null
237
+ },
238
+ {
239
+ "token": "F799FW",
240
+ "sent_to_email": null,
241
+ "first_use_date": null
242
+ },
243
+ {
244
+ "token": "R786R7",
245
+ "sent_to_email": null,
246
+ "first_use_date": null
247
+ },
248
+ {
249
+ "token": "Y798YW",
250
+ "sent_to_email": null,
251
+ "first_use_date": null
252
+ }
253
+ ]
254
+ }