Class: ApiBanking::NotificationService

Inherits:
Soap12Client show all
Defined in:
lib/api_banking/soap/notificationService.rb

Defined Under Namespace

Modules: DeleteSubscription, DispatchMessage, GetTopics, SendMessage, SetSubscription Classes: Configuration

Constant Summary collapse

SERVICE_NAMESPACE =
'http://www.quantiguous.com/services'
SERVICE_VERSION =
1

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Methods inherited from SoapClient

do_remote_call, last_response

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



78
79
80
# File 'lib/api_banking/soap/notificationService.rb', line 78

def configuration
  @configuration
end

Instance Attribute Details

#requestObject

Returns the value of attribute request.



7
8
9
# File 'lib/api_banking/soap/notificationService.rb', line 7

def request
  @request
end

#resultObject

Returns the value of attribute result.



7
8
9
# File 'lib/api_banking/soap/notificationService.rb', line 7

def result
  @result
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



81
82
83
84
# File 'lib/api_banking/soap/notificationService.rb', line 81

def self.configure
  self.configuration ||= Configuration.new
  yield(configuration)
end

.deleteSubscription(env, request) ⇒ Object



151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# File 'lib/api_banking/soap/notificationService.rb', line 151

def self.deleteSubscription(env, request)
  reply = do_remote_call(env) do |xml|
    xml.deleteSubscription("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].appID request.appID
      xml['ns'].topicName request.topicName
      unless request.subscriber.nil?
        xml.subscriber do |xml|
          xml.customerID request.subscriber.customerID
          xml.accountNo request.subscriber.accountNo unless request.subscriber.accountNo.nil?
        end
      end
    end  
  end
  parse_reply(:deleteSubscription, reply)
end

.dispatchMessage(env, request) ⇒ Object



232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
# File 'lib/api_banking/soap/notificationService.rb', line 232

def self.dispatchMessage(env, request)
  reply = do_remote_call(env) do |xml|
    xml.dispatchMessage("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].appID request.appID
      xml['ns'].topicName request.topicName
      xml.recipient do |xml|
        xml.subscriber do |xml|
          xml.customerID request.recipient.subscriber.customerID
          xml.accountNo request.recipient.subscriber.accountNo unless request.recipient.subscriber.accountNo.nil?
          unless request.recipient.subscriber.contact.nil?
            xml.contact do |xml|
              xml.emailID request.recipient.subscriber.contact.emailID unless request.recipient.subscriber.contact.emailID.nil?
              xml.mobileNo request.recipient.subscriber.contact.mobileNo unless request.recipient.subscriber.contact.mobileNo.nil?
            end
          end
        end
        unless request.recipient.guest.nil?
          xml.guest do |xml|
            xml.emailID request.recipient.guest.emailID unless request.recipient.guest.emailID.nil?
            xml.mobileNo request.recipient.guest.mobileNo unless request.recipient.guest.mobileNo.nil?
          end
        end
      end
      unless request.criteriaArray.nil?
        xml.criteriaArray do |xml|
          xml.criteria do |xml|
            xml.name request.criteriaArray.criteria.name
            xml.value do |xml|
              xml.decimalValue request.criteriaArray.criteria.value.decimalValue unless request.criteriaArray.criteria.value.decimalValue.nil?
              xml.dateValue request.criteriaArray.criteria.value.dateValue unless request.criteriaArray.criteria.value.dateValue.nil?
              xml.stringValue request.criteriaArray.criteria.value.stringValue unless request.criteriaArray.criteria.value.stringValue.nil?
            end
          end
        end
      end
      xml.message do |xml|
        xml.smsText request.message.smsText unless request.message.smsText.nil?
        unless request.message.email.nil?
          xml.email do |xml|
            xml.subject request.message.email.subject unless request.message.email.subject.nil?
            xml.bodyContent request.message.email.bodyContent unless request.message.email.bodyContent.nil?
            unless request.message.email.attachment.nil?
              xml.attachment do |xml|
                xml.filePath request.attachment.filePath
                xml.contentType request.attachment.contentType
              end
            end
          end
        end
      end
      xml['ns'].referenceNo request.referenceNo unless request.referenceNo.nil?
      xml['ns'].sendAt request.sendAt unless request.sendAt.nil?
    end  
  end
  parse_reply(:dispatchMessage, reply)
end

.getTopics(env, request) ⇒ Object



90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/api_banking/soap/notificationService.rb', line 90

def self.getTopics(env, request)
  reply = do_remote_call(env) do |xml|
    xml.getTopics("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].appID request.appID
      unless request.criteria.nil?
        xml['ns'].criteria do  |xml|
          xml.topicGroup request.criteria.topicGroup unless request.criteria.topicGroup.nil?
          unless request.criteria.subscriber.nil?
            xml.subscriber do |xml|
              xml.customerID request.criteria.subscriber.customerID unless request.criteria.subscriber.customerID.nil?
              xml.subscribed request.criteria.subscriber.subscribed unless request.criteria.subscriber.subscribed.nil?
              xml.unsubscribed request.criteria.subscriber.unsubscribed unless request.criteria.subscriber.unsubscribed.nil?
            end
          end
        end
      end
    end  
  end
  parse_reply(:getTopics, reply)
end

.sendMessage(env, request) ⇒ Object



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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
# File 'lib/api_banking/soap/notificationService.rb', line 169

def self.sendMessage(env, request)
  reply = do_remote_call(env) do |xml|
    xml.sendMessage("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].appID request.appID
      xml['ns'].topicName request.topicName
      xml.recipient do |xml|
        xml.subscriber do |xml|
          xml.customerID request.recipient.subscriber.customerID
          xml.accountNo request.recipient.subscriber.accountNo unless request.recipient.subscriber.accountNo.nil?
          unless request.recipient.subscriber.contact.nil?
            xml.contact do |xml|
              xml.emailID request.recipient.subscriber.contact.emailID unless request.recipient.subscriber.contact.emailID.nil?
              xml.mobileNo request.recipient.subscriber.contact.mobileNo unless request.recipient.subscriber.contact.mobileNo.nil?
            end
          end
        end
        unless request.recipient.guest.nil?
          xml.guest do |xml|
            xml.emailID request.recipient.guest.emailID unless request.recipient.guest.emailID.nil?
            xml.mobileNo request.recipient.guest.mobileNo unless request.recipient.guest.mobileNo.nil?
          end
        end
      end
      unless request.mergeVarArray.nil?
        xml.mergeVarArray do |xml|
          xml.mergeVar do |xml|
            xml.name request.mergeVarArray.mergeVar.name
            xml.content do |xml|
              xml.stringContent request.mergeVarArray.mergeVar.content.stringContent unless request.mergeVarArray.mergeVar.content.stringContent.nil?
              xml.dateContent request.mergeVarArray.mergeVar.content.dateContent unless request.mergeVarArray.mergeVar.content.dateContent.nil?
              xml.dateTimeContent request.mergeVarArray.mergeVar.content.dateTimeContent unless request.mergeVarArray.mergeVar.content.dateTimeContent.nil?
              xml.decimalContent request.mergeVarArray.mergeVar.content.decimalContent unless request.mergeVarArray.mergeVar.content.decimalContent.nil?
            end
          end
        end
      end
      unless request.criteriaArray.nil?
        xml.criteriaArray do |xml|
          xml.criteria do |xml|
            xml.name request.criteriaArray.criteria.name
            xml.value do |xml|
              xml.decimalValue request.criteriaArray.criteria.value.decimalValue unless request.criteriaArray.criteria.value.decimalValue.nil?
              xml.dateValue request.criteriaArray.criteria.value.dateValue unless request.criteriaArray.criteria.value.dateValue.nil?
              xml.stringValue request.criteriaArray.criteria.value.stringValue unless request.criteriaArray.criteria.value.stringValue.nil?
            end
          end
        end
      end
      xml['ns'].referenceNo request.referenceNo unless request.referenceNo.nil?
      xml['ns'].sendAt request.sendAt unless request.sendAt.nil?
      unless request.attachment.nil?
        xml['ns'].attachment do |xml|
          xml.filePath request.attachment.filePath
          xml.contentType request.attachment.contentType
        end
      end
    end  
  end
  parse_reply(:sendMessage, reply)
end

.setSubscription(env, request) ⇒ Object



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/api_banking/soap/notificationService.rb', line 113

def self.setSubscription(env, request)
  reply = do_remote_call(env) do |xml|
    xml.setSubscription("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].appID request.appID
      xml['ns'].topicName request.topicName
      xml['ns'].notifyByEmail request.notifyByEmail
      xml['ns'].notifyBySMS request.notifyBySMS
      xml['ns'].subscriber do |xml|
        xml.customerID request.subscriber.customerID
        xml.accountNo request.subscriber.accountNo
        unless request.subscriber.contact.nil?
          xml.contact do |xml|
            xml.emailID request.subscriber.contact.emailID unless request.subscriber.contact.emailID.nil? 
            xml.mobileNo request.subscriber.contact.mobileNo unless request.subscriber.contact.mobileNo.nil? 
          end
        end
      end
      unless request.criteriaArray.nil?
        xml['ns'].criteriaArray do |xml|
          unless request.criteriaArray.criteria.nil?
            xml.criteria do |xml|
              xml.name request.criteriaArray.criteria.name
              xml.value do |xml|
                xml.decimalValue request.criteriaArray.criteria.value.decimalValue unless request.criteriaArray.criteria.value.decimalValue.nil? 
                xml.dateValue request.criteriaArray.criteria.value.dateValue unless request.criteriaArray.criteria.value.dateValue.nil? 
                xml.stringValue request.criteriaArray.criteria.value.stringValue unless request.criteriaArray.criteria.value.stringValue.nil? 
              end
            end
          end
        end
      end
    end  
  end
  parse_reply(:setSubscription, reply)
end