From 23fec5a81491d605d8aadad4a9a323618de3cf70 Mon Sep 17 00:00:00 2001 From: Shefqet Lika Date: Thu, 29 Jun 2023 14:48:16 +0200 Subject: [PATCH 1/5] change ruby version --- crefo.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crefo.gemspec b/crefo.gemspec index 00274cb..950ec02 100644 --- a/crefo.gemspec +++ b/crefo.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = 'Ruby client for the Creditreform API.' spec.homepage = 'https://github.com/COMPEON/crefo' - spec.required_ruby_version = '>= 3.0.5' + spec.required_ruby_version = '>= 2.7.7' spec.files = `git ls-files -z`.split("\x0").reject do |f| f.match(%r{^(test|spec|features)/}) From b5b248a53fa1a8c64e8dc77eb59e0a774a386565 Mon Sep 17 00:00:00 2001 From: Shefqet Lika Date: Tue, 1 Aug 2023 14:27:26 +0200 Subject: [PATCH 2/5] add services mailboxDirectory and mailboxEntry --- lib/crefo.rb | 2 ++ lib/crefo/configuration.rb | 4 +-- lib/crefo/service/mailbox_directory.rb | 9 ++++++ .../service/mailbox_directory/request.rb | 23 ++++++++++++++ .../service/mailbox_directory/response.rb | 13 ++++++++ lib/crefo/service/mailbox_entry.rb | 14 +++++++++ lib/crefo/service/mailbox_entry/request.rb | 16 ++++++++++ lib/crefo/service/mailbox_entry/response.rb | 31 +++++++++++++++++++ 8 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 lib/crefo/service/mailbox_directory.rb create mode 100644 lib/crefo/service/mailbox_directory/request.rb create mode 100644 lib/crefo/service/mailbox_directory/response.rb create mode 100644 lib/crefo/service/mailbox_entry.rb create mode 100644 lib/crefo/service/mailbox_entry/request.rb create mode 100644 lib/crefo/service/mailbox_entry/response.rb diff --git a/lib/crefo.rb b/lib/crefo.rb index 8dca222..571d6e3 100644 --- a/lib/crefo.rb +++ b/lib/crefo.rb @@ -9,6 +9,8 @@ require 'crefo/service/change_password' require 'crefo/service/keylist' require 'crefo/service/logon' +require 'crefo/service/mailbox_directory' +require 'crefo/service/mailbox_entry' require 'crefo/service/report' require 'crefo/service/search' require 'crefo/xml/request/envelope' diff --git a/lib/crefo/configuration.rb b/lib/crefo/configuration.rb index 99532be..eb874f0 100644 --- a/lib/crefo/configuration.rb +++ b/lib/crefo/configuration.rb @@ -2,8 +2,8 @@ module Crefo class Configuration CURRENT_KEYLISTVERSION = 21 ENDPOINTS = { - default: 'https://onlineservice.creditreform.de:443/webservice/0600-0021/soap12/messages.wsdl', - test: 'https://ktu.onlineservice.creditreform.de:443/webservice/0600-0021/soap12/messages.wsdl' + default: 'https://onlineservice.creditreform.de:443/webservice/0710-0033/soap12/messages.wsdl', + test: 'https://ktu.onlineservice.creditreform.de:443/webservice/0710-0033/soap12/messages.wsdl' }.freeze attr_accessor :communicationlanguage, :keylistversion, :transactionreference diff --git a/lib/crefo/service/mailbox_directory.rb b/lib/crefo/service/mailbox_directory.rb new file mode 100644 index 0000000..8d9d8ff --- /dev/null +++ b/lib/crefo/service/mailbox_directory.rb @@ -0,0 +1,9 @@ +module Crefo + class Service + class MailboxDirectory < Crefo::Service + end + end +end + +require 'crefo/service/mailbox_directory/response' +require 'crefo/service/mailbox_directory/request' diff --git a/lib/crefo/service/mailbox_directory/request.rb b/lib/crefo/service/mailbox_directory/request.rb new file mode 100644 index 0000000..cfe09f8 --- /dev/null +++ b/lib/crefo/service/mailbox_directory/request.rb @@ -0,0 +1,23 @@ +module Crefo + class Service + class MailboxDirectory + class Request < Service::Request + self.request_name = :mailboxdirectory + self.response_class = MailboxDirectory::Response + + def body + { + openorders: options[:openorders] || false, + entriesread: options[:entriesread] || false, + entriesunread: options[:entriesunread] || true, + deliverytypeupdate: options[:deliverytypeupdate] || true, + deliverytypereport: options[:deliverytypereport] || true, + deliverytypestatusreply: options[:deliverytypestatusreply] || true, + deliverytypesupplement: options[:deliverytypesupplement] || true, + deliverytypestockdelivery: options[:deliverytypestockdelivery] || true, + }.merge(options) + end + end + end + end +end diff --git a/lib/crefo/service/mailbox_directory/response.rb b/lib/crefo/service/mailbox_directory/response.rb new file mode 100644 index 0000000..b06cb37 --- /dev/null +++ b/lib/crefo/service/mailbox_directory/response.rb @@ -0,0 +1,13 @@ +module Crefo + class Service + class MailboxDirectory + class Response < Service::Response + self.response_name = :mailboxdirectory + + def result + document_body_hash + end + end + end + end +end diff --git a/lib/crefo/service/mailbox_entry.rb b/lib/crefo/service/mailbox_entry.rb new file mode 100644 index 0000000..33ae42a --- /dev/null +++ b/lib/crefo/service/mailbox_entry.rb @@ -0,0 +1,14 @@ +module Crefo + class Service + class MailboxEntry < Crefo::Service + def initialize(options) + raise 'mailboxentrynumber is missing' unless options[:mailboxentrynumber] + + super(options) + end + end + end +end + +require 'crefo/service/mailbox_entry/response' +require 'crefo/service/mailbox_entry/request' diff --git a/lib/crefo/service/mailbox_entry/request.rb b/lib/crefo/service/mailbox_entry/request.rb new file mode 100644 index 0000000..8b0256c --- /dev/null +++ b/lib/crefo/service/mailbox_entry/request.rb @@ -0,0 +1,16 @@ +module Crefo + class Service + class MailboxEntry + class Request < Service::Request + self.request_name = :mailboxentry + self.response_class = MailboxEntry::Response + + def body + { + mailboxentrynumber: options[:mailboxentrynumber] + } + end + end + end + end +end diff --git a/lib/crefo/service/mailbox_entry/response.rb b/lib/crefo/service/mailbox_entry/response.rb new file mode 100644 index 0000000..36a8efd --- /dev/null +++ b/lib/crefo/service/mailbox_entry/response.rb @@ -0,0 +1,31 @@ +module Crefo + class Service + class MailboxEntry + class Response < Service::Response + self.response_name = :mailboxentry + + def result + if report_not_available? + false + else + document_body_hash + end + end + + private + + def error? + return false unless document_fault_hash + return false if report_not_available? + + true + end + + def report_not_available? + return false unless document_fault_hash + 'ER-114' == document_fault_hash&.dig(:Detail, :servicefault, :body, :fault, :errorkey, :key) + end + end + end + end +end From e15e268674c4a8190b27e555a27c262507a90eee Mon Sep 17 00:00:00 2001 From: Shefqet Lika Date: Fri, 13 Oct 2023 13:40:59 +0200 Subject: [PATCH 3/5] update crefo to latest version --- lib/crefo/xml/request/namespaces.rb | 2 +- spec/configuration_spec.rb | 6 +++--- spec/fixtures/vcr_cassettes/changepassword.yml | 6 +++--- spec/fixtures/vcr_cassettes/keylist.yml | 4 ++-- spec/fixtures/vcr_cassettes/logon.yml | 4 ++-- spec/fixtures/vcr_cassettes/report.yml | 8 ++++---- spec/fixtures/vcr_cassettes/search.yml | 12 ++++++------ spec/fixtures/xmls/request.xml | 4 ++-- spec/fixtures/xmls/request_envelope.xml | 4 ++-- spec/xml/request/namespaces_spec.rb | 2 +- 10 files changed, 26 insertions(+), 26 deletions(-) diff --git a/lib/crefo/xml/request/namespaces.rb b/lib/crefo/xml/request/namespaces.rb index efa7ea1..a216bb4 100644 --- a/lib/crefo/xml/request/namespaces.rb +++ b/lib/crefo/xml/request/namespaces.rb @@ -3,7 +3,7 @@ module XML class Request NAMESPACES = { 'xmlns:soap' => 'http://www.w3.org/2003/05/soap-envelope', - 'xmlns:ns' => 'https://onlineservice.creditreform.de/webservice/0600-0021' + 'xmlns:ns' => 'https://onlineservice.creditreform.de/webservice/0710-0033' }.freeze end end diff --git a/spec/configuration_spec.rb b/spec/configuration_spec.rb index 29b2110..cecc020 100644 --- a/spec/configuration_spec.rb +++ b/spec/configuration_spec.rb @@ -36,7 +36,7 @@ end it 'stores all configured data' do - expect(config.endpoint).to eq 'https://ktu.onlineservice.creditreform.de:443/webservice/0600-0021/soap12/messages.wsdl' + expect(config.endpoint).to eq 'https://ktu.onlineservice.creditreform.de:443/webservice/0710-0033/soap12/messages.wsdl' expect(config.communicationlanguage).to eq 'en' expect(config.keylistversion).to eq 22 expect(config.transactionreference).to eq 'TEST' @@ -49,8 +49,8 @@ end [ - [:default, 'https://onlineservice.creditreform.de:443/webservice/0600-0021/soap12/messages.wsdl'], - [:test, 'https://ktu.onlineservice.creditreform.de:443/webservice/0600-0021/soap12/messages.wsdl'], + [:default, 'https://onlineservice.creditreform.de:443/webservice/0710-0033/soap12/messages.wsdl'], + [:test, 'https://ktu.onlineservice.creditreform.de:443/webservice/0710-0033/soap12/messages.wsdl'], ['http://example.com/foo.wdsl', 'http://example.com/foo.wdsl'] ].each do |key, url| context "with #{key} endpoint" do diff --git a/spec/fixtures/vcr_cassettes/changepassword.yml b/spec/fixtures/vcr_cassettes/changepassword.yml index 0116849..9f50e4e 100644 --- a/spec/fixtures/vcr_cassettes/changepassword.yml +++ b/spec/fixtures/vcr_cassettes/changepassword.yml @@ -2,12 +2,12 @@ http_interactions: - request: method: post - uri: https://ktu.onlineservice.creditreform.de/webservice/0600-0021/soap12/messages.wsdl + uri: https://ktu.onlineservice.creditreform.de/webservice/0710-0033/soap12/messages.wsdl body: encoding: UTF-8 string: | - + @@ -61,7 +61,7 @@ http_interactions: encoding: ASCII-8BIT string: "------=_Part_624450_2014891810.1486740824131\r\nContent-Type: application/xop+xml; charset=utf-8; type=\"application/soap+xml\"\r\n\r\nde2017-02-10T16:33:41.915+01:0021Crefo + xmlns:ns2=\"https://onlineservice.creditreform.de/webservice/0710-0033\">de2017-02-10T16:33:41.915+01:0021Crefo Ruby Client0de5e81bef7d2f81f412a1ab17{CREFO_USERACCOUNT}8c6b0ee1-c70b-43ed-aa3b-fcd5f333f8f8\r\n------=_Part_624450_2014891810.1486740824131--" http_version: recorded_at: Sat, 20 Dec 2014 03:44:44 GMT diff --git a/spec/fixtures/vcr_cassettes/keylist.yml b/spec/fixtures/vcr_cassettes/keylist.yml index bc6926a..36e1f05 100644 --- a/spec/fixtures/vcr_cassettes/keylist.yml +++ b/spec/fixtures/vcr_cassettes/keylist.yml @@ -2,12 +2,12 @@ http_interactions: - request: method: post - uri: https://ktu.onlineservice.creditreform.de/webservice/0600-0021/soap12/messages.wsdl + uri: https://ktu.onlineservice.creditreform.de/webservice/0710-0033/soap12/messages.wsdl body: encoding: UTF-8 string: | - + diff --git a/spec/fixtures/vcr_cassettes/logon.yml b/spec/fixtures/vcr_cassettes/logon.yml index cc7b0b6..2a9e12f 100644 --- a/spec/fixtures/vcr_cassettes/logon.yml +++ b/spec/fixtures/vcr_cassettes/logon.yml @@ -2,12 +2,12 @@ http_interactions: - request: method: post - uri: https://ktu.onlineservice.creditreform.de/webservice/0600-0021/soap12/messages.wsdl + uri: https://ktu.onlineservice.creditreform.de/webservice/0710-0033/soap12/messages.wsdl body: encoding: UTF-8 string: | - + diff --git a/spec/fixtures/vcr_cassettes/report.yml b/spec/fixtures/vcr_cassettes/report.yml index ce24179..2d58637 100644 --- a/spec/fixtures/vcr_cassettes/report.yml +++ b/spec/fixtures/vcr_cassettes/report.yml @@ -2,12 +2,12 @@ http_interactions: - request: method: post - uri: https://ktu.onlineservice.creditreform.de/webservice/0600-0021/soap12/messages.wsdl + uri: https://ktu.onlineservice.creditreform.de/webservice/0710-0033/soap12/messages.wsdl body: encoding: UTF-8 string: | - + @@ -68,12 +68,12 @@ http_interactions: recorded_at: Sat, 20 Dec 2014 03:44:44 GMT - request: method: post - uri: https://ktu.onlineservice.creditreform.de/webservice/0600-0021/soap12/messages.wsdl + uri: https://ktu.onlineservice.creditreform.de/webservice/0710-0033/soap12/messages.wsdl body: encoding: UTF-8 string: | - + diff --git a/spec/fixtures/vcr_cassettes/search.yml b/spec/fixtures/vcr_cassettes/search.yml index 60d4af2..c925ec0 100644 --- a/spec/fixtures/vcr_cassettes/search.yml +++ b/spec/fixtures/vcr_cassettes/search.yml @@ -2,12 +2,12 @@ http_interactions: - request: method: post - uri: https://ktu.onlineservice.creditreform.de/webservice/0600-0021/soap12/messages.wsdl + uri: https://ktu.onlineservice.creditreform.de/webservice/0710-0033/soap12/messages.wsdl body: encoding: UTF-8 string: | - + @@ -65,18 +65,18 @@ http_interactions: encoding: ASCII-8BIT string: "------=_Part_249022_1053798368.1489658843769\r\nContent-Type: application/xop+xml; charset=utf-8; type=\"application/soap+xml\"\r\n\r\nde2017-03-16T11:07:23.738+01:0021{CREFO_CLIENTAPPLICATIONNAME}0de5e81bef7d2f81f412a1ab17{CREFO_USERACCOUNT}b27a0b61-ae6b-4f43-b3c6-335a89dbbc3610280123456789BE + xmlns:ns2=\"https://onlineservice.creditreform.de/webservice/0710-0033\">de2017-03-16T11:07:23.738+01:0021{CREFO_CLIENTAPPLICATIONNAME}0de5e81bef7d2f81f412a1ab17{CREFO_USERACCOUNT}b27a0b61-ae6b-4f43-b3c6-335a89dbbc3610280123456789BE - TestCompany1RINGLAAN 188531HARELBEKEBEBelgienfalse\r\n------=_Part_249022_1053798368.1489658843769--" http_version: recorded_at: Sat, 20 Dec 2014 03:44:44 GMT - request: method: post - uri: https://ktu.onlineservice.creditreform.de/webservice/0600-0021/soap12/messages.wsdl + uri: https://ktu.onlineservice.creditreform.de/webservice/0710-0033/soap12/messages.wsdl body: encoding: UTF-8 string: | - + @@ -133,7 +133,7 @@ http_interactions: encoding: ASCII-8BIT string: "------=_Part_249023_542636179.1489658844095\r\nContent-Type: application/xop+xml; charset=utf-8; type=\"application/soap+xml\"\r\n\r\nde2017-03-16T11:07:24.023+01:0021{CREFO_CLIENTAPPLICATIONNAME}0de5e81bef7d2f81f412a1ab17{CREFO_USERACCOUNT}2dcecb0c-3e26-4225-bc84-dec3ddbb5bd51011211311411FR + xmlns:ns2=\"https://onlineservice.creditreform.de/webservice/0710-0033\">de2017-03-16T11:07:24.023+01:0021{CREFO_CLIENTAPPLICATIONNAME}0de5e81bef7d2f81f412a1ab17{CREFO_USERACCOUNT}2dcecb0c-3e26-4225-bc84-dec3ddbb5bd51011211311411FR - TESTCOMPANY10174 RUE DE REIMS75007PARISFRFrankreich1011211311412FR - TESTCOMPANY110 PLACE GEORGES POMPIDOU75004 PARISFRFrankreichfalse\r\n------=_Part_249023_542636179.1489658844095--" diff --git a/spec/fixtures/xmls/request.xml b/spec/fixtures/xmls/request.xml index d45a75a..e762a96 100644 --- a/spec/fixtures/xmls/request.xml +++ b/spec/fixtures/xmls/request.xml @@ -1,12 +1,12 @@ - + de 2014-12-20T04:44:44+01:00 - 21 + 36 mocked_clientapplicationname 0 de5e81bef7d2f81f412a1ab17 diff --git a/spec/fixtures/xmls/request_envelope.xml b/spec/fixtures/xmls/request_envelope.xml index d45a75a..e762a96 100644 --- a/spec/fixtures/xmls/request_envelope.xml +++ b/spec/fixtures/xmls/request_envelope.xml @@ -1,12 +1,12 @@ - + de 2014-12-20T04:44:44+01:00 - 21 + 36 mocked_clientapplicationname 0 de5e81bef7d2f81f412a1ab17 diff --git a/spec/xml/request/namespaces_spec.rb b/spec/xml/request/namespaces_spec.rb index 8808356..efc7442 100644 --- a/spec/xml/request/namespaces_spec.rb +++ b/spec/xml/request/namespaces_spec.rb @@ -6,6 +6,6 @@ end it 'to have namespace ns' do - is_expected.to include('xmlns:ns' => 'https://onlineservice.creditreform.de/webservice/0600-0021') + is_expected.to include('xmlns:ns' => 'https://onlineservice.creditreform.de/webservice/0710-0033') end end From 87f3504790fbea555ec6f87b1f7549dc60cbc7c4 Mon Sep 17 00:00:00 2001 From: Shefqet Lika Date: Fri, 13 Oct 2023 13:42:00 +0200 Subject: [PATCH 4/5] update mailbox directory params --- lib/crefo/service/mailbox_directory/request.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/crefo/service/mailbox_directory/request.rb b/lib/crefo/service/mailbox_directory/request.rb index cfe09f8..e8928a9 100644 --- a/lib/crefo/service/mailbox_directory/request.rb +++ b/lib/crefo/service/mailbox_directory/request.rb @@ -7,6 +7,7 @@ class Request < Service::Request def body { + pagereference: options[:pagereference] || 0, openorders: options[:openorders] || false, entriesread: options[:entriesread] || false, entriesunread: options[:entriesunread] || true, @@ -15,6 +16,7 @@ def body deliverytypestatusreply: options[:deliverytypestatusreply] || true, deliverytypesupplement: options[:deliverytypesupplement] || true, deliverytypestockdelivery: options[:deliverytypestockdelivery] || true, + numberofentries: options[:numberofentries] || 50 }.merge(options) end end From bff9797ac351d29aa54b4382030e1864d8dc9094 Mon Sep 17 00:00:00 2001 From: Shefqet Lika Date: Tue, 24 Oct 2023 10:53:42 +0200 Subject: [PATCH 5/5] update ruby version --- crefo.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crefo.gemspec b/crefo.gemspec index 950ec02..00274cb 100644 --- a/crefo.gemspec +++ b/crefo.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.summary = 'Ruby client for the Creditreform API.' spec.homepage = 'https://github.com/COMPEON/crefo' - spec.required_ruby_version = '>= 2.7.7' + spec.required_ruby_version = '>= 3.0.5' spec.files = `git ls-files -z`.split("\x0").reject do |f| f.match(%r{^(test|spec|features)/})