class Posthorn::SoapClient
Public Class Methods
new()
click to toggle source
# File lib/posthorn/soap_client.rb, line 4 def initialize header = { partner_id: Posthorn.configuration.partner_id, request_timestamp: Time.now.strftime('%d%m%Y-%H%M%S'), key_phase: 1 } header[:partner_signature] = Digest::MD5.hexdigest(header.values.push(Posthorn.configuration.dpwn_key).join('::'))[0..7] @base = Savon.client({ wsdl: 'https://internetmarke.deutschepost.de/OneClickForAppV3/OneClickForAppServiceV3?wsdl', convert_request_keys_to: :none, soap_header: header }) end
Public Instance Methods
authenticate()
click to toggle source
# File lib/posthorn/soap_client.rb, line 20 def authenticate response = @base.call(:authenticate_user, message: { username: Posthorn.configuration.username, password: Posthorn.configuration.password }) user = OpenStruct.new response.body[:authenticate_user_response] user.wallet_balance = user.wallet_balance.to_i user end
call(method, message = {})
click to toggle source
# File lib/posthorn/soap_client.rb, line 28 def call(method, message = {}) @base.call(method, message: message) end