xoxzo-cloudruby 0.3.0 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 594c617a8a9834f06f819038c718dcfce60b9687
4
- data.tar.gz: 72b022af8779a53992421034a46cdf4224dd75ad
3
+ metadata.gz: 3cea386f4bede872b81a09952b122c1c6508546f
4
+ data.tar.gz: cf75e74653ae4ded88d73fca7412aaeef7b816fc
5
5
  SHA512:
6
- metadata.gz: 3823e61df8fe22310db8e66362d89e7f6dbb9147182ee3d04a953846daea6361a5ae0005fd89950c6b23861351bfddfa179ea571c13a42af5466b1d036b930b2
7
- data.tar.gz: 1686a9888e6b25498b3e20a46a3d4ad2c11f0c28b7556f5b405bebbf2cef3d0547d725ff1f593d5b3ed6a747848ac6049f4b51da98d73949cdb7d3056750e0d3
6
+ metadata.gz: 2188d1ded294cc709cf1a9546a3583dfd31d3b374a57dc3237400452c61eed648616f854a408c91901a2615eaba592fb2c00d0509d184acc1bc5499e447dffb0
7
+ data.tar.gz: d76142785560a6e074ca2d4712072352393e08e4d60c8a874d8c7b0a2273320a7d480f4db618b6f0836a3e9f3a0d48b547250eb6a2323c68ecfb4c39940db640
data/README.md CHANGED
@@ -83,9 +83,37 @@ Or install it yourself as:
83
83
 
84
84
  + You can check the call status by `get_simple_playback_status()` method. You will provide call-id of the phone call you want to check.
85
85
 
86
-
87
86
  ## Sample Code 3
88
87
 
88
+ ### TTS Playback
89
+
90
+ sid = ENV['XOXZO_API_SID']
91
+ token = ENV['XOXZO_API_AUTH_TOKEN']
92
+ xc = XoxzoClient.new(sid,token)
93
+ res = xc.call_tts_playback(caller:"810812345678",recipient: "+818012345678",tts_message:"Hello",tts_lang:"en")
94
+ if res.errors != nil
95
+ pp res
96
+ exit -1
97
+ end
98
+
99
+ callid = res.messages[0]['callid']
100
+ pp xc.get_simple_playback_status(callid: callid)
101
+
102
+ #### Explanation
103
+
104
+ + You can call `call_tts_playback()` method to playback TTS message. You need to provide four parameters.
105
+
106
+ - caller: this number will be displayed on the recipient device.
107
+ - tts_message: TTS text message you want to playback.
108
+ - tts_lang: language code of TTS call.
109
+ - recipient: phone number of the sms recipient. This must start with Japanese country code "+81" and follow the E.164 format.
110
+
111
+ + This method will return `XoxzoResponse` object. If `XoxzoResponse.errors == nil`, `XoxzoResponse.messages[0]['callid']` is the call id that you can pass to the `get_simple_playback_status()` call.
112
+
113
+ + You can check the call status by `get_simple_playback_status()` method. You will provide call-id of the phone call you want to check.
114
+
115
+ ## Sample Code 4
116
+
89
117
  ### DIN (Dial in numbers)
90
118
 
91
119
  ### Get list of available DINs.
@@ -7,13 +7,13 @@ module Xoxzo
7
7
  module Cloudruby
8
8
 
9
9
  # Return object class for Xoxzo Cloud API
10
- class XoxzoRespose
10
+ class XoxzoResponse
11
11
  def initialize(errors: nil, message: Hash.new, messages: [])
12
12
  # error status, nil if no errors
13
13
  @errors = errors
14
- # return informaint in hash
14
+ # return information in hash
15
15
  @message = message
16
- # retrun information in array
16
+ # return information in array
17
17
  @messages = messages
18
18
  end
19
19
  attr_accessor :errors,:message,:messages
@@ -24,7 +24,7 @@ module Xoxzo
24
24
  # initialize xoxzo api client
