@@ -43,10 +43,16 @@ export const importOrderStatus = async ({ order, mandaeToken, mandaeOrderSetting
43
43
logger . warn ( `Skipping ${ number } without invoice data` ) ;
44
44
return ;
45
45
}
46
- const mandaeTrackingPrefix = mandaeOrderSettings ?. tracking_prefix || '' ;
47
- const trackingId = mandaeTrackingPrefix
48
- + invoice . number . replace ( / ^ 0 + / , '' ) . trim ( )
49
- + invoice . serial_number . replace ( / ^ 0 + / , '' ) . trim ( ) ;
46
+ const lineTrackingCodes = shippingLine . tracking_codes || [ ] ;
47
+ let trackingId = lineTrackingCodes . find ( ( { tag, link } ) => {
48
+ return tag === 'mandae' || link ?. startsWith ( 'https://rastreae.com.br' ) ;
49
+ } ) ?. code ;
50
+ if ( ! trackingId ) {
51
+ const mandaeTrackingPrefix = mandaeOrderSettings ?. tracking_prefix || '' ;
52
+ trackingId = mandaeTrackingPrefix
53
+ + invoice . number . replace ( / ^ 0 + / , '' ) . trim ( )
54
+ + invoice . serial_number . replace ( / ^ 0 + / , '' ) . trim ( ) ;
55
+ }
50
56
logger . info ( `Tracking ${ number } with ID ${ trackingId } ` ) ;
51
57
const { data } = await axios . get ( `https://api.mandae.com.br/v3/trackings/${ trackingId } ` , {
52
58
headers : { Authorization : mandaeToken } ,
@@ -55,7 +61,6 @@ export const importOrderStatus = async ({ order, mandaeToken, mandaeOrderSetting
55
61
const trackingResult = data ?. events ?. [ 0 ] ;
56
62
if ( ! trackingResult ) return ;
57
63
const status = parseMandaeStatus ( trackingResult ) ;
58
- const lineTrackingCodes = shippingLine . tracking_codes || [ ] ;
59
64
const savedTrackingCode = lineTrackingCodes . find ( ( { code } ) => {
60
65
return code === trackingId ;
61
66
} ) ;
0 commit comments