colissimo_label 0.13.0 → 0.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/lib/colissimo_label/generate_label.rb +27 -8
- data/lib/colissimo_label/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e85c64c5c035a54da59c9695851ad8be29dc0083353f10065dc2b35e9088ee5e
|
4
|
+
data.tar.gz: 863ca8375cdf9bacafde3fea451fd695051d3bee5b5b52d1f2f44c606637a441
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 395bd4aa3613b9e253dd641e38d74ed3205768e47ada8d6d07a06372225aa2afd5476b99c4736393b163192e405d832ef08059b3eabeef589a3877887d94e7a0
|
7
|
+
data.tar.gz: 4982d55a321d6579a3655c0a3306bd09396a34db819a410fc308931439701a55178da0bdee852674ec2becfa749a71a4c9eb363c1c7a10bcacdcd628f03088b9
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
## 0.18.0
|
2
|
+
|
3
|
+
- Add new fields for UK after Brexit
|
4
|
+
|
5
|
+
## 0.17.0
|
6
|
+
|
7
|
+
- Add Sweden to mandatory signature countries
|
8
|
+
|
9
|
+
## 0.16.0
|
10
|
+
|
11
|
+
- Use correct default value for insurance
|
12
|
+
|
13
|
+
## 0.15.0
|
14
|
+
|
15
|
+
- Comment insurance value
|
16
|
+
|
17
|
+
## 0.14.0
|
18
|
+
|
19
|
+
- Ensure local path is present
|
20
|
+
|
1
21
|
## 0.13.0
|
2
22
|
|
3
23
|
- Multiple improvements
|
@@ -16,7 +16,8 @@ class ColissimoLabel::GenerateLabel
|
|
16
16
|
@customs_total_weight = options.fetch(:customs_total_weight, nil)
|
17
17
|
@customs_data = options.fetch(:customs_data, nil)
|
18
18
|
@with_signature = options.fetch(:with_signature, false)
|
19
|
-
@insurance_value = options.fetch(:insurance_value,
|
19
|
+
@insurance_value = options.fetch(:insurance_value, nil)
|
20
|
+
@eori_number = options.fetch(:eori_number, nil)
|
20
21
|
@label_output_format = options.fetch(:label_output_format, 'PDF_10x15_300dpi')
|
21
22
|
@errors = []
|
22
23
|
end
|
@@ -26,7 +27,7 @@ class ColissimoLabel::GenerateLabel
|
|
26
27
|
status = response.code
|
27
28
|
parts = response.to_a.last.force_encoding('BINARY').split('Content-ID: ')
|
28
29
|
label_filename = @filename + '.' + file_format
|
29
|
-
local_path = ColissimoLabel.colissimo_local_path
|
30
|
+
local_path = ColissimoLabel.colissimo_local_path&.chomp('/')
|
30
31
|
|
31
32
|
if ColissimoLabel.s3_bucket
|
32
33
|
colissimo_pdf = ColissimoLabel.s3_bucket.object(ColissimoLabel.s3_path.chomp('/') + '/' + label_filename)
|
@@ -50,7 +51,7 @@ class ColissimoLabel::GenerateLabel
|
|
50
51
|
end
|
51
52
|
end
|
52
53
|
|
53
|
-
if status == 400
|
54
|
+
if status == 400 || status == 500
|
54
55
|
error_message = response.body.to_s.encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '').scan(/"messageContent":"(.*?)"/).last&.first
|
55
56
|
raise StandardError, error_message
|
56
57
|
elsif status == 503
|
@@ -98,8 +99,9 @@ class ColissimoLabel::GenerateLabel
|
|
98
99
|
"addressee": {
|
99
100
|
"address": format_addressee
|
100
101
|
}
|
101
|
-
}.merge(
|
102
|
-
}.
|
102
|
+
}.merge(customs_letter)
|
103
|
+
}.merge(customs_fields)
|
104
|
+
.compact)
|
103
105
|
end
|
104
106
|
|
105
107
|
# Services =>
|
@@ -168,7 +170,7 @@ class ColissimoLabel::GenerateLabel
|
|
168
170
|
end
|
169
171
|
|
170
172
|
# Déclaration douanière de type CN23
|
171
|
-
def
|
173
|
+
def customs_letter
|
172
174
|
if require_customs?
|
173
175
|
{
|
174
176
|
"customsDeclarations": {
|
@@ -203,8 +205,25 @@ class ColissimoLabel::GenerateLabel
|
|
203
205
|
end
|
204
206
|
end
|
205
207
|
|
208
|
+
def customs_fields
|
209
|
+
if require_customs?
|
210
|
+
{
|
211
|
+
"fields": {
|
212
|
+
"customField": [
|
213
|
+
{
|
214
|
+
"key": 'EORI',
|
215
|
+
"value": @eori_number
|
216
|
+
}
|
217
|
+
]
|
218
|
+
}
|
219
|
+
}
|
220
|
+
else
|
221
|
+
{}
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
206
225
|
def require_customs?
|
207
|
-
%w[CH NO US].include?(@destination_country)
|
226
|
+
%w[CH NO US GB].include?(@destination_country)
|
208
227
|
end
|
209
228
|
|
210
229
|
# Certains pays, comme l'Allemagne, requiert une signature pour la livraison
|
@@ -214,7 +233,7 @@ class ColissimoLabel::GenerateLabel
|
|
214
233
|
# BPR : Colissimo - Point Retrait – en Bureau de Poste
|
215
234
|
# A2P : Colissimo - Point Retrait – en relais Pickup ou en consigne Pickup Station
|
216
235
|
def product_code
|
217
|
-
if %w[DE IT ES GB LU NL DK AT].include?(@destination_country)
|
236
|
+
if %w[DE IT ES GB LU NL DK AT SE].include?(@destination_country)
|
218
237
|
'DOS'
|
219
238
|
elsif !@pickup_id.nil? && %w[FR].include?(@destination_country)
|
220
239
|
@pickup_type || 'BPR'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: colissimo_label
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- FloXcoder
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -182,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
182
182
|
- !ruby/object:Gem::Version
|
183
183
|
version: '0'
|
184
184
|
requirements: []
|
185
|
-
rubygems_version: 3.
|
185
|
+
rubygems_version: 3.2.4
|
186
186
|
signing_key:
|
187
187
|
specification_version: 4
|
188
188
|
summary: Generate Colissimo label for all countries
|