oneapi 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +37 -0
- data/Rakefile +2 -0
- data/lib/endpoints/ServiceEndpoints.rb +144 -0
- data/lib/foundation/FormParameter.rb +25 -0
- data/lib/foundation/FormParameters.rb +39 -0
- data/lib/foundation/JSONRequest.rb +109 -0
- data/lib/location/Locate.rb +100 -0
- data/lib/mms/MMSRetrieve.rb +198 -0
- data/lib/mms/MMSSend.rb +205 -0
- data/lib/oneapi.rb +6 -0
- data/lib/oneapi/version.rb +3 -0
- data/lib/payment/Charge.rb +166 -0
- data/lib/payment/Reservation.rb +295 -0
- data/lib/response/Attachment.rb +50 -0
- data/lib/response/HTTPResponse.rb +63 -0
- data/lib/response/PolicyException.rb +58 -0
- data/lib/response/RequestError.rb +41 -0
- data/lib/response/ResourceReference.rb +24 -0
- data/lib/response/ServiceException.rb +50 -0
- data/lib/response/location/CurrentLocation.rb +76 -0
- data/lib/response/location/ErrorInformation.rb +41 -0
- data/lib/response/location/LocationResponse.rb +49 -0
- data/lib/response/location/TerminalLocation.rb +67 -0
- data/lib/response/location/TerminalLocationList.rb +36 -0
- data/lib/response/mms/CallbackReference.rb +37 -0
- data/lib/response/mms/DeliveryInfo.rb +37 -0
- data/lib/response/mms/DeliveryInfoList.rb +49 -0
- data/lib/response/mms/DeliveryInfoNotification.rb +39 -0
- data/lib/response/mms/DeliveryReceiptSubscription.rb +39 -0
- data/lib/response/mms/HTTPResponse.rb +35 -0
- data/lib/response/mms/InboundMMSMessage.rb +37 -0
- data/lib/response/mms/InboundMessage.rb +91 -0
- data/lib/response/mms/InboundMessageList.rb +75 -0
- data/lib/response/mms/InboundMessageNotification.rb +39 -0
- data/lib/response/mms/MMSDeliveryReceiptSubscriptionResponse.rb +49 -0
- data/lib/response/mms/MMSMessageReceiptSubscriptionResponse.rb +49 -0
- data/lib/response/mms/MMSSendDeliveryStatusResponse.rb +49 -0
- data/lib/response/mms/RetrieveMMSMessageResponse.rb +57 -0
- data/lib/response/mms/RetrieveMMSResponse.rb +49 -0
- data/lib/response/mms/SendMMSResponse.rb +49 -0
- data/lib/response/payment/AmountReservationResponse.rb +49 -0
- data/lib/response/payment/AmountReservationTransaction.rb +116 -0
- data/lib/response/payment/AmountResponse.rb +49 -0
- data/lib/response/payment/AmountTransaction.rb +103 -0
- data/lib/response/payment/ChargingInformation.rb +50 -0
- data/lib/response/payment/PaymentAmount.rb +51 -0
- data/lib/response/sms/CallbackReference.rb +37 -0
- data/lib/response/sms/DeliveryInfo.rb +37 -0
- data/lib/response/sms/DeliveryInfoList.rb +49 -0
- data/lib/response/sms/DeliveryInfoNotification.rb +39 -0
- data/lib/response/sms/DeliveryReceiptSubscription.rb +39 -0
- data/lib/response/sms/HTTPResponse.rb +35 -0
- data/lib/response/sms/InboundSMSMessage.rb +89 -0
- data/lib/response/sms/InboundSMSMessageList.rb +75 -0
- data/lib/response/sms/InboundSMSMessageNotification.rb +39 -0
- data/lib/response/sms/RetrieveSMSResponse.rb +49 -0
- data/lib/response/sms/SMSDeliveryReceiptSubscriptionResponse.rb +49 -0
- data/lib/response/sms/SMSMessageReceiptSubscriptionResponse.rb +49 -0
- data/lib/response/sms/SMSSendDeliveryStatusResponse.rb +49 -0
- data/lib/response/sms/SendSMSResponse.rb +49 -0
- data/lib/sms/SMSRetrieve.rb +125 -0
- data/lib/sms/SMSSend.rb +168 -0
- data/oneapi.gemspec +23 -0
- metadata +138 -0
@@ -0,0 +1,198 @@
|
|
1
|
+
require "response/mms/InboundMMSMessage"
|
2
|
+
require "response/mms/InboundMessageList"
|
3
|
+
require "response/mms/RetrieveMMSResponse"
|
4
|
+
require "response/mms/InboundMessage"
|
5
|
+
require "response/mms/RetrieveMMSMessageResponse"
|
6
|
+
require "response/ResourceReference"
|
7
|
+
require "response/mms/MMSMessageReceiptSubscriptionResponse"
|
8
|
+
require "response/mms/HTTPResponse"
|
9
|
+
require 'json'
|
10
|
+
require 'uri'
|
11
|
+
require 'net/http'
|
12
|
+
require 'foundation/FormParameters'
|
13
|
+
require 'foundation/JSONRequest'
|
14
|
+
require 'Mail'
|
15
|
+
require 'response/Attachment'
|
16
|
+
|
17
|
+
class MMSRetrieve
|
18
|
+
|
19
|
+
def initialize(endpoints, username, password)
|
20
|
+
@endpoints=endpoints
|
21
|
+
@username=username
|
22
|
+
@password=password
|
23
|
+
end
|
24
|
+
def getEndpoints
|
25
|
+
@endpoints
|
26
|
+
end
|
27
|
+
|
28
|
+
def setEndpoints(endpoints)
|
29
|
+
@endpoints=endpoints
|
30
|
+
end
|
31
|
+
|
32
|
+
def getUsername
|
33
|
+
@username
|
34
|
+
end
|
35
|
+
|
36
|
+
def setUsername(username)
|
37
|
+
@username=username
|
38
|
+
end
|
39
|
+
|
40
|
+
def getPassword
|
41
|
+
@password
|
42
|
+
end
|
43
|
+
|
44
|
+
def setPassword(password)
|
45
|
+
@password=password
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
def retrieveMessages(registrationId,maxBatchSize)
|
50
|
+
baseurl=@endpoints.getRetrieveMMSEndpoint()
|
51
|
+
requestProcessor=JSONRequest.new()
|
52
|
+
if baseurl.index('{registrationId}')!=nil then
|
53
|
+
baseurl=baseurl.gsub('{registrationId}',CGI::escape(registrationId.to_s))
|
54
|
+
end
|
55
|
+
if baseurl.index('{maxBatchSize}')!=nil then
|
56
|
+
baseurl=baseurl.gsub('{maxBatchSize}',CGI::escape(maxBatchSize.to_s))
|
57
|
+
end
|
58
|
+
rawresponse=requestProcessor.get(baseurl,'application/json', @username, @password)
|
59
|
+
response=RetrieveMMSResponse.new()
|
60
|
+
if (rawresponse!=nil) && (rawresponse.getContent()!=nil)
|
61
|
+
jsondata=JSON.parse(rawresponse.getContent())
|
62
|
+
if (jsondata!=nil) && (jsondata['inboundMessageList']!=nil) then
|
63
|
+
response.setInboundMessageListJSON(jsondata['inboundMessageList'])
|
64
|
+
end
|
65
|
+
end
|
66
|
+
if rawresponse.getCode()!=nil then
|
67
|
+
response.setHTTPResponseCode(rawresponse.getCode())
|
68
|
+
end
|
69
|
+
if rawresponse.getLocation()!=nil then
|
70
|
+
response.setLocation(rawresponse.getLocation())
|
71
|
+
end
|
72
|
+
if rawresponse.getContentType()!=nil then
|
73
|
+
response.setContentType(rawresponse.getContentType())
|
74
|
+
end
|
75
|
+
return response
|
76
|
+
end
|
77
|
+
|
78
|
+
def retrieveMessageContent(registrationId,messageId,resFormat)
|
79
|
+
baseurl=@endpoints.getRetrieveMMSMessageEndpoint()
|
80
|
+
requestProcessor=JSONRequest.new()
|
81
|
+
if baseurl.index('{registrationId}')!=nil then
|
82
|
+
baseurl=baseurl.gsub('{registrationId}',CGI::escape(registrationId.to_s))
|
83
|
+
end
|
84
|
+
if baseurl.index('{messageId}')!=nil then
|
85
|
+
baseurl=baseurl.gsub('{messageId}',CGI::escape(messageId.to_s))
|
86
|
+
end
|
87
|
+
if baseurl.index('{resFormat}')!=nil then
|
88
|
+
baseurl=baseurl.gsub('{resFormat}',CGI::escape(resFormat.to_s))
|
89
|
+
end
|
90
|
+
rawresponse=requestProcessor.get(baseurl,'application/json', @username, @password)
|
91
|
+
response=RetrieveMMSMessageResponse.new()
|
92
|
+
if (rawresponse!=nil) && (rawresponse.getContent()!=nil) then
|
93
|
+
mimecontent="Content-Type: "+rawresponse.getContentType()+'\r\n\r\n'+rawresponse.getContent()
|
94
|
+
mimemsg=Mail.read_from_string(mimecontent.gsub("\\t","\t").gsub("\\n","\n").gsub("\\r","\r").gsub("\\\"","\""))
|
95
|
+
response=RetrieveMMSMessageResponse.new()
|
96
|
+
attachments=nil
|
97
|
+
for part in mimemsg.parts
|
98
|
+
contentType=part.content_type.strip
|
99
|
+
if (contentType.index(";")!=nil)
|
100
|
+
ct=contentType.split(";")
|
101
|
+
contentType=ct[0].strip
|
102
|
+
end
|
103
|
+
filename=nil
|
104
|
+
contentDisposition=part.content_disposition
|
105
|
+
if (contentDisposition!=nil)
|
106
|
+
cdp=contentDisposition.split(";")
|
107
|
+
for cvp in cdp
|
108
|
+
kv=cvp.split("=")
|
109
|
+
if kv[0].strip=="name"
|
110
|
+
filename=kv[1].gsub("\"","").strip
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
if contentType!='multipart/mixed'
|
115
|
+
payload=part.body.to_s
|
116
|
+
if (contentType!=nil) && (contentType=='application/json') && (filename!=nil) && (filename=="root-fields") && (payload!=nil)
|
117
|
+
jsondata=JSON.parse(payload)
|
118
|
+
if (jsondata!=nil) && (jsondata['inboundMessage']!=nil)
|
119
|
+
response.setInboundMessage(jsondata['inboundMessage'])
|
120
|
+
end
|
121
|
+
else
|
122
|
+
attachment=Attachment.new
|
123
|
+
attachment.setContentType(contentType)
|
124
|
+
attachment.setName(filename)
|
125
|
+
attachment.setData(payload)
|
126
|
+
if attachments==nil
|
127
|
+
attachments=Array.new
|
128
|
+
end
|
129
|
+
attachments[attachments.length]=attachment
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
response.setAttachment(attachments)
|
134
|
+
end
|
135
|
+
if rawresponse.getCode()!=nil then
|
136
|
+
response.setHTTPResponseCode(rawresponse.getCode())
|
137
|
+
end
|
138
|
+
if rawresponse.getLocation()!=nil then
|
139
|
+
response.setLocation(rawresponse.getLocation())
|
140
|
+
end
|
141
|
+
if rawresponse.getContentType()!=nil then
|
142
|
+
response.setContentType(rawresponse.getContentType())
|
143
|
+
end
|
144
|
+
return response
|
145
|
+
end
|
146
|
+
|
147
|
+
def subscribeToReceiptNotifications(destinationAddress,notifyURL,criteria,notificationFormat,clientCorrelator,callbackData)
|
148
|
+
baseurl=@endpoints.getMMSReceiptSubscriptionsEndpoint()
|
149
|
+
requestProcessor=JSONRequest.new()
|
150
|
+
formparameters=FormParameters.new()
|
151
|
+
formparameters.put('destinationAddress',destinationAddress)
|
152
|
+
formparameters.put('notifyURL',notifyURL)
|
153
|
+
formparameters.put('criteria',criteria)
|
154
|
+
formparameters.put('notificationFormat',notificationFormat)
|
155
|
+
formparameters.put('clientCorrelator',clientCorrelator)
|
156
|
+
formparameters.put('callbackData',callbackData)
|
157
|
+
postdata=formparameters.encodeParameters()
|
158
|
+
rawresponse=requestProcessor.post(baseurl,postdata,'application/json', @username, @password)
|
159
|
+
response=MMSMessageReceiptSubscriptionResponse.new()
|
160
|
+
if (rawresponse!=nil) && (rawresponse.getContent()!=nil)
|
161
|
+
jsondata=JSON.parse(rawresponse.getContent())
|
162
|
+
if (jsondata!=nil) && (jsondata['resourceReference']!=nil) then
|
163
|
+
response.setResourceReferenceJSON(jsondata['resourceReference'])
|
164
|
+
end
|
165
|
+
end
|
166
|
+
if rawresponse.getCode()!=nil then
|
167
|
+
response.setHTTPResponseCode(rawresponse.getCode())
|
168
|
+
end
|
169
|
+
if rawresponse.getLocation()!=nil then
|
170
|
+
response.setLocation(rawresponse.getLocation())
|
171
|
+
end
|
172
|
+
if rawresponse.getContentType()!=nil then
|
173
|
+
response.setContentType(rawresponse.getContentType())
|
174
|
+
end
|
175
|
+
return response
|
176
|
+
end
|
177
|
+
|
178
|
+
def cancelReceiptNotifications(subscriptionId)
|
179
|
+
baseurl=@endpoints.getCancelMMSReceiptSubscriptionEndpoint()
|
180
|
+
requestProcessor=JSONRequest.new()
|
181
|
+
if baseurl.index('{subscriptionId}')!=nil then
|
182
|
+
baseurl=baseurl.gsub('{subscriptionId}',CGI::escape(subscriptionId.to_s))
|
183
|
+
end
|
184
|
+
rawresponse=requestProcessor.delete(baseurl,@username,@password)
|
185
|
+
response=HTTPResponse.new()
|
186
|
+
if rawresponse.getCode()!=nil then
|
187
|
+
response.setHTTPResponseCode(rawresponse.getCode())
|
188
|
+
end
|
189
|
+
if rawresponse.getLocation()!=nil then
|
190
|
+
response.setLocation(rawresponse.getLocation())
|
191
|
+
end
|
192
|
+
if rawresponse.getContentType()!=nil then
|
193
|
+
response.setContentType(rawresponse.getContentType())
|
194
|
+
end
|
195
|
+
return response
|
196
|
+
end
|
197
|
+
|
198
|
+
end
|
data/lib/mms/MMSSend.rb
ADDED
@@ -0,0 +1,205 @@
|
|
1
|
+
require "response/ResourceReference"
|
2
|
+
require "response/mms/SendMMSResponse"
|
3
|
+
require "response/mms/DeliveryInfo"
|
4
|
+
require "response/mms/DeliveryInfoList"
|
5
|
+
require "response/mms/MMSSendDeliveryStatusResponse"
|
6
|
+
require "response/mms/CallbackReference"
|
7
|
+
require "response/mms/DeliveryReceiptSubscription"
|
8
|
+
require "response/mms/MMSDeliveryReceiptSubscriptionResponse"
|
9
|
+
require "response/mms/HTTPResponse"
|
10
|
+
require 'json'
|
11
|
+
require 'uri'
|
12
|
+
require 'net/http'
|
13
|
+
require 'foundation/FormParameters'
|
14
|
+
require 'foundation/JSONRequest'
|
15
|
+
require 'Base64'
|
16
|
+
require 'uuid'
|
17
|
+
|
18
|
+
class MMSSend
|
19
|
+
|
20
|
+
def initialize(endpoints, username, password)
|
21
|
+
@endpoints=endpoints
|
22
|
+
@username=username
|
23
|
+
@password=password
|
24
|
+
end
|
25
|
+
def getEndpoints
|
26
|
+
@endpoints
|
27
|
+
end
|
28
|
+
|
29
|
+
def setEndpoints(endpoints)
|
30
|
+
@endpoints=endpoints
|
31
|
+
end
|
32
|
+
|
33
|
+
def getUsername
|
34
|
+
@username
|
35
|
+
end
|
36
|
+
|
37
|
+
def setUsername(username)
|
38
|
+
@username=username
|
39
|
+
end
|
40
|
+
|
41
|
+
def getPassword
|
42
|
+
@password
|
43
|
+
end
|
44
|
+
|
45
|
+
def setPassword(password)
|
46
|
+
@password=password
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
def sendMMS(senderAddress,address,message,attachments,clientCorrelator,notifyURL,senderName,callbackData)
|
51
|
+
baseurl=@endpoints.getSendMMSEndpoint()
|
52
|
+
requestProcessor=JSONRequest.new()
|
53
|
+
formparameters=FormParameters.new()
|
54
|
+
formparameters.put('senderAddress',senderAddress)
|
55
|
+
if baseurl.index('{senderAddress}')!=nil then
|
56
|
+
baseurl=baseurl.gsub('{senderAddress}',CGI::escape(senderAddress.to_s))
|
57
|
+
end
|
58
|
+
if address!=nil
|
59
|
+
for item in address
|
60
|
+
formparameters.put('address',item)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
formparameters.put('message',message)
|
64
|
+
formparameters.put('clientCorrelator',clientCorrelator)
|
65
|
+
formparameters.put('notifyURL',notifyURL)
|
66
|
+
formparameters.put('senderName',senderName)
|
67
|
+
formparameters.put('callbackData',callbackData)
|
68
|
+
postdata=formparameters.encodeParameters()
|
69
|
+
uuid=UUID.new
|
70
|
+
boundary=uuid.generate
|
71
|
+
msg = '\r\nMIME-Version: 1.0\r\n'
|
72
|
+
msg << '\r\n--'+boundary+'\r\n'
|
73
|
+
msg << 'Content-Disposition: form-data; name="root-fields"\r\n'
|
74
|
+
msg << 'Content-Type: application/x-www-form-urlencoded\r\n\r\n'
|
75
|
+
msg << postdata
|
76
|
+
msg << '\r\n'
|
77
|
+
if attachments!=nil then
|
78
|
+
for item in attachments
|
79
|
+
if (item!=nil) && (item.getData!=nil) then
|
80
|
+
msg << '\r\n--'+boundary+'\r\n'
|
81
|
+
attachmentName=item.getName()
|
82
|
+
if attachmentName!=nil then
|
83
|
+
msg << 'Content-Disposition: form-data; name="attachments"; filename="'+attachmentName+'"\r\n'
|
84
|
+
else
|
85
|
+
msg << 'Content-Disposition: form-data; name="attachments"\r\n'
|
86
|
+
end
|
87
|
+
msg << 'Content-Transfer-Encoding: base64\r\n'
|
88
|
+
attachmentContentType=item.getContentType()
|
89
|
+
attachmentData=item.getData()
|
90
|
+
if attachmentContentType!=nil then
|
91
|
+
msg << 'Content-Type:'+attachmentContentType+'\r\n'
|
92
|
+
else
|
93
|
+
msg << 'Content-Type: application/octet-stream\r\n'
|
94
|
+
end
|
95
|
+
msg << '\r\n'
|
96
|
+
msg << Base64.encode64(attachmentData).gsub('\n','\r\n')
|
97
|
+
msg << '\r\n'
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
msg << '\r\n--'+boundary+'--\r\n'
|
102
|
+
msg = msg.gsub("\\r", "\r")
|
103
|
+
msg = msg.gsub("\\n", "\n")
|
104
|
+
rawresponse=requestProcessor.postMultipart(baseurl,msg,'application/json', @username, @password, boundary)
|
105
|
+
response=SendMMSResponse.new()
|
106
|
+
if (rawresponse!=nil) && (rawresponse.getContent()!=nil)
|
107
|
+
jsondata=JSON.parse(rawresponse.getContent())
|
108
|
+
if (jsondata!=nil) && (jsondata['resourceReference']!=nil) then
|
109
|
+
response.setResourceReferenceJSON(jsondata['resourceReference'])
|
110
|
+
end
|
111
|
+
end
|
112
|
+
if rawresponse.getCode()!=nil then
|
113
|
+
response.setHTTPResponseCode(rawresponse.getCode())
|
114
|
+
end
|
115
|
+
if rawresponse.getLocation()!=nil then
|
116
|
+
response.setLocation(rawresponse.getLocation())
|
117
|
+
end
|
118
|
+
if rawresponse.getContentType()!=nil then
|
119
|
+
response.setContentType(rawresponse.getContentType())
|
120
|
+
end
|
121
|
+
return response
|
122
|
+
end
|
123
|
+
|
124
|
+
def queryDeliveryStatus(senderAddress,requestId)
|
125
|
+
baseurl=@endpoints.getQueryMMSDeliveryEndpoint()
|
126
|
+
requestProcessor=JSONRequest.new()
|
127
|
+
if baseurl.index('{senderAddress}')!=nil then
|
128
|
+
baseurl=baseurl.gsub('{senderAddress}',CGI::escape(senderAddress.to_s))
|
129
|
+
end
|
130
|
+
if baseurl.index('{requestId}')!=nil then
|
131
|
+
baseurl=baseurl.gsub('{requestId}',CGI::escape(requestId.to_s))
|
132
|
+
end
|
133
|
+
rawresponse=requestProcessor.get(baseurl,'application/json', @username, @password)
|
134
|
+
response=MMSSendDeliveryStatusResponse.new()
|
135
|
+
if (rawresponse!=nil) && (rawresponse.getContent()!=nil)
|
136
|
+
jsondata=JSON.parse(rawresponse.getContent())
|
137
|
+
if (jsondata!=nil) && (jsondata['deliveryInfoList']!=nil) then
|
138
|
+
response.setDeliveryInfoListJSON(jsondata['deliveryInfoList'])
|
139
|
+
end
|
140
|
+
end
|
141
|
+
if rawresponse.getCode()!=nil then
|
142
|
+
response.setHTTPResponseCode(rawresponse.getCode())
|
143
|
+
end
|
144
|
+
if rawresponse.getLocation()!=nil then
|
145
|
+
response.setLocation(rawresponse.getLocation())
|
146
|
+
end
|
147
|
+
if rawresponse.getContentType()!=nil then
|
148
|
+
response.setContentType(rawresponse.getContentType())
|
149
|
+
end
|
150
|
+
return response
|
151
|
+
end
|
152
|
+
|
153
|
+
def subscribeToDeliveryNotifications(senderAddress,clientCorrelator,notifyURL,callbackData)
|
154
|
+
baseurl=@endpoints.getMMSDeliverySubscriptionsEndpoint()
|
155
|
+
requestProcessor=JSONRequest.new()
|
156
|
+
formparameters=FormParameters.new()
|
157
|
+
formparameters.put('senderAddress',senderAddress)
|
158
|
+
if baseurl.index('{senderAddress}')!=nil then
|
159
|
+
baseurl=baseurl.gsub('{senderAddress}',CGI::escape(senderAddress.to_s))
|
160
|
+
end
|
161
|
+
formparameters.put('clientCorrelator',clientCorrelator)
|
162
|
+
formparameters.put('notifyURL',notifyURL)
|
163
|
+
formparameters.put('callbackData',callbackData)
|
164
|
+
postdata=formparameters.encodeParameters()
|
165
|
+
rawresponse=requestProcessor.post(baseurl,postdata,'application/json', @username, @password)
|
166
|
+
response=MMSDeliveryReceiptSubscriptionResponse.new()
|
167
|
+
if (rawresponse!=nil) && (rawresponse.getContent()!=nil)
|
168
|
+
jsondata=JSON.parse(rawresponse.getContent())
|
169
|
+
if (jsondata!=nil) && (jsondata['deliveryReceiptSubscription']!=nil) then
|
170
|
+
response.setDeliveryReceiptSubscriptionJSON(jsondata['deliveryReceiptSubscription'])
|
171
|
+
end
|
172
|
+
end
|
173
|
+
if rawresponse.getCode()!=nil then
|
174
|
+
response.setHTTPResponseCode(rawresponse.getCode())
|
175
|
+
end
|
176
|
+
if rawresponse.getLocation()!=nil then
|
177
|
+
response.setLocation(rawresponse.getLocation())
|
178
|
+
end
|
179
|
+
if rawresponse.getContentType()!=nil then
|
180
|
+
response.setContentType(rawresponse.getContentType())
|
181
|
+
end
|
182
|
+
return response
|
183
|
+
end
|
184
|
+
|
185
|
+
def cancelDeliveryNotifications(subscriptionId)
|
186
|
+
baseurl=@endpoints.getCancelMMSDeliverySubscriptionEndpoint()
|
187
|
+
requestProcessor=JSONRequest.new()
|
188
|
+
if baseurl.index('{subscriptionId}')!=nil then
|
189
|
+
baseurl=baseurl.gsub('{subscriptionId}',CGI::escape(subscriptionId.to_s))
|
190
|
+
end
|
191
|
+
rawresponse=requestProcessor.delete(baseurl,@username,@password)
|
192
|
+
response=HTTPResponse.new()
|
193
|
+
if rawresponse.getCode()!=nil then
|
194
|
+
response.setHTTPResponseCode(rawresponse.getCode())
|
195
|
+
end
|
196
|
+
if rawresponse.getLocation()!=nil then
|
197
|
+
response.setLocation(rawresponse.getLocation())
|
198
|
+
end
|
199
|
+
if rawresponse.getContentType()!=nil then
|
200
|
+
response.setContentType(rawresponse.getContentType())
|
201
|
+
end
|
202
|
+
return response
|
203
|
+
end
|
204
|
+
|
205
|
+
end
|
data/lib/oneapi.rb
ADDED
@@ -0,0 +1,166 @@
|
|
1
|
+
require "response/payment/AmountTransaction"
|
2
|
+
require "response/payment/AmountResponse"
|
3
|
+
require 'json'
|
4
|
+
require 'uri'
|
5
|
+
require 'net/http'
|
6
|
+
require 'foundation/FormParameters'
|
7
|
+
require 'foundation/JSONRequest'
|
8
|
+
|
9
|
+
class Charge
|
10
|
+
|
11
|
+
def initialize(endpoints, username, password)
|
12
|
+
@endpoints=endpoints
|
13
|
+
@username=username
|
14
|
+
@password=password
|
15
|
+
end
|
16
|
+
def getEndpoints
|
17
|
+
@endpoints
|
18
|
+
end
|
19
|
+
|
20
|
+
def setEndpoints(endpoints)
|
21
|
+
@endpoints=endpoints
|
22
|
+
end
|
23
|
+
|
24
|
+
def getUsername
|
25
|
+
@username
|
26
|
+
end
|
27
|
+
|
28
|
+
def setUsername(username)
|
29
|
+
@username=username
|
30
|
+
end
|
31
|
+
|
32
|
+
def getPassword
|
33
|
+
@password
|
34
|
+
end
|
35
|
+
|
36
|
+
def setPassword(password)
|
37
|
+
@password=password
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
def charge(endUserId,referenceCode,description,currency,amount,code,clientCorrelator,onBehalfOf,purchaseCategoryCode,channel,taxAmount,serviceId,productId)
|
42
|
+
baseurl=@endpoints.getAmountChargeEndpoint()
|
43
|
+
requestProcessor=JSONRequest.new()
|
44
|
+
formparameters=FormParameters.new()
|
45
|
+
formparameters.put('endUserId',endUserId)
|
46
|
+
if baseurl.index('{endUserId}')!=nil then
|
47
|
+
baseurl=baseurl.gsub('{endUserId}',CGI::escape(endUserId.to_s))
|
48
|
+
end
|
49
|
+
formparameters.put('referenceCode',referenceCode)
|
50
|
+
formparameters.put('description',description)
|
51
|
+
formparameters.put('currency',currency)
|
52
|
+
formparameters.put('amount',amount)
|
53
|
+
formparameters.put('code',code)
|
54
|
+
formparameters.put('clientCorrelator',clientCorrelator)
|
55
|
+
formparameters.put('onBehalfOf',onBehalfOf)
|
56
|
+
formparameters.put('purchaseCategoryCode',purchaseCategoryCode)
|
57
|
+
formparameters.put('channel',channel)
|
58
|
+
formparameters.put('taxAmount',taxAmount)
|
59
|
+
formparameters.put('serviceId',serviceId)
|
60
|
+
formparameters.put('productId',productId)
|
61
|
+
postdata=formparameters.encodeParameters()
|
62
|
+
rawresponse=requestProcessor.post(baseurl,postdata,'application/json', @username, @password)
|
63
|
+
response=AmountResponse.new()
|
64
|
+
if (rawresponse!=nil) && (rawresponse.getContent()!=nil)
|
65
|
+
jsondata=JSON.parse(rawresponse.getContent())
|
66
|
+
if (jsondata!=nil) && (jsondata['amountTransaction']!=nil) then
|
67
|
+
response.setAmountTransactionJSON(jsondata['amountTransaction'])
|
68
|
+
end
|
69
|
+
end
|
70
|
+
if rawresponse.getCode()!=nil then
|
71
|
+
response.setHTTPResponseCode(rawresponse.getCode())
|
72
|
+
end
|
73
|
+
if rawresponse.getLocation()!=nil then
|
74
|
+
response.setLocation(rawresponse.getLocation())
|
75
|
+
end
|
76
|
+
if rawresponse.getContentType()!=nil then
|
77
|
+
response.setContentType(rawresponse.getContentType())
|
78
|
+
end
|
79
|
+
return response
|
80
|
+
end
|
81
|
+
|
82
|
+
def chargeWithCallback(endUserId,referenceCode,description,currency,amount,code,callbackURL,clientCorrelator,onBehalfOf,purchaseCategoryCode,channel,taxAmount,serviceId,productId)
|
83
|
+
baseurl=@endpoints.getAmountChargeEndpoint()
|
84
|
+
requestProcessor=JSONRequest.new()
|
85
|
+
formparameters=FormParameters.new()
|
86
|
+
formparameters.put('endUserId',endUserId)
|
87
|
+
if baseurl.index('{endUserId}')!=nil then
|
88
|
+
baseurl=baseurl.gsub('{endUserId}',CGI::escape(endUserId.to_s))
|
89
|
+
end
|
90
|
+
formparameters.put('referenceCode',referenceCode)
|
91
|
+
formparameters.put('description',description)
|
92
|
+
formparameters.put('currency',currency)
|
93
|
+
formparameters.put('amount',amount)
|
94
|
+
formparameters.put('code',code)
|
95
|
+
formparameters.put('callbackURL',callbackURL)
|
96
|
+
formparameters.put('clientCorrelator',clientCorrelator)
|
97
|
+
formparameters.put('onBehalfOf',onBehalfOf)
|
98
|
+
formparameters.put('purchaseCategoryCode',purchaseCategoryCode)
|
99
|
+
formparameters.put('channel',channel)
|
100
|
+
formparameters.put('taxAmount',taxAmount)
|
101
|
+
formparameters.put('serviceId',serviceId)
|
102
|
+
formparameters.put('productId',productId)
|
103
|
+
postdata=formparameters.encodeParameters()
|
104
|
+
rawresponse=requestProcessor.post(baseurl,postdata,'application/json', @username, @password)
|
105
|
+
response=AmountResponse.new()
|
106
|
+
if (rawresponse!=nil) && (rawresponse.getContent()!=nil)
|
107
|
+
jsondata=JSON.parse(rawresponse.getContent())
|
108
|
+
if (jsondata!=nil) && (jsondata['amountTransaction']!=nil) then
|
109
|
+
response.setAmountTransactionJSON(jsondata['amountTransaction'])
|
110
|
+
end
|
111
|
+
end
|
112
|
+
if rawresponse.getCode()!=nil then
|
113
|
+
response.setHTTPResponseCode(rawresponse.getCode())
|
114
|
+
end
|
115
|
+
if rawresponse.getLocation()!=nil then
|
116
|
+
response.setLocation(rawresponse.getLocation())
|
117
|
+
end
|
118
|
+
if rawresponse.getContentType()!=nil then
|
119
|
+
response.setContentType(rawresponse.getContentType())
|
120
|
+
end
|
121
|
+
return response
|
122
|
+
end
|
123
|
+
|
124
|
+
def refund(endUserId,referenceCode,description,currency,amount,code,clientCorrelator,originalServerReferenceCode,onBehalfOf,purchaseCategoryCode,channel,taxAmount,serviceId,productId)
|
125
|
+
baseurl=@endpoints.getAmountRefundEndpoint()
|
126
|
+
requestProcessor=JSONRequest.new()
|
127
|
+
formparameters=FormParameters.new()
|
128
|
+
formparameters.put('endUserId',endUserId)
|
129
|
+
if baseurl.index('{endUserId}')!=nil then
|
130
|
+
baseurl=baseurl.gsub('{endUserId}',CGI::escape(endUserId.to_s))
|
131
|
+
end
|
132
|
+
formparameters.put('referenceCode',referenceCode)
|
133
|
+
formparameters.put('description',description)
|
134
|
+
formparameters.put('currency',currency)
|
135
|
+
formparameters.put('amount',amount)
|
136
|
+
formparameters.put('code',code)
|
137
|
+
formparameters.put('clientCorrelator',clientCorrelator)
|
138
|
+
formparameters.put('originalServerReferenceCode',originalServerReferenceCode)
|
139
|
+
formparameters.put('onBehalfOf',onBehalfOf)
|
140
|
+
formparameters.put('purchaseCategoryCode',purchaseCategoryCode)
|
141
|
+
formparameters.put('channel',channel)
|
142
|
+
formparameters.put('taxAmount',taxAmount)
|
143
|
+
formparameters.put('serviceId',serviceId)
|
144
|
+
formparameters.put('productId',productId)
|
145
|
+
postdata=formparameters.encodeParameters()
|
146
|
+
rawresponse=requestProcessor.post(baseurl,postdata,'application/json', @username, @password)
|
147
|
+
response=AmountResponse.new()
|
148
|
+
if (rawresponse!=nil) && (rawresponse.getContent()!=nil)
|
149
|
+
jsondata=JSON.parse(rawresponse.getContent())
|
150
|
+
if (jsondata!=nil) && (jsondata['amountTransaction']!=nil) then
|
151
|
+
response.setAmountTransactionJSON(jsondata['amountTransaction'])
|
152
|
+
end
|
153
|
+
end
|
154
|
+
if rawresponse.getCode()!=nil then
|
155
|
+
response.setHTTPResponseCode(rawresponse.getCode())
|
156
|
+
end
|
157
|
+
if rawresponse.getLocation()!=nil then
|
158
|
+
response.setLocation(rawresponse.getLocation())
|
159
|
+
end
|
160
|
+
if rawresponse.getContentType()!=nil then
|
161
|
+
response.setContentType(rawresponse.getContentType())
|
162
|
+
end
|
163
|
+
return response
|
164
|
+
end
|
165
|
+
|
166
|
+
end
|