dhl-bcs 0.1.1 → 0.2.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 +5 -5
- data/README.md +53 -0
- data/dhl-bcs.gemspec +6 -6
- data/lib/dhl/bcs.rb +2 -0
- data/lib/dhl/bcs/v2/export_document.rb +84 -0
- data/lib/dhl/bcs/v2/locator.rb +27 -0
- data/lib/dhl/bcs/v2/receiver.rb +1 -10
- data/lib/dhl/bcs/v2/shipment.rb +18 -9
- data/lib/dhl/bcs/version.rb +1 -1
- metadata +17 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: '08009611f405006ad59d2fac8990162898692cab2f7e02f4f7840327b64204fe'
|
|
4
|
+
data.tar.gz: 31e0b88042b710331d0b96a177ef42977c656b165d319ccf309cc87b81ed69eb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 349f7a9c8cc4675ad17b9703eaf09894982ba97882f5159081f6b6184570226ee2a491720c4bc716d1fd600f2389d17a971e72c7041dc1d30ef0e85d31f390ae
|
|
7
|
+
data.tar.gz: c4060bd137c262e0ab29fff8eb45e93a93ba843fd1bd7ceccbd12b27231c226f53c81621e1c6c33fac8be1d88c7982bd20f2b06b54dce9912721a9ba3b14efa0
|
data/README.md
CHANGED
|
@@ -148,6 +148,59 @@ shipment3 = Dhl::Bcs.build_shipment(shipper: shipper, receiver: receiver, weight
|
|
|
148
148
|
|
|
149
149
|
client.create_shipment_order(shipment1, shipment2, shipment3)
|
|
150
150
|
```
|
|
151
|
+
### International Shipments
|
|
152
|
+
|
|
153
|
+
In order to send parcels outside of the EU, one should provide information about the content of the shipment.
|
|
154
|
+
Dhl offers cn23 document, which is data for the Customs as this kind of shipment is considered Export of goods.
|
|
155
|
+
As an output one gets, in addition to the label, a url for the document in an A4-format ready to be printed.
|
|
156
|
+
|
|
157
|
+
The way to implement that is identical of shipper's and receiver's ones.
|
|
158
|
+
|
|
159
|
+
```ruby
|
|
160
|
+
export_document = {
|
|
161
|
+
invoice_number = 'ABCDEF...',
|
|
162
|
+
export_type = 'Document', # could be one of these ['RETURN_OF_GOODS','PRESENT','COMMERCIAL_SAMPLE','DOCUMENT','OTHER']
|
|
163
|
+
export_type_description = 'some desc', # should be set if `export_type` was set to 'OTHER'
|
|
164
|
+
terms_of_trade = 'DDP', # could be one of these ['DDP','DXV','DDU','DDX']
|
|
165
|
+
place_of_commital= 'Bern',
|
|
166
|
+
permit_number = 1232135,
|
|
167
|
+
attestation_number = 1234345,
|
|
168
|
+
with_electronic_export_notification = true, # true|false
|
|
169
|
+
export_doc_positions: [
|
|
170
|
+
{
|
|
171
|
+
description: 'content1',
|
|
172
|
+
country_code_origing: 'CN',
|
|
173
|
+
customs_tariff_number: '1234567',
|
|
174
|
+
ammount: 1,
|
|
175
|
+
net_weight_in_kg: 0.2,
|
|
176
|
+
customs_value: 25.00
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
description: 'content2',
|
|
180
|
+
country_code_origing: 'DE',
|
|
181
|
+
customs_tariff_number: '00222011',
|
|
182
|
+
ammount: 1,
|
|
183
|
+
net_weight_in_kg: 1.2,
|
|
184
|
+
customs_value: 112.00
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
shipment = Dhl::Bcs.build_shipment(export_document: export_document, shipper: shipper, receiver: receiver)
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
and then one gets a result like this:
|
|
193
|
+
|
|
194
|
+
```ruby
|
|
195
|
+
[
|
|
196
|
+
{
|
|
197
|
+
status: { status_code: '0', status_text: 'ok', status_message: 'Der Webservice wurde ohne Fehler ausgeführt.' },
|
|
198
|
+
shipment_number: '22222222201019582121',
|
|
199
|
+
label_url: 'https://cig.dhl.de/gkvlabel/SANDBOX/dhl-vls/gw/shpmntws/printShipment?token=JD7HKktuvugIFEkhSvCfbEz4J8Ah0dkcVuw4PzBGRyRnW%2FwEPAwfytLtb31e7gMDsSX32%2BEB5exp8nNPs%2FhJSQ%3D%3D',
|
|
200
|
+
export_label_url: 'https://cig.dhl.de/gkvlabel/SANDBOX/dhl-vls/gw/shpmntws/printShipment?token=Vfov%2BMinVhMH6nQVfvSCmNUSRNnaQNHKPaiLiWtXsqm%2BENCM6wnStB2C44rl6BEmSxbrPeaTQwBhoHBr802FnuftGVJ9uVM0C0ztLpxNfyc%3D',
|
|
201
|
+
}
|
|
202
|
+
]
|
|
203
|
+
```
|
|
151
204
|
|
|
152
205
|
### Validate shipments
|
|
153
206
|
|
data/dhl-bcs.gemspec
CHANGED
|
@@ -19,11 +19,11 @@ Gem::Specification.new do |spec|
|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
20
20
|
spec.require_paths = ["lib"]
|
|
21
21
|
|
|
22
|
-
spec.add_dependency "savon", "~> 2.
|
|
22
|
+
spec.add_dependency "savon", "~> 2.12"
|
|
23
23
|
|
|
24
|
-
spec.add_development_dependency "bundler", "~> 1.
|
|
25
|
-
spec.add_development_dependency "rake", "~> 12.
|
|
26
|
-
spec.add_development_dependency "minitest", "~> 5.
|
|
27
|
-
spec.add_development_dependency "webmock", "~> 3.
|
|
28
|
-
spec.add_development_dependency "pry-byebug", "~> 3.
|
|
24
|
+
spec.add_development_dependency "bundler", "~> 1.16"
|
|
25
|
+
spec.add_development_dependency "rake", "~> 12.3"
|
|
26
|
+
spec.add_development_dependency "minitest", "~> 5.11"
|
|
27
|
+
spec.add_development_dependency "webmock", "~> 3.3"
|
|
28
|
+
spec.add_development_dependency "pry-byebug", "~> 3.6"
|
|
29
29
|
end
|
data/lib/dhl/bcs.rb
CHANGED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
module Dhl::Bcs::V2
|
|
2
|
+
class ExportDocument
|
|
3
|
+
include Buildable
|
|
4
|
+
|
|
5
|
+
PROPERTIES = %i(invoice_number export_type export_type_description terms_of_trade place_of_commital additional_fee permit_number attestation_number with_electronic_export_notification export_doc_positions).freeze
|
|
6
|
+
attr_accessor(*PROPERTIES)
|
|
7
|
+
|
|
8
|
+
EXPORT_TYPES = %w(OTHER PRESENT COMMERCIAL_SAMPLE DOCUMENT RETURN_OF_GOODS).freeze
|
|
9
|
+
TERMS_OF_TRADES = %w(DDP DXV DDU DDX).freeze
|
|
10
|
+
|
|
11
|
+
def self.build(export_doc_positions = [], **attributes)
|
|
12
|
+
array_of_export_doc_positions = []
|
|
13
|
+
export_doc_positions.each do |export_doc_position|
|
|
14
|
+
array_of_export_doc_positions << ExportDocPosition.build(export_doc_position) if export_doc_position.is_a?(Hash)
|
|
15
|
+
end
|
|
16
|
+
new({ export_doc_positions: array_of_export_doc_positions }.merge(attributes))
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def initialize(**attributes)
|
|
20
|
+
attributes.each do |property, value|
|
|
21
|
+
send("#{property}=", value) if PROPERTIES.include?(property)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def export_type=(export_type)
|
|
26
|
+
raise Dhl::Bcs::Error, "No Valid export_type #{export_type}, Please use one of these: #{EXPORT_TYPES.join(',')}" unless EXPORT_TYPES.include?(export_type)
|
|
27
|
+
@export_type = export_type
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def terms_of_trade=(terms_of_trade)
|
|
31
|
+
raise Dhl::Bcs::Error, "No Valid terms_of_trade #{terms_of_trade}, Please use one of these: #{TERMS_OF_TRADES.join(',')}" unless TERMS_OF_TRADES.include?(terms_of_trade)
|
|
32
|
+
@terms_of_trade = terms_of_trade
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def to_soap_hash
|
|
36
|
+
raise Dhl::Bcs::Error, "export_doc_position must be set as an array." unless export_doc_positions
|
|
37
|
+
raise Dhl::Bcs::Error, "export_type_desription must be set, as export_type is set to OTHER." unless !((export_type == 'OTHER') ^ export_type_description)
|
|
38
|
+
raise Dhl::Bcs::Error, "place_of_commital must be set" unless place_of_commital
|
|
39
|
+
h = {}
|
|
40
|
+
h['invoiceNumber'] = invoice_number if invoice_number
|
|
41
|
+
h['exportType'] = export_type
|
|
42
|
+
h['exportTypeDescription'] = export_type_description if export_type_description
|
|
43
|
+
h['termsOfTrade'] = terms_of_trade if terms_of_trade
|
|
44
|
+
h['placeOfCommital'] = place_of_commital
|
|
45
|
+
h['additionalFee'] = additional_fee if additional_fee
|
|
46
|
+
h['permitNumber'] = permit_number if permit_number
|
|
47
|
+
h['attestationNumber'] = attestation_number if attestation_number
|
|
48
|
+
h['WithElectronicExportNtfctn/'] = {'@active': 1} if with_electronic_export_notification
|
|
49
|
+
h['ExportDocPosition'] = self.export_doc_positions.map { |e| e.to_soap_hash }
|
|
50
|
+
h
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
class ExportDocPosition
|
|
55
|
+
PROPERTIES = %i(description country_code_origin customs_tariff_number amount net_weight_in_kg customs_value).freeze
|
|
56
|
+
attr_accessor(*PROPERTIES)
|
|
57
|
+
|
|
58
|
+
include Buildable
|
|
59
|
+
|
|
60
|
+
def initialize(**attributes)
|
|
61
|
+
attributes.each do |property, value|
|
|
62
|
+
send("#{property}=", value) if PROPERTIES.include?(property)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def to_soap_hash
|
|
67
|
+
raise Dhl::Bcs::Error, 'export doc position description must be set' unless description
|
|
68
|
+
raise Dhl::Bcs::Error, 'export doc position country_code_origin must be set' unless country_code_origin
|
|
69
|
+
raise Dhl::Bcs::Error, 'export doc position customs_tariff_number must be set' unless customs_tariff_number
|
|
70
|
+
raise Dhl::Bcs::Error, 'export doc position amount must be set' unless amount
|
|
71
|
+
raise Dhl::Bcs::Error, 'export doc position net_weight_in_kg must be set' unless net_weight_in_kg
|
|
72
|
+
raise Dhl::Bcs::Error, 'export doc position customs_value must be set' unless customs_value
|
|
73
|
+
{
|
|
74
|
+
'description' => description,
|
|
75
|
+
'countryCodeOrigin' => country_code_origin,
|
|
76
|
+
'customsTariffNumber' => customs_tariff_number,
|
|
77
|
+
'amount' => amount,
|
|
78
|
+
'netWeightInKG' => net_weight_in_kg,
|
|
79
|
+
'customsValue' => customs_value
|
|
80
|
+
}
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Dhl::Bcs::V2
|
|
2
|
+
# finds proper class from attributes and builds object
|
|
3
|
+
class Locator
|
|
4
|
+
|
|
5
|
+
def self.for(attributes = {})
|
|
6
|
+
location_class = location_class_finder(attributes)
|
|
7
|
+
location_builder(attributes, location_class: location_class)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def self.location_class_finder(attributes)
|
|
11
|
+
if attributes.key?(:packstation_number)
|
|
12
|
+
Packstation
|
|
13
|
+
elsif attributes.key?(:postfilial_number)
|
|
14
|
+
Postfiliale
|
|
15
|
+
elsif attributes.key?(:parcel_shop_number)
|
|
16
|
+
ParcelShop
|
|
17
|
+
else
|
|
18
|
+
Address
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def self.location_builder(attributes = {}, location_class: Address)
|
|
23
|
+
location_class.build(attributes)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
end
|
data/lib/dhl/bcs/v2/receiver.rb
CHANGED
|
@@ -8,16 +8,7 @@ module Dhl::Bcs::V2
|
|
|
8
8
|
|
|
9
9
|
def self.build(name: nil, **attributes)
|
|
10
10
|
communication = Communication.build(attributes)
|
|
11
|
-
location =
|
|
12
|
-
if attributes.key?(:packstation_number)
|
|
13
|
-
Packstation
|
|
14
|
-
elsif attributes.key?(:postfilial_number)
|
|
15
|
-
Postfiliale
|
|
16
|
-
elsif attributes.key?(:parcel_shop_number)
|
|
17
|
-
ParcelShop
|
|
18
|
-
else
|
|
19
|
-
Address
|
|
20
|
-
end.build(attributes)
|
|
11
|
+
location = Locator.for(attributes)
|
|
21
12
|
new(attributes.merge(name: name, communication: communication, location: location))
|
|
22
13
|
end
|
|
23
14
|
|
data/lib/dhl/bcs/v2/shipment.rb
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
module Dhl::Bcs::V2
|
|
2
2
|
class Shipment
|
|
3
3
|
|
|
4
|
-
attr_accessor :shipper, :receiver, :bank_data, :shipment_date,
|
|
4
|
+
attr_accessor :shipper, :receiver, :bank_data, :shipment_date,
|
|
5
5
|
:customer_reference, :services, :weight, :length, :height, :width,
|
|
6
|
-
:notification_email
|
|
6
|
+
:notification_email, :export_document
|
|
7
|
+
attr_reader :product
|
|
7
8
|
|
|
8
9
|
PRODUCT_PROCEDURE_NUMBERS = {
|
|
9
|
-
'V01PAK' => '01', # Paket
|
|
10
|
-
'
|
|
11
|
-
'
|
|
12
|
-
'
|
|
13
|
-
'
|
|
10
|
+
'V01PAK' => '01', # DHL Paket
|
|
11
|
+
'V01PRIO' => '01', # DHL Paket Prio
|
|
12
|
+
'V06PAK' => '06', # DHL Paket Taggleich
|
|
13
|
+
'V53WPAK' => '53', # DHL Paket International
|
|
14
|
+
'V54EPAK' => '54', # DHL Europaket
|
|
15
|
+
'V55PAK' => '55', # DHL Paket Connect
|
|
16
|
+
'V06TG' => '01', # DHL Kurier Taggleich
|
|
17
|
+
'V06WZ' => '01', # DHL Kurier Wunschzeit
|
|
14
18
|
'V86PARCEL' => '86', # DHL Paket Austria
|
|
15
19
|
'V87PARCEL' => '87', # DHL PAKET Connect
|
|
16
20
|
'V82PARCEL' => '82' # DHL PAKET International
|
|
@@ -18,11 +22,12 @@ module Dhl::Bcs::V2
|
|
|
18
22
|
PRODUCTS = PRODUCT_PROCEDURE_NUMBERS.keys.freeze
|
|
19
23
|
|
|
20
24
|
# build a shipment from hash data
|
|
21
|
-
def self.build(shipper:, receiver:, bank_data: nil, **shipment_attributes)
|
|
25
|
+
def self.build(shipper:, receiver:, bank_data: nil, export_document: nil, **shipment_attributes)
|
|
22
26
|
shipper = Shipper.build(shipper) if shipper.is_a?(Hash)
|
|
23
27
|
receiver = Receiver.build(receiver) if receiver.is_a?(Hash)
|
|
24
28
|
bank_data = BankData.build(bank_data) if bank_data.is_a?(Hash)
|
|
25
|
-
|
|
29
|
+
export_document = ExportDocument.build(export_document.delete(:export_doc_positions),export_document) if export_document.is_a?(Hash)
|
|
30
|
+
new({ shipper: shipper, receiver: receiver, bank_data: bank_data, export_document: export_document }.merge(shipment_attributes))
|
|
26
31
|
end
|
|
27
32
|
|
|
28
33
|
def initialize(attributes = {})
|
|
@@ -52,6 +57,7 @@ module Dhl::Bcs::V2
|
|
|
52
57
|
raise Dhl::Bcs::Error, 'Sender address must be set!' unless shipper
|
|
53
58
|
raise Dhl::Bcs::Error, 'Receiver address must be set!' unless receiver
|
|
54
59
|
raise Dhl::Bcs::Error, 'Product must be set!' unless product
|
|
60
|
+
raise Dhl::Bcs::Error, 'In order to do an international shipment --product:V53WPAK--, :export_document muse be set!' unless !((product == 'V53WPAK') ^ export_document )
|
|
55
61
|
|
|
56
62
|
account_number = "#{ekp}#{PRODUCT_PROCEDURE_NUMBERS[product]}#{participation_number}"
|
|
57
63
|
raise Dhl::Bcs::Error, 'Need a 14 character long account number. Check EKP and participation_number' if account_number.size != 14
|
|
@@ -76,6 +82,9 @@ module Dhl::Bcs::V2
|
|
|
76
82
|
'Shipper' => shipper.to_soap_hash,
|
|
77
83
|
# Receiver information
|
|
78
84
|
'Receiver' => receiver.to_soap_hash
|
|
85
|
+
}.tap{|h|
|
|
86
|
+
#ExportDocuemnt information
|
|
87
|
+
h['ExportDocument'] = export_document.to_soap_hash if export_document
|
|
79
88
|
}
|
|
80
89
|
end
|
|
81
90
|
|
data/lib/dhl/bcs/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dhl-bcs
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Christoph Wagner
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2018-05-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: savon
|
|
@@ -16,84 +16,84 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '2.
|
|
19
|
+
version: '2.12'
|
|
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
|
-
version: '2.
|
|
26
|
+
version: '2.12'
|
|
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
|
-
version: '1.
|
|
33
|
+
version: '1.16'
|
|
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
|
-
version: '1.
|
|
40
|
+
version: '1.16'
|
|
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
|
-
version: '12.
|
|
47
|
+
version: '12.3'
|
|
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
|
-
version: '12.
|
|
54
|
+
version: '12.3'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: minitest
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '5.
|
|
61
|
+
version: '5.11'
|
|
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
|
-
version: '5.
|
|
68
|
+
version: '5.11'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: webmock
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '3.
|
|
75
|
+
version: '3.3'
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '3.
|
|
82
|
+
version: '3.3'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: pry-byebug
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '3.
|
|
89
|
+
version: '3.6'
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '3.
|
|
96
|
+
version: '3.6'
|
|
97
97
|
description: This is inspired by the dhl-intraship gem that is a little bit outdated
|
|
98
98
|
and doesn't support the new DHL API. If you need DHL Express Services this is not
|
|
99
99
|
for you.
|
|
@@ -122,7 +122,9 @@ files:
|
|
|
122
122
|
- lib/dhl/bcs/v2/buildable.rb
|
|
123
123
|
- lib/dhl/bcs/v2/client.rb
|
|
124
124
|
- lib/dhl/bcs/v2/communication.rb
|
|
125
|
+
- lib/dhl/bcs/v2/export_document.rb
|
|
125
126
|
- lib/dhl/bcs/v2/location.rb
|
|
127
|
+
- lib/dhl/bcs/v2/locator.rb
|
|
126
128
|
- lib/dhl/bcs/v2/packstation.rb
|
|
127
129
|
- lib/dhl/bcs/v2/parcel_shop.rb
|
|
128
130
|
- lib/dhl/bcs/v2/postfiliale.rb
|
|
@@ -151,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
151
153
|
version: '0'
|
|
152
154
|
requirements: []
|
|
153
155
|
rubyforge_project:
|
|
154
|
-
rubygems_version: 2.
|
|
156
|
+
rubygems_version: 2.7.3
|
|
155
157
|
signing_key:
|
|
156
158
|
specification_version: 4
|
|
157
159
|
summary: Client for DHL Business-Customer-Shipping SOAP API 2.0
|