25
25
  # sid :: your api sid of Xoxzo account
26
26
  # token :: your api token of Xoxzo account
27
- # retrun :: XoxzoRespose
27
+ # return :: XoxzoResponse
28
28
  def initialize(sid,token)
29
29
  @auth = {:username => sid, :password => token}
30
30
  api_host = "https://api.xoxzo.com"
@@ -37,7 +37,7 @@ module Xoxzo
37
37
  # messages :: sms text message
38
38
  # recipient :: sms recipient phone numner eg. "+818012345678", remove first 0 in front of area number
39
39
  # sender :: sem sender phone number. This value may not be displayed as is for some operators.
40
- # retrun :: XoxzoRespose
40
+ # return :: XoxzoResponse
41
41
  def send_sms(message:, recipient:, sender:)
42
42
  body = {"message" => message , "recipient" => recipient , "sender" => sender}
43
43
  res = HTTParty.post(@xoxzo_api_sms_url, :basic_auth => @auth,
@@ -45,30 +45,30 @@ module Xoxzo
45
45
  #:debug_output => $stdout,
46
46
  :headers => { 'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json'})
47
47
  if res.code == 201
48
- xr = XoxzoRespose.new(messages: json_safe_parse(res.body))
48
+ xr = XoxzoResponse.new(messages: json_safe_parse(res.body))
49
49
  else
50
- xr = XoxzoRespose.new(errors: res.code,message: json_safe_parse(res.body))
50
+ xr = XoxzoResponse.new(errors: res.code,message: json_safe_parse(res.body))
51
51
  end
52
52
  return xr
53
53
  end
54
54
 
55
55
  # get sms delivery status method
56
56
  # msgid :: message id of in the return value of the send_sms method.
57
- # retrun :: XoxzoRespose
57
+ # return :: XoxzoResponse
58
58
  def get_sms_delivery_status(msgid:)
59
59
  url = @xoxzo_api_sms_url + msgid
60
60
  res = HTTParty.get(url, :basic_auth => @auth)
61
61
  if res.code == 200
62
- xr = XoxzoRespose.new(message: json_safe_parse(res.body))
62
+ xr = XoxzoResponse.new(message: json_safe_parse(res.body))
63
63
  else
64
- xr = XoxzoRespose.new(errors: res.code,message: json_safe_parse(res.body))
64
+ xr = XoxzoResponse.new(errors: res.code,message: json_safe_parse(res.body))
65
65
  end
66
66
  return xr
67
67
  end
68
68
 
69
69
  # get setn sms list method
70
70
  # send_data :: query string. eg. "=2016-05-18"
71
- # retrun :: XoxzoRespose
71
+ # return :: XoxzoResponse
72
72
  def get_sent_sms_list(sent_date: nil)
73
73
  if sent_date == nil
74
74
  url = @xoxzo_api_sms_url
@@ -77,41 +77,60 @@ module Xoxzo
77
77
  end
78
78
  res = HTTParty.get(url, :basic_auth => @auth)
79
79
  if res.code == 200
80
- xr = XoxzoRespose.new(messages: json_safe_parse(res.body))
80
+ xr = XoxzoResponse.new(messages: json_safe_parse(res.body))
81
81
  else
82
- xr = XoxzoRespose.new(errors: res.code, message: json_safe_parse(res.body))
82
+ xr = XoxzoResponse.new(errors: res.code, message: json_safe_parse(res.body))
83
83
  end
84
84
  return xr
85
85
  end
86
86
 
87
- # call simple palyback method
87
+ # call simple playback method
88
88
  # caller :: caller phone number displayed on the recipient hand set
89
- # recipient :: sms recipient phone numner eg. "+818012345678", remove first 0 in front of area number
89
+ # recipient :: sms recipient phone number eg. "+818012345678", remove first 0 in front of area number
90
90
  # recording_url :: URL of the mp3 file to playback. eg. "http://example.com/example.mp3"
