5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
|
# File 'app/services/edi/mirakl_seller/orchestrator.rb', line 5
def self.partners
mirakl_leroymerlin_api_host = Heatwave::Configuration.fetch(:mirakl_leroymerlin_api, :api_host)
mirakl_leroymerlin_api_key = Heatwave::Configuration.fetch(:mirakl_leroymerlin_api, :api_key)
mirakl_castorama_api_host = Heatwave::Configuration.fetch(:mirakl_castorama_api, :api_host)
mirakl_castorama_api_key = Heatwave::Configuration.fetch(:mirakl_castorama_api, :api_key)
mirakl_bricodepot_es_api_host = Heatwave::Configuration.fetch(:mirakl_bricodepot_es_api, :api_host)
mirakl_bricodepot_es_api_key = Heatwave::Configuration.fetch(:mirakl_bricodepot_es_api, :api_key)
mirakl_bricodepot_pt_api_host = Heatwave::Configuration.fetch(:mirakl_bricodepot_pt_api, :api_host)
mirakl_bricodepot_pt_api_key = Heatwave::Configuration.fetch(:mirakl_bricodepot_pt_api, :api_key)
mirakl_bricomarche_api_host = Heatwave::Configuration.fetch(:mirakl_bricomarche_api, :api_host)
mirakl_bricomarche_api_key = Heatwave::Configuration.fetch(:mirakl_bricomarche_api, :api_key)
mirakl_leclerc_api_host = Heatwave::Configuration.fetch(:mirakl_leclerc_api, :api_host)
mirakl_leclerc_api_key = Heatwave::Configuration.fetch(:mirakl_leclerc_api, :api_key)
mirakl_maxeda_api_host = Heatwave::Configuration.fetch(:mirakl_maxeda_api, :api_host)
mirakl_maxeda_api_key = Heatwave::Configuration.fetch(:mirakl_maxeda_api, :api_key)
{
leroymerlin_adeo: {
active: true,
partner: :leroymerlin_adeo,
customer_id: { 'Groupe ADEO / Leroy Merlin France': 21_631_999,
'Groupe ADEO / Leroy Merlin Spain': 22_444_117,
'Groupe ADEO / Leroy Merlin Portugal': 22_444_128,
'Groupe ADEO / Leroy Merlin Italy': 22_473_614 },
catalog_ids: { '001': 155, '002': 228, '003': 229, '005': 262 }, main_catalog_id: 155,
orchestrator_keys: %w[leroymerlin_fr leroymerlin_es leroymerlin_pt leroymerlin_it],
image_locales: %i[fr es pt it],
value_pre_filter: { 'Yes' => 'LOV_000001', 'No' => 'LOV_000002' },
offer_id: 'ean',
transporter: :mirakl,
transporter_profile: :mirakl_leroymerlin_api,
error_product_identifier: 'shop_sku',
product_id_type: 'EAN',
product_data_remote_path: "#{mirakl_leroymerlin_api_host}/api/products/imports",
product_import_message_remote_path: "#{mirakl_leroymerlin_api_host}/api/products/imports",
price_import_message_remote_path: "#{mirakl_leroymerlin_api_host}/api/offers/imports",
price_advice_remote_path: "#{mirakl_leroymerlin_api_host}/api/offers/imports",
order_message_remote_path: "#{mirakl_leroymerlin_api_host}/api/orders?order_state_codes=WAITING_ACCEPTANCE,SHIPPING",
fa_message_remote_path: "#{mirakl_leroymerlin_api_host}/api/orders/{order_id}/accept",
tracking_advice_remote_path: "#{mirakl_leroymerlin_api_host}/api/orders/{order_id}/tracking",
invoice_message_remote_path: "#{mirakl_leroymerlin_api_host}/api/orders/{order_id}/documents",
validate_shipping_remote_path: "#{mirakl_leroymerlin_api_host}/api/orders/{order_id}/ship",
failure_timeout_in_minutes: 10,
max_process_attempts: 20,
orders_require_acceptance: true,
vat_breakdown_available: true,
price_message_enabled: true,
confirm_message_enabled: true,
invoice_message_enabled: true,
inventory_message_enabled: false,
confirm_outbound_processing: true,
fa_message_enabled: true,
execute_price_flow_every_x_hour: 24,
support_contact: 'sellersuccess@leroymerlin.fr'
},
castorama: {
active: true,
partner: :castorama,
customer_id: { 'CASTORAMA FRANCE': 22_779_162 },
catalog_ids: { '001': 263 },
main_catalog_id: 263,
orchestrator_keys: %w[castorama_fr],
image_locales: %i[fr],
value_pre_filter: { 'Yes' => 1, 'No' => 2 },
offer_id: 'ean',
transporter: :mirakl,
transporter_profile: :mirakl_castorama_api,
error_product_identifier: 'shop_sku',
product_id_type: 'EAN',
product_data_remote_path: "#{mirakl_castorama_api_host}/api/products/imports",
product_import_message_remote_path: "#{mirakl_castorama_api_host}/api/products/imports",
price_import_message_remote_path: "#{mirakl_castorama_api_host}/api/offers/imports",
price_advice_remote_path: "#{mirakl_castorama_api_host}/api/offers/imports",
order_message_remote_path: "#{mirakl_castorama_api_host}/api/orders?order_state_codes=SHIPPING",
fa_message_remote_path: "#{mirakl_castorama_api_host}/api/orders/{order_id}/accept",
tracking_advice_remote_path: "#{mirakl_castorama_api_host}/api/orders/{order_id}/tracking",
invoice_message_remote_path: "#{mirakl_castorama_api_host}/api/orders/{order_id}/documents",
validate_shipping_remote_path: "#{mirakl_castorama_api_host}/api/orders/{order_id}/ship",
failure_timeout_in_minutes: 10,
max_process_attempts: 20,
orders_require_acceptance: false,
vat_breakdown_available: false,
price_message_enabled: true,
confirm_message_enabled: true,
invoice_message_enabled: true,
inventory_message_enabled: true,
confirm_outbound_processing: true,
fa_message_enabled: true,
execute_price_flow_every_x_hour: 24,
support_contact: 'victor.bello@kingfisher.com'
},
bricodepot_es: {
active: true,
partner: :bricodepot_es,
customer_id: { 'BRICODEPOT SPAIN': 22_818_476 },
catalog_ids: { '001': 265 },
main_catalog_id: 265,
orchestrator_keys: %w[bricodepot_es],
image_locales: %i[es],
value_pre_filter: { 'Yes' => 1, 'No' => 0 },
offer_id: 'ean',
transporter: :mirakl,
namespace: :bricodepot,
transporter_profile: :mirakl_bricodepot_es_api,
error_product_identifier: 'shop_sku',
product_id_type: 'EAN',
product_data_remote_path: "#{mirakl_bricodepot_es_api_host}/api/products/imports",
product_import_message_remote_path: "#{mirakl_bricodepot_es_api_host}/api/products/imports",
price_import_message_remote_path: "#{mirakl_bricodepot_es_api_host}/api/offers/imports",
price_advice_remote_path: "#{mirakl_bricodepot_es_api_host}/api/offers/imports",
order_message_remote_path: "#{mirakl_bricodepot_es_api_host}/api/orders?order_state_codes=WAITING_ACCEPTANCE,SHIPPING",
fa_message_remote_path: "#{mirakl_bricodepot_es_api_host}/api/orders/{order_id}/accept",
tracking_advice_remote_path: "#{mirakl_bricodepot_es_api_host}/api/orders/{order_id}/tracking",
invoice_message_remote_path: "#{mirakl_bricodepot_es_api_host}/api/orders/{order_id}/documents",
validate_shipping_remote_path: "#{mirakl_bricodepot_es_api_host}/api/orders/{order_id}/ship",
failure_timeout_in_minutes: 10,
max_process_attempts: 20,
orders_require_acceptance: true,
vat_breakdown_available: false,
price_message_enabled: true,
confirm_message_enabled: true,
invoice_message_enabled: true,
inventory_message_enabled: true,
confirm_outbound_processing: true,
fa_message_enabled: true,
execute_price_flow_every_x_hour: 24,
support_contact: 'Crisbell.AlcalaMontoya@bricodepot.com'
},
bricodepot_pt: {
active: true,
partner: :bricodepot_pt,
customer_id: { 'BRICODEPOT PORTUGAL': 22_818_474 },
catalog_ids: { '001': 264 },
main_catalog_id: 264,
orchestrator_keys: %w[bricodepot_pt],
image_locales: %i[pt],
value_pre_filter: { 'Yes' => 1, 'No' => 0 },
offer_id: 'ean',
transporter: :mirakl,
namespace: :bricodepot,
transporter_profile: :mirakl_bricodepot_pt_api,
error_product_identifier: 'shop_sku',
product_id_type: 'EAN',
product_data_remote_path: "#{mirakl_bricodepot_pt_api_host}/api/products/imports",
product_import_message_remote_path: "#{mirakl_bricodepot_pt_api_host}/api/products/imports",
price_import_message_remote_path: "#{mirakl_bricodepot_pt_api_host}/api/offers/imports",
price_advice_remote_path: "#{mirakl_bricodepot_pt_api_host}/api/offers/imports",
order_message_remote_path: "#{mirakl_bricodepot_pt_api_host}/api/orders?order_state_codes=WAITING_ACCEPTANCE,SHIPPING",
fa_message_remote_path: "#{mirakl_bricodepot_pt_api_host}/api/orders/{order_id}/accept",
tracking_advice_remote_path: "#{mirakl_bricodepot_pt_api_host}/api/orders/{order_id}/tracking",
invoice_message_remote_path: "#{mirakl_bricodepot_pt_api_host}/api/orders/{order_id}/documents",
validate_shipping_remote_path: "#{mirakl_bricodepot_pt_api_host}/api/orders/{order_id}/ship",
failure_timeout_in_minutes: 10,
max_process_attempts: 20,
orders_require_acceptance: true,
vat_breakdown_available: false,
price_message_enabled: true,
confirm_message_enabled: true,
invoice_message_enabled: true,
inventory_message_enabled: true,
confirm_outbound_processing: true,
fa_message_enabled: true,
execute_price_flow_every_x_hour: 24,
support_contact: 'Crisbell.AlcalaMontoya@bricodepot.com'
},
bricomarche: {
active: false,
partner: :bricomarche,
customer_id: { BRICOMARCHE: 22_841_508 },
catalog_ids: { '001': 266 },
main_catalog_id: 266,
orchestrator_keys: %w[bricomarche_fr],
image_locales: %i[fr],
value_pre_filter: { 'Yes' => 'True', 'No' => 'False' },
offer_id: 'ean',
transporter: :mirakl,
transporter_profile: :mirakl_bricomarche_api,
error_product_identifier: 'shop_sku',
product_id_type: 'EAN',
product_data_remote_path: "#{mirakl_bricomarche_api_host}/api/products/imports",
product_import_message_remote_path: "#{mirakl_bricomarche_api_host}/api/products/imports",
price_import_message_remote_path: "#{mirakl_bricomarche_api_host}/api/offers/imports",
price_advice_remote_path: "#{mirakl_bricomarche_api_host}/api/offers/imports",
order_message_remote_path: "#{mirakl_bricomarche_api_host}/api/orders?order_state_codes=WAITING_ACCEPTANCE,SHIPPING",
fa_message_remote_path: "#{mirakl_bricomarche_api_host}/api/orders/{order_id}/accept",
tracking_advice_remote_path: "#{mirakl_bricomarche_api_host}/api/orders/{order_id}/tracking",
invoice_message_remote_path: "#{mirakl_bricomarche_api_host}/api/orders/{order_id}/documents",
validate_shipping_remote_path: "#{mirakl_bricomarche_api_host}/api/orders/{order_id}/ship",
failure_timeout_in_minutes: 10,
max_process_attempts: 20,
orders_require_acceptance: true,
vat_breakdown_available: false,
price_message_enabled: true,
confirm_message_enabled: true,
invoice_message_enabled: true,
inventory_message_enabled: true,
confirm_outbound_processing: true,
fa_message_enabled: true,
execute_price_flow_every_x_hour: 24,
support_contact: 'lauren.mariette@mousquetaires.com'
},
leclerc: {
active: true,
partner: :leclerc,
customer_id: { LECLERC: 22_884_811 },
catalog_ids: { '001': 269 },
main_catalog_id: 269,
orchestrator_keys: %w[leclerc_fr],
image_locales: %i[fr],
value_pre_filter: { 'Yes' => 'oui', 'No' => 'non' },
offer_id: 'ean',
transporter: :mirakl,
transporter_profile: :mirakl_leclerc_api,
error_product_identifier: 'shop_sku',
product_id_type: 'SHOP_SKU',
product_data_remote_path: "#{mirakl_leclerc_api_host}/api/products/imports",
product_import_message_remote_path: "#{mirakl_leclerc_api_host}/api/products/imports",
price_import_message_remote_path: "#{mirakl_leclerc_api_host}/api/offers/imports",
price_advice_remote_path: "#{mirakl_leclerc_api_host}/api/offers/imports",
order_message_remote_path: "#{mirakl_leclerc_api_host}/api/orders?order_state_codes=WAITING_ACCEPTANCE,SHIPPING",
fa_message_remote_path: "#{mirakl_leclerc_api_host}/api/orders/{order_id}/accept",
tracking_advice_remote_path: "#{mirakl_leclerc_api_host}/api/orders/{order_id}/tracking",
invoice_message_remote_path: "#{mirakl_leclerc_api_host}/api/orders/{order_id}/documents",
validate_shipping_remote_path: "#{mirakl_leclerc_api_host}/api/orders/{order_id}/ship",
failure_timeout_in_minutes: 10,
max_process_attempts: 20,
orders_require_acceptance: true,
vat_breakdown_available: false,
price_message_enabled: true,
confirm_message_enabled: true,
invoice_message_enabled: true,
inventory_message_enabled: true,
confirm_outbound_processing: true,
fa_message_enabled: true,
execute_price_flow_every_x_hour: 24,
support_contact: 'Tedwin.Liot@lcommerce.leclerc'
},
maxeda: {
active: false,
partner: :maxeda,
customer_id: { 'MAXEDA GROUP': 22_884_826 },
catalog_ids: { '001': 268 },
main_catalog_id: 268,
orchestrator_keys: %w[maxeda],
image_locales: %i[fr nl],
value_pre_filter: { 'Yes' => 'yesno_True', 'No' => 'yesno_False' },
offer_id: 'sku',
product_id_type: 'EAN',
transporter: :mirakl,
transporter_profile: :mirakl_maxeda_api,
error_product_identifier: 'seller_product_id',
product_data_remote_path: "#{mirakl_maxeda_api_host}/api/products/imports",
product_import_message_remote_path: "#{mirakl_maxeda_api_host}/api/products/imports",
price_import_message_remote_path: "#{mirakl_maxeda_api_host}/api/offers/imports",
price_advice_remote_path: "#{mirakl_maxeda_api_host}/api/offers/imports",
order_message_remote_path: "#{mirakl_maxeda_api_host}/api/orders?order_state_codes=SHIPPING",
fa_message_remote_path: "#{mirakl_maxeda_api_host}/api/orders/{order_id}/accept",
tracking_advice_remote_path: "#{mirakl_maxeda_api_host}/api/orders/{order_id}/tracking",
invoice_message_remote_path: "#{mirakl_maxeda_api_host}/api/orders/{order_id}/documents",
validate_shipping_remote_path: "#{mirakl_maxeda_api_host}/api/orders/{order_id}/ship",
failure_timeout_in_minutes: 10,
max_process_attempts: 20,
orders_require_acceptance: false,
vat_breakdown_available: false,
price_message_enabled: true,
confirm_message_enabled: true,
invoice_message_enabled: true,
inventory_message_enabled: true,
confirm_outbound_processing: true,
fa_message_enabled: true,
execute_price_flow_every_x_hour: 24,
support_contact: 'Sten.Lobles@diymaxeda.com'
}
}
end
|