@cloudcommerce/app-melhor-envio 0.14.0 → 0.15.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.
package/.turbo/turbo-build.log
CHANGED
|
@@ -24,37 +24,41 @@ const handleApiEvent = async ({
|
|
|
24
24
|
try {
|
|
25
25
|
const trackingCode = await db.searchLabel(resourceId);
|
|
26
26
|
if (!trackingCode) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
if (!process.env.MELHORENVIO_TOKEN) {
|
|
28
|
+
const melhorEnvioToken = appData.access_token;
|
|
29
|
+
if (typeof melhorEnvioToken === 'string' && melhorEnvioToken) {
|
|
30
|
+
process.env.MELHORENVIO_TOKEN = melhorEnvioToken;
|
|
31
|
+
} else {
|
|
32
|
+
logger.warn('Missing Melhor Envio token');
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
32
35
|
}
|
|
36
|
+
const { sandbox } = appData;
|
|
33
37
|
const order = apiDoc;
|
|
34
38
|
if (!appData.enabled_label_purchase || !orderIsValid(order, appData)) {
|
|
35
39
|
ECHO_SKIP();
|
|
36
40
|
return null;
|
|
37
41
|
}
|
|
38
|
-
const merchantData = await meClient(
|
|
42
|
+
const merchantData = await meClient(process.env.MELHORENVIO_TOKEN, sandbox).get('/')
|
|
39
43
|
.then(({ data }) => data);
|
|
40
44
|
const label = newLabel(order, appData, merchantData);
|
|
41
45
|
// logger.log(`>> Comprando etiquetas #${storeId} ${order._id}`);
|
|
42
|
-
const { data } = await meClient(
|
|
46
|
+
const { data } = await meClient(process.env.MELHORENVIO_TOKEN, sandbox).post('/cart', label);
|
|
43
47
|
if (data) {
|
|
44
48
|
logger.log(`>> Etiqueta inserida no carrinho com sucesso #${data.id}`);
|
|
45
49
|
if (appData.enabled_label_checkout) {
|
|
46
|
-
await meClient(
|
|
50
|
+
await meClient(process.env.MELHORENVIO_TOKEN, sandbox).post('/shipment/checkout', { orders: [data.id] });
|
|
47
51
|
}
|
|
48
52
|
// logger.log(`>> Carrinho finalizado com sucesso #${data.id}`);
|
|
49
53
|
await db.saveLabel(data.id, data.status, resourceId);
|
|
50
54
|
// logger.log(`>> Etiquetas salvas no db para futuros rastreio #${storeId} ${resourceId}`);
|
|
51
55
|
// updates hidden_metafields with the generated tag id
|
|
52
|
-
|
|
56
|
+
// TODO: set type for partial body in post method
|
|
57
|
+
await api.post(`orders/${resourceId}/hidden_metafields`, {
|
|
53
58
|
namespace: 'app-melhor-envio',
|
|
54
59
|
field: metafieldName,
|
|
55
60
|
value: data.id,
|
|
56
|
-
};
|
|
57
|
-
await api.post(`orders/${resourceId}/hidden_metafields`, bodyHiddenMetaField);
|
|
61
|
+
});
|
|
58
62
|
if (typeof data.tracking === 'string' && data.tracking.length) {
|
|
59
63
|
let shippingLine = order.shipping_lines?.find(({ app: application }) => application
|
|
60
64
|
&& application.service_code && application.service_code.startsWith('ME'));
|
|
@@ -82,12 +86,12 @@ const handleApiEvent = async ({
|
|
|
82
86
|
const { data } = err.response;
|
|
83
87
|
if (data) {
|
|
84
88
|
// update order hidden_metafields
|
|
85
|
-
|
|
89
|
+
// TODO: set type for partial body in post method
|
|
90
|
+
await api.post(`orders/${resourceId}/hidden_metafields`, {
|
|
86
91
|
namespace: 'app-melhor-envio',
|
|
87
92
|
field: 'melhor_envio_label_error',
|
|
88
93
|
value: JSON.stringify(data).substring(0, 255),
|
|
89
|
-
};
|
|
90
|
-
await api.post(`orders/${resourceId}/hidden_metafields`, bodyHiddenMetaField);
|
|
94
|
+
});
|
|
91
95
|
if (data.error
|
|
92
96
|
=== 'Os documentos (CPFs) dos participantes do frete não podem ser iguais'
|
|
93
97
|
|| data.error.startsWith('Seu saldo de R$ ')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events-to-melhor-envio.js","sourceRoot":"","sources":["../../src/functions-lib/events-to-melhor-envio.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,GAAG,MAAM,oBAAoB,CAAC;AACrC,OAAO,QAAQ,MAAM,iDAAiD,CAAC;AACvE,OAAO,aAAa,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,MAAM,SAAS,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;AAE/D,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAE9C,MAAM,cAAc,GAAG,KAAK,EAAE,EAC5B,MAAM,EACN,QAAQ,EACR,MAAM,EACN,GAAG,GACJ,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"events-to-melhor-envio.js","sourceRoot":"","sources":["../../src/functions-lib/events-to-melhor-envio.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,17 +10,23 @@ export default async ({ params, application }) => {
|
|
|
10
10
|
...application.hidden_data,
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
if (!
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
if (!process.env.MELHORENVIO_TOKEN) {
|
|
14
|
+
const melhorEnvioToken = appData.access_token;
|
|
15
|
+
if (typeof melhorEnvioToken === 'string' && melhorEnvioToken) {
|
|
16
|
+
process.env.MELHORENVIO_TOKEN = melhorEnvioToken;
|
|
17
|
+
} else {
|
|
18
|
+
logger.warn('Missing Melhor Envio token');
|
|
19
|
+
return {
|
|
20
|
+
status: 409,
|
|
21
|
+
error: 'CALCULATE_SHIPPING_DISABLED',
|
|
22
|
+
message: 'Melhor Envio Token is unset',
|
|
23
|
+
};
|
|
24
|
+
}
|
|
20
25
|
}
|
|
26
|
+
|
|
21
27
|
if (
|
|
22
28
|
appData.skip_no_weight_item
|
|
23
|
-
|
|
29
|
+
&& params.items && params.items.find(({ weight }) => weight && !weight.value)
|
|
24
30
|
) {
|
|
25
31
|
return {
|
|
26
32
|
status: 409,
|
|
@@ -76,12 +82,11 @@ export default async ({ params, application }) => {
|
|
|
76
82
|
|
|
77
83
|
if (params.items) {
|
|
78
84
|
const intZipCode = parseInt(params.to.zip.replace(/\D/g, ''), 10);
|
|
79
|
-
const token = appData.access_token;
|
|
80
85
|
const { sandbox } = appData;
|
|
81
86
|
|
|
82
87
|
if (!appData.merchant_address) {
|
|
83
88
|
// get merchant_address
|
|
84
|
-
const { data } = await meClient(
|
|
89
|
+
const { data } = await meClient(process.env.MELHORENVIO_TOKEN, sandbox).get('/');
|
|
85
90
|
const merchantAddress = data.address;
|
|
86
91
|
|
|
87
92
|
// update config.merchant_address
|
|
@@ -112,7 +117,8 @@ export default async ({ params, application }) => {
|
|
|
112
117
|
|
|
113
118
|
// calculate the shipment
|
|
114
119
|
try {
|
|
115
|
-
const data = await meClient(
|
|
120
|
+
const data = await meClient(process.env.MELHORENVIO_TOKEN, sandbox)
|
|
121
|
+
.post('/shipment/calculate', schema);
|
|
116
122
|
|
|
117
123
|
let errorMsg;
|
|
118
124
|
data.forEach((service) => {
|
|
@@ -167,7 +173,7 @@ export default async ({ params, application }) => {
|
|
|
167
173
|
};
|
|
168
174
|
|
|
169
175
|
const servicePkg = (service.packages && service.packages[0])
|
|
170
|
-
|
|
176
|
+
|| (service.volumes && service.volumes[0]);
|
|
171
177
|
|
|
172
178
|
if (servicePkg) {
|
|
173
179
|
shippingLine.package = {};
|
|
@@ -273,15 +279,15 @@ export default async ({ params, application }) => {
|
|
|
273
279
|
}
|
|
274
280
|
|
|
275
281
|
return (!Array.isArray(response.shipping_services) || !response.shipping_services.length)
|
|
276
|
-
&& errorMsg
|
|
282
|
+
&& errorMsg
|
|
283
|
+
? {
|
|
277
284
|
status: 400,
|
|
278
285
|
error: 'CALCULATE_ERR_MSG',
|
|
279
286
|
message: errorMsg,
|
|
280
287
|
}
|
|
281
|
-
|
|
288
|
+
// success response with available shipping services
|
|
282
289
|
: response;
|
|
283
290
|
} catch (err) {
|
|
284
|
-
//
|
|
285
291
|
let message = 'Unexpected Error Try Later';
|
|
286
292
|
if (err.response && err.isAxiosError) {
|
|
287
293
|
const { data, status, config } = err.response;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcommerce/app-melhor-envio",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.15.0",
|
|
5
5
|
"description": "E-Com Plus Cloud Commerce app to integrate Melhor Envio",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
"homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/apps/melhor-envio#readme",
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"axios": "^1.4.0",
|
|
24
|
-
"firebase-admin": "^11.
|
|
25
|
-
"firebase-functions": "^4.4.
|
|
26
|
-
"@cloudcommerce/api": "0.
|
|
27
|
-
"@cloudcommerce/firebase": "0.
|
|
24
|
+
"firebase-admin": "^11.9.0",
|
|
25
|
+
"firebase-functions": "^4.4.1",
|
|
26
|
+
"@cloudcommerce/api": "0.15.0",
|
|
27
|
+
"@cloudcommerce/firebase": "0.15.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@firebase/app-types": "^0.9.0",
|
|
31
|
-
"@cloudcommerce/types": "0.
|
|
31
|
+
"@cloudcommerce/types": "0.15.0"
|
|
32
32
|
},
|
|
33
33
|
"scripts": {
|
|
34
34
|
"build": "bash ../../../scripts/build-lib.sh"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Orders } from '@cloudcommerce/types';
|
|
1
|
+
import type { Orders, ResourceId, ResourceAndId } from '@cloudcommerce/api/types';
|
|
2
2
|
import logger from 'firebase-functions/logger';
|
|
3
3
|
import api from '@cloudcommerce/api';
|
|
4
4
|
import meClient from '../../lib-mjs/functions/client-melhor-envio.mjs';
|
|
@@ -17,7 +17,7 @@ const handleApiEvent = async ({
|
|
|
17
17
|
apiDoc,
|
|
18
18
|
app,
|
|
19
19
|
}) => {
|
|
20
|
-
const resourceId = apiEvent.resource_id;
|
|
20
|
+
const resourceId = apiEvent.resource_id as ResourceId;
|
|
21
21
|
logger.info('>> ', resourceId, ' - Action: ', apiEvent.action);
|
|
22
22
|
const key = `${evName}_${resourceId}`;
|
|
23
23
|
const appData = { ...app.data, ...app.hidden_data };
|
|
@@ -33,28 +33,33 @@ const handleApiEvent = async ({
|
|
|
33
33
|
try {
|
|
34
34
|
const trackingCode = await db.searchLabel(resourceId);
|
|
35
35
|
if (!trackingCode) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
if (!process.env.MELHORENVIO_TOKEN) {
|
|
37
|
+
const melhorEnvioToken = appData.access_token;
|
|
38
|
+
if (typeof melhorEnvioToken === 'string' && melhorEnvioToken) {
|
|
39
|
+
process.env.MELHORENVIO_TOKEN = melhorEnvioToken;
|
|
40
|
+
} else {
|
|
41
|
+
logger.warn('Missing Melhor Envio token');
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
45
|
|
|
46
|
+
const { sandbox } = appData;
|
|
47
|
+
|
|
43
48
|
const order = apiDoc as Orders;
|
|
44
49
|
if (!appData.enabled_label_purchase || !orderIsValid(order, appData)) {
|
|
45
50
|
ECHO_SKIP();
|
|
46
51
|
return null;
|
|
47
52
|
}
|
|
48
|
-
const merchantData = await meClient(
|
|
53
|
+
const merchantData = await meClient(process.env.MELHORENVIO_TOKEN, sandbox).get('/')
|
|
49
54
|
.then(({ data }) => data);
|
|
50
55
|
|
|
51
56
|
const label = newLabel(order, appData, merchantData);
|
|
52
57
|
// logger.log(`>> Comprando etiquetas #${storeId} ${order._id}`);
|
|
53
|
-
const { data } = await meClient(
|
|
58
|
+
const { data } = await meClient(process.env.MELHORENVIO_TOKEN, sandbox).post('/cart', label);
|
|
54
59
|
if (data) {
|
|
55
60
|
logger.log(`>> Etiqueta inserida no carrinho com sucesso #${data.id}`);
|
|
56
61
|
if (appData.enabled_label_checkout) {
|
|
57
|
-
await meClient(
|
|
62
|
+
await meClient(process.env.MELHORENVIO_TOKEN, sandbox).post('/shipment/checkout', { orders: [data.id] });
|
|
58
63
|
}
|
|
59
64
|
|
|
60
65
|
// logger.log(`>> Carrinho finalizado com sucesso #${data.id}`);
|
|
@@ -62,12 +67,16 @@ const handleApiEvent = async ({
|
|
|
62
67
|
|
|
63
68
|
// logger.log(`>> Etiquetas salvas no db para futuros rastreio #${storeId} ${resourceId}`);
|
|
64
69
|
// updates hidden_metafields with the generated tag id
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
|
|
71
|
+
// TODO: set type for partial body in post method
|
|
72
|
+
await api.post(
|
|
73
|
+
`orders/${resourceId}/hidden_metafields` as `${ResourceAndId}/string`,
|
|
74
|
+
{
|
|
75
|
+
namespace: 'app-melhor-envio',
|
|
76
|
+
field: metafieldName,
|
|
77
|
+
value: data.id,
|
|
78
|
+
},
|
|
79
|
+
);
|
|
71
80
|
|
|
72
81
|
if (typeof data.tracking === 'string' && data.tracking.length) {
|
|
73
82
|
let shippingLine = order.shipping_lines?.find(({ app: application }) => application
|
|
@@ -103,13 +112,16 @@ const handleApiEvent = async ({
|
|
|
103
112
|
|
|
104
113
|
if (data) {
|
|
105
114
|
// update order hidden_metafields
|
|
106
|
-
const bodyHiddenMetaField = {
|
|
107
|
-
namespace: 'app-melhor-envio',
|
|
108
|
-
field: 'melhor_envio_label_error',
|
|
109
|
-
value: JSON.stringify(data).substring(0, 255),
|
|
110
|
-
} as any;
|
|
111
115
|
|
|
112
|
-
|
|
116
|
+
// TODO: set type for partial body in post method
|
|
117
|
+
await api.post(
|
|
118
|
+
`orders/${resourceId}/hidden_metafields` as `${ResourceAndId}/string`,
|
|
119
|
+
{
|
|
120
|
+
namespace: 'app-melhor-envio',
|
|
121
|
+
field: 'melhor_envio_label_error',
|
|
122
|
+
value: JSON.stringify(data).substring(0, 255),
|
|
123
|
+
},
|
|
124
|
+
);
|
|
113
125
|
|
|
114
126
|
if (
|
|
115
127
|
data.error
|