91
- # retrun :: XoxzoRespose
91
+ # return :: XoxzoResponse
92
92
  def call_simple_playback(caller:, recipient:, recording_url:)
93
93
  body = {"caller" => caller , "recipient" => recipient , "recording_url" => recording_url}
94
94
  res = HTTParty.post(@xoxzo_api_voice_simple_url, :basic_auth => @auth,
95
95
  :body => body,
96
96
  :headers => { 'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json'})
97
97
  if res.code == 201
98
- xr = XoxzoRespose.new(messages: json_safe_parse(res.body))
98
+ xr = XoxzoResponse.new(messages: json_safe_parse(res.body))
99
+ else
100
+ xr = XoxzoResponse.new(errors: res.code,message: json_safe_parse(res.body))
101
+ end
102
+ return xr
103
+ end
104
+
105
+ # call TTS playback method
106
+ # caller :: caller phone number displayed on the recipient hand set
107
+ # recipient :: sms recipient phone number eg. "+818012345678", remove first 0 in front of area number
108
+ # tts_message :: TTS text message you want to playback. eg. "Hello"
109
+ # tts_lang :: language code of TTS call. eg. "en"
110
+ # return :: XoxzoResponse
111
+ def call_tts_playback(caller:, recipient:, tts_message:, tts_lang:)
112
+ body = {"caller" => caller , "recipient" => recipient , "tts_message" => tts_message , "tts_lang" => tts_lang}
113
+ res = HTTParty.post(@xoxzo_api_voice_simple_url, :basic_auth => @auth,
114
+ :body => body,
115
+ :headers => { 'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json'})
116
+ if res.code == 201
117
+ xr = XoxzoResponse.new(messages: json_safe_parse(res.body))
99
118
  else
100
- xr = XoxzoRespose.new(errors: res.code,message: json_safe_parse(res.body))
119
+ xr = XoxzoResponse.new(errors: res.code,message: json_safe_parse(res.body))
101
120
  end
102
121
  return xr
103
122
  end
104
123
 
105
- # get simple plaback status method
124
+ # get simple playback status method
106
125
  # callid :: call id in the return value of the call_simple_playback method
107
- # retrun :: XoxzoRespose
126
+ # return :: XoxzoResponse
108
127
  def get_simple_playback_status(callid:)
109
128
  url = @xoxzo_api_voice_simple_url + callid
110
129
  res = HTTParty.get(url, :basic_auth => @auth)
111
130
  if res.code == 200
112
- xr = XoxzoRespose.new(message: json_safe_parse(res.body))
131
+ xr = XoxzoResponse.new(message: json_safe_parse(res.body))
113
132
  else
114
- xr = XoxzoRespose.new(errors: res.code,message: json_safe_parse(res.body))
133
+ xr = XoxzoResponse.new(errors: res.code,message: json_safe_parse(res.body))
115
134
  end
116
135
  return xr
117
136
  end
@@ -124,9 +143,9 @@ module Xoxzo
124
143
  end
125
144
  res = HTTParty.get(url, :basic_auth => @auth)
126
145
  if res.code == 200
127
- xr = XoxzoRespose.new(message: json_safe_parse(res.body))
146
+ xr = XoxzoResponse.new(message: json_safe_parse(res.body))
128
147
  else
129
- xr = XoxzoRespose.new(errors: res.code,message: json_safe_parse(res.body))
148
+ xr = XoxzoResponse.new(errors: res.code,message: json_safe_parse(res.body))
130
149
  end
131
150
  return xr
132
151
  end
@@ -138,9 +157,9 @@ module Xoxzo
138
157
  :body => body,
139
158
  :headers => { 'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json'})
140
159
  if res.code == 201
141
- xr = XoxzoRespose.new(messages: json_safe_parse(res.body))
160
+ xr = XoxzoResponse.new(messages: json_safe_parse(res.body))
142
161
  else
