czech_post_b2b_client 1.2.5 → 1.2.6
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 74fa378ca71040acf1adb94fb61fa1d371ae2491273b3585bed2ef14ce6911e8
|
4
|
+
data.tar.gz: efda7da207ddf3146be8181c4765f8cca645020131f3cda81e211fb5ff9ea828
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9752291d61873388331118b6167d212e40aab3ce344d0306f664ba245ac5e6515296dba98a97788b0604a39355a4514ac3d409b548d14e63efe3786f920cb627
|
7
|
+
data.tar.gz: 257ceece993bb225b3ec020667af0fab9c26edd0b2eb16c35d41c470f70c7b8377443da68dc7c057e9d1d237e4bc74743cf70a585a5ad7c6fe10152c86990a63
|
data/CHANGELOG.md
CHANGED
@@ -61,36 +61,38 @@ module CzechPostB2bClient
|
|
61
61
|
errors.add(:parcel, "Missing value for key { :#{key_chain.join(' => :')} } for parcel (parcel_id: '#{parcel_id}')!")
|
62
62
|
end
|
63
63
|
end
|
64
|
+
|
65
|
+
# TODO: check custom goods if present
|
64
66
|
end
|
65
67
|
|
66
68
|
def parcel_service_sync
|
67
69
|
new_element('ns2:parcelServiceSyncRequest').tap do |ps_sync_request|
|
68
70
|
add_element_to(ps_sync_request, do_parcel_header) # REQUIRED
|
69
|
-
add_element_to(ps_sync_request, do_parcel_data) #
|
71
|
+
add_element_to(ps_sync_request, do_parcel_data) # REQUIRED
|
70
72
|
end
|
71
73
|
end
|
72
74
|
|
73
75
|
def do_parcel_header # rubocop:disable Metrics/AbcSize
|
74
76
|
new_element('ns2:doPOLSyncParcelHeader').tap do |parcel_header|
|
75
77
|
add_element_to(parcel_header, 'ns2:transmissionDate', value: common_data[:parcels_sending_date].strftime('%d.%m.%Y')) # Predpokladane datum podani (format DD.MM.YYYY !)
|
76
|
-
add_element_to(parcel_header, 'ns2:customerID', value: common_data[:customer_id]) # Technologicke cislo podavatele
|
78
|
+
add_element_to(parcel_header, 'ns2:customerID', value: common_data[:customer_id]) # Nepovinne: Technologicke cislo podavatele
|
77
79
|
add_element_to(parcel_header, 'ns2:postCode', value: common_data[:sending_post_office_code]) # PSC podaci posty
|
78
80
|
add_element_to(parcel_header, 'ns2:contractNumber', value: common_data[:contract_number]) # Nepovinne: Cislo zakazky
|
79
81
|
add_element_to(parcel_header, 'ns2:frankingNumber', value: common_data[:franking_machine_number]) # Nepovinne: Cislo vyplatniho stroje
|
80
82
|
add_element_to(parcel_header, 'ns2:transmissionEnd', value: common_data[:close_requests_batch]) # Nepovinna, default true: Indikace zda uzavrit podani, nebo budou jeste nasledovat dalsi requesty pro stejne podani
|
81
83
|
add_element_to(parcel_header, 'ns2:locationNumber', value: common_data[:sending_post_office_location_number]) # Nepovinne: cislo podaciho mista (z nastaveni v Podani Online)
|
82
84
|
add_element_to(parcel_header, 'ns2:senderCustCardNum', value: sender_data[:custom_card_number]) # Nepovinne: cislo zakaznicke karty odesilatele
|
83
|
-
add_element_to(parcel_header, print_params)
|
85
|
+
add_element_to(parcel_header, print_params) # Nepovinne
|
84
86
|
end
|
85
87
|
end
|
86
88
|
|
87
89
|
def do_parcel_data
|
88
90
|
new_element('ns2:doPOLSyncParcelData').tap do |do_parcel_data|
|
89
|
-
add_element_to(do_parcel_data, do_parcel_params)
|
91
|
+
add_element_to(do_parcel_data, do_parcel_params) # 1-5x
|
90
92
|
add_element_to(do_parcel_data, do_parcel_address)
|
91
|
-
add_element_to(do_parcel_data, do_parcel_address_document)
|
92
|
-
add_element_to(do_parcel_data, do_parcel_customs_declaration)
|
93
|
-
add_customs_documents_to(do_parcel_data)
|
93
|
+
add_element_to(do_parcel_data, do_parcel_address_document) # 0-1x
|
94
|
+
add_element_to(do_parcel_data, do_parcel_customs_declaration) # 0-1x
|
95
|
+
add_customs_documents_to(do_parcel_data) # 0-3x
|
94
96
|
end
|
95
97
|
end
|
96
98
|
|
@@ -221,6 +223,7 @@ module CzechPostB2bClient
|
|
221
223
|
add_element_to(do_p_customs_declaration, 'ns2:customValCur', value: declaration_data[:value_currency_iso_code]) # ISO kod meny celni hodnoty
|
222
224
|
add_element_to(do_p_customs_declaration, 'ns2:importerRefNum', value: declaration_data[:importer_reference_number]) # Nepovinne: Cislo dovozce
|
223
225
|
|
226
|
+
# 0-99x
|
224
227
|
(declaration_data[:content_descriptions] || []).each do |dsc|
|
225
228
|
do_p_customs_declaration << custom_goods_for(dsc)
|
226
229
|
end
|
@@ -242,13 +245,13 @@ module CzechPostB2bClient
|
|
242
245
|
|
243
246
|
def custom_goods_for(description_data)
|
244
247
|
new_element('ns2:doPOLParcelCustomsGoods').tap do |do_p_customs_goods|
|
245
|
-
add_element_to(do_p_customs_goods, 'ns2:sequence', value: description_data[:order].to_i) #
|
246
|
-
add_element_to(do_p_customs_goods, 'ns2:customCont', value: description_data[:description]) #
|
247
|
-
add_element_to(do_p_customs_goods, 'ns2:quantity', value: description_data[:quantity]) #
|
248
|
-
add_element_to(do_p_customs_goods, 'ns2:weight', value: description_data[:weight_in_kg]) #
|
249
|
-
add_element_to(do_p_customs_goods, 'ns2:customVal', value: description_data[:value]) #
|
250
|
-
add_element_to(do_p_customs_goods, 'ns2:hsCode', value: description_data[:hs_code]) #
|
251
|
-
add_element_to(do_p_customs_goods, 'ns2:iso', value: description_data[:origin_country_iso_code]) #
|
248
|
+
add_element_to(do_p_customs_goods, 'ns2:sequence', value: description_data[:order].to_i) # Poradi , cisl0 1-20
|
249
|
+
add_element_to(do_p_customs_goods, 'ns2:customCont', value: description_data[:description]) # Popis zbozi
|
250
|
+
add_element_to(do_p_customs_goods, 'ns2:quantity', value: description_data[:quantity]) # Mnozstvi
|
251
|
+
add_element_to(do_p_customs_goods, 'ns2:weight', value: description_data[:weight_in_kg]) # Hmotnost
|
252
|
+
add_element_to(do_p_customs_goods, 'ns2:customVal', value: description_data[:value]) # Celni hodnota
|
253
|
+
add_element_to(do_p_customs_goods, 'ns2:hsCode', value: description_data[:hs_code]) # HS kod
|
254
|
+
add_element_to(do_p_customs_goods, 'ns2:iso', value: description_data[:origin_country_iso_code]) # Zeme puvodu zbozi
|
252
255
|
end
|
253
256
|
end
|
254
257
|
|
@@ -44,7 +44,11 @@ module CzechPostB2bClient
|
|
44
44
|
|
45
45
|
def parcel_data_from(rp_hash)
|
46
46
|
{ parcel_code: rp_hash['parcelCode'],
|
47
|
-
states:
|
47
|
+
states: parcel_states_form(rp_hash.dig('parcelDataResponse')) }
|
48
|
+
end
|
49
|
+
|
50
|
+
def parcel_states_form(data_responses)
|
51
|
+
[data_responses].flatten.collect { |data_response| state_hash_from(data_response) }
|
48
52
|
end
|
49
53
|
|
50
54
|
def print_data_from(print_hash)
|
@@ -62,7 +66,6 @@ module CzechPostB2bClient
|
|
62
66
|
|
63
67
|
def updated_result_value_for(value, parcel_params_result_hash)
|
64
68
|
pd_hash = parcel_data_from(parcel_params_result_hash)
|
65
|
-
|
66
69
|
return pd_hash if value.nil?
|
67
70
|
|
68
71
|
# merging states
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: czech_post_b2b_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Petr Mlčoch
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-10-
|
11
|
+
date: 2020-10-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ox
|