143
- xr = XoxzoRespose.new(errors: res.code,message: json_safe_parse(res.body))
162
+ xr = XoxzoResponse.new(errors: res.code,message: json_safe_parse(res.body))
144
163
  end
145
164
  return xr
146
165
  end
@@ -149,9 +168,9 @@ module Xoxzo
149
168
  url = @xoxzo_api_dins_url + 'subscriptions/' + din_uid + '/'
150
169
  res = HTTParty.delete(url, :basic_auth => @auth)
151
170
  if res.code == 200
152
- xr = XoxzoRespose.new(messages: json_safe_parse(res.body))
171
+ xr = XoxzoResponse.new(messages: json_safe_parse(res.body))
153
172
  else
154
- xr = XoxzoRespose.new(errors: res.code,message: json_safe_parse(res.body))
173
+ xr = XoxzoResponse.new(errors: res.code,message: json_safe_parse(res.body))
155
174
  end
156
175
  return xr
157
176
  end
@@ -160,9 +179,9 @@ module Xoxzo
160
179
  url = @xoxzo_api_dins_url + 'subscriptions/'
161
180
  res = HTTParty.get(url, :basic_auth => @auth)
162
181
  if res.code == 200
163
- xr = XoxzoRespose.new(messages: json_safe_parse(res.body))
182
+ xr = XoxzoResponse.new(messages: json_safe_parse(res.body))
164
183
  else
165
- xr = XoxzoRespose.new(errors: res.code,message: json_safe_parse(res.body))
184
+ xr = XoxzoResponse.new(errors: res.code,message: json_safe_parse(res.body))
166
185
  end
167
186
  return xr
168
187
  end
@@ -174,9 +193,9 @@ module Xoxzo
174
193
  :body => body,
175
194
  :headers => { 'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json'})
176
195
  if res.code == 200
177
- xr = XoxzoRespose.new(messages: json_safe_parse(res.body))
196
+ xr = XoxzoResponse.new(messages: json_safe_parse(res.body))
178
197
  else
179
- xr = XoxzoRespose.new(errors: res.code,message: json_safe_parse(res.body))
198
+ xr = XoxzoResponse.new(errors: res.code,message: json_safe_parse(res.body))
180
199
  end
181
200
  return xr
182
201
  end
@@ -5,7 +5,7 @@ require 'xoxzo/cloudruby/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "xoxzo-cloudruby"
8
- spec.version = Xoxzo::Cloudruby::VERSION
8
+ spec.version = "0.4.0"
9
9
  spec.authors = ["Akira Nonaka"]
10
10
  spec.email = ["akira@xoxzo.com"]
11
11
  spec.licenses = ['MIT']
metadata CHANGED
@@ -1,69 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xoxzo-cloudruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Nonaka
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-24 00:00:00.000000000 Z
11
+ date: 2017-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.13.7
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.13.7
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.11'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.11'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '10.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '10.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
69
  description: Xoxzo telephony API library in Ruby. Pleae look http://docs.xoxzo.com/en/
@@ -74,9 +74,9 @@ executables: []
74
74
  extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
- - ".gitignore"
78
- - ".rspec"
79
- - ".travis.yml"
77
+ - .gitignore
78
+ - .rspec
79
+ - .travis.yml
80
80
  - Gemfile
81
81
  - LICENSE
82
82
  - Makefile
@@ -98,19 +98,18 @@ require_paths:
98
98
  - lib
99
99
  required_ruby_version: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  required_rubygems_version: !ruby/object:Gem::Requirement
105
105
  requirements:
106
- - - ">="
106
+ - - '>='
107
107
  - !ruby/object:Gem::Version
108
108
  version: '0'
109
109
  requirements: []
110
110
  rubyforge_project:
111
- rubygems_version: 2.4.5.1
111
+ rubygems_version: 2.6.10
112
112
  signing_key:
113
113
  specification_version: 4
114
114
  summary: Xoxzo telephony API library
115
115
  test_files: []
116
- has_rdoc: