diff --git a/README.md b/README.md index 495e44b..48b2a3b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# tdi-connector - -You can find more info about tdi-connector in the Reflex platform documentation center : https://docs.viz.reflex-platform.com/connectivity/partnerapp/tdi-connector/ - +# tdi-connector + +You can find more info about tdi-connector in the Reflex platform documentation center : https://docs.viz.reflex-platform.com/connectivity/partnerapp/tdi-connector/ + diff --git a/TDItoRP.ftl b/TDItoRP.ftl index 05ecbc7..2cd82d8 100644 --- a/TDItoRP.ftl +++ b/TDItoRP.ftl @@ -5,68 +5,33 @@ <#assign tdiEvent64b = JsonUtil.decodeBase64(tdiEventMsg.data) /> <#assign tdiEvent = JsonUtil.jsonToMap(tdiEvent64b)> <#assign senderTag = tdiEventMsg.senderTag> - -<#-- Target = 0 : Expedition , Target = 1 : Colis --> -<#if tdiEvent.Target == 0 || (tdiEvent.Target == 1 && tdiEvent.ParcelNumber?? && tdiEvent.ParcelNumber == "")> - <#stop > -<#else> - {"Header": - { - "ProjectID": "${projectRP}" - }, - "ID": - { - "RefID": "${tdiEvent.ParcelNumber}" - }, - "Payload": - {"Events": [ - <#-- {"Date": {"DateTime": "${tdiEvent.EventDate?datetime.iso?iso_utc}", --> - {"Date": {"DateTime": "${tdiEvent.EventDate}", - "AuthorTimeZone": "UTC" - }, - <#if tdiEvent.EventCode == "OK-COLLECTED" || - tdiEvent.EventCode == "OK-EDI" || - tdiEvent.EventCode == "OK-APPT-DATE" || - tdiEvent.EventCode == "OK-APPT-NOTI" || - tdiEvent.EventCode == "OK-APPT-NEED" || - tdiEvent.EventCode == "ADM" || - tdiEvent.EventCode == "RGP" > - "Code": "TRACKING_EVENT_IFTSTA_349", <#-- Handled by carrier --> - <#else> - <#if tdiEvent.EventCode?starts_with("TA") > - "Code": "TRACKING_EVENT_IFTSTA_56", <#-- Incomplete delivery --> - <#else> - <#if tdiEvent.EventCode?starts_with("T-") == true || - tdiEvent.EventCode?starts_with("TD") == true || - tdiEvent.EventCode == "OK-OUT-FOR-D" || - tdiEvent.EventCode == "OK-IN-TRANST" > - "Code": "TRACKING_EVENT_IFTSTA_113",<#-- Delivery in progress --> - <#else> - <#if tdiEvent.EventCode?starts_with("D-") == true || - tdiEvent.EventCode == "OK-DELIVERED" || - tdiEvent.EventCode == "POD" || - tdiEvent.EventCode == "FAC" || - tdiEvent.EventCode == "OK-WITHDRAWA" > - "Code": "TRACKING_EVENT_IFTSTA_21",<#-- Process Completed --> - <#else> - <#if tdiEvent.EventCode?starts_with("DC") == true || - tdiEvent.EventCode?starts_with("DN") == true || - tdiEvent.EventCode?starts_with("DR") == true || - tdiEvent.EventCode?starts_with("C-") == true || - tdiEvent.EventCode == "SUP" || - tdiEvent.EventCode == "NEX" > - "Code": "TRACKING_EVENT_IFTSTA_14",<#-- Delivery completed --> - <#else> - "Code": "TRACKING_EVENT_UNKNOWN", - - - - - - "Reason": "${tdiEvent.EventLabel}" - - } - ] - } - } - \ No newline at end of file + <#if tdiEvent.Target == 0 || (tdiEvent.Target == 1 && tdiEvent.ParcelNumber?? && tdiEvent.ParcelNumber == "")> + <#stop> + <#else> + [ + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingNotified> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "TDItoRP_TrackingNotified.ftl"> + } + <#if tdiEvent.EstimatedDeliveryDate?? && tdiEvent.EstimatedDeliveryDate!=""> + , + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingETAUpdated> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "TDItoRP_TrackingETAUpdated.ftl"> + } + + <#if tdiEvent.TrackingUrl?? && tdiEvent.TrackingUrl!=""> + , + { + <#assign apiReflexPlatformID = ApiReflexPlatformID.TrackingURLUpdated> + "apiReflexPlatformID" : "${apiReflexPlatformID}", + "datas" : + <#include "TDItoRP_TrackingURLUpdated.ftl"> + } + + ] + \ No newline at end of file diff --git a/TDItoRP_TrackingETAUpdated.ftl b/TDItoRP_TrackingETAUpdated.ftl index e2ed43a..f4ff9ec 100644 --- a/TDItoRP_TrackingETAUpdated.ftl +++ b/TDItoRP_TrackingETAUpdated.ftl @@ -1,20 +1,22 @@ -{ - "Header": { - "ProjectID": "${projectRP}" - }, - "ID": { - "RefID": "${tdiEvent.ParcelNumber}" - }, - "Payload": { - "TrackingETA": { - "EndETA": { - "AuthorTimeZone": "Europe/Paris", - "DateTime": "2023-01-01T00:00:00Z" - }, - "StartETA": { - "AuthorTimeZone": "Europe/Paris", - "DateTime": "2023-01-01T00:00:00Z" +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + "RefID": "${tdiEvent.ParcelNumber}" + }, + "Payload": { + "TrackingETA": { + "EndETA": { + "AuthorTimeZone": "Europe/Paris", + "DateTime": "2023-01-01T00:00:00Z" + }, + "StartETA": { + "AuthorTimeZone": "Europe/Paris", + "DateTime": "2023-01-01T00:00:00Z" + } } } } -} \ No newline at end of file +] \ No newline at end of file diff --git a/TDItoRP_TrackingNotified.ftl b/TDItoRP_TrackingNotified.ftl index 969e1d0..09e575b 100644 --- a/TDItoRP_TrackingNotified.ftl +++ b/TDItoRP_TrackingNotified.ftl @@ -1,62 +1,64 @@ -{ - "Header": +[ { - "ProjectID": "${projectRP}" - }, - "ID": - { - "RefID": "${tdiEvent.ParcelNumber}" - }, - "Payload": - { - "Events": [ - <#-- {"Date": {"DateTime": "${tdiEvent.EventDate?datetime.iso?iso_utc}", --> - { - "Date": { - "DateTime": "${tdiEvent.EventDate}", - "AuthorTimeZone": "UTC" - }, - <#if tdiEvent.EventCode == "OK-COLLECTED" || - tdiEvent.EventCode == "OK-EDI" || - tdiEvent.EventCode == "OK-APPT-DATE" || - tdiEvent.EventCode == "OK-APPT-NOTI" || - tdiEvent.EventCode == "OK-APPT-NEED" || - tdiEvent.EventCode == "ADM" || - tdiEvent.EventCode == "RGP" > - "Code": "TRACKING_EVENT_IFTSTA_349", <#-- Handled by carrier --> - <#else> - <#if tdiEvent.EventCode?starts_with("TA") > - "Code": "TRACKING_EVENT_IFTSTA_56", <#-- Incomplete delivery --> - <#else> - <#if tdiEvent.EventCode?starts_with("T-") == true || - tdiEvent.EventCode?starts_with("TD") == true || - tdiEvent.EventCode == "OK-OUT-FOR-D" || - tdiEvent.EventCode == "OK-IN-TRANST" > - "Code": "TRACKING_EVENT_IFTSTA_113",<#-- Delivery in progress --> - <#else> - <#if tdiEvent.EventCode?starts_with("D-") == true || - tdiEvent.EventCode == "OK-DELIVERED" || - tdiEvent.EventCode == "POD" || - tdiEvent.EventCode == "FAC" || - tdiEvent.EventCode == "OK-WITHDRAWA" > - "Code": "TRACKING_EVENT_IFTSTA_21",<#-- Process Completed --> + "Header": + { + "ProjectID": "${projectRP}" + }, + "ID": + { + "RefID": "${tdiEvent.ParcelNumber}" + }, + "Payload": + { + "Events": [ + <#-- {"Date": {"DateTime": "${tdiEvent.EventDate?datetime.iso?iso_utc}", --> + { + "Date": { + "DateTime": "${tdiEvent.EventDate}", + "AuthorTimeZone": "UTC" + }, + <#if tdiEvent.EventCode == "OK-COLLECTED" || + tdiEvent.EventCode == "OK-EDI" || + tdiEvent.EventCode == "OK-APPT-DATE" || + tdiEvent.EventCode == "OK-APPT-NOTI" || + tdiEvent.EventCode == "OK-APPT-NEED" || + tdiEvent.EventCode == "ADM" || + tdiEvent.EventCode == "RGP" > + "Code": "TRACKING_EVENT_IFTSTA_349", <#-- Handled by carrier --> + <#else> + <#if tdiEvent.EventCode?starts_with("TA") > + "Code": "TRACKING_EVENT_IFTSTA_56", <#-- Incomplete delivery --> + <#else> + <#if tdiEvent.EventCode?starts_with("T-") == true || + tdiEvent.EventCode?starts_with("TD") == true || + tdiEvent.EventCode == "OK-OUT-FOR-D" || + tdiEvent.EventCode == "OK-IN-TRANST" > + "Code": "TRACKING_EVENT_IFTSTA_113",<#-- Delivery in progress --> <#else> - <#if tdiEvent.EventCode?starts_with("DC") == true || - tdiEvent.EventCode?starts_with("DN") == true || - tdiEvent.EventCode?starts_with("DR") == true || - tdiEvent.EventCode?starts_with("C-") == true || - tdiEvent.EventCode == "SUP" || - tdiEvent.EventCode == "NEX" > - "Code": "TRACKING_EVENT_IFTSTA_14",<#-- Delivery completed --> + <#if tdiEvent.EventCode?starts_with("D-") == true || + tdiEvent.EventCode == "OK-DELIVERED" || + tdiEvent.EventCode == "POD" || + tdiEvent.EventCode == "FAC" || + tdiEvent.EventCode == "OK-WITHDRAWA" > + "Code": "TRACKING_EVENT_IFTSTA_21",<#-- Process Completed --> <#else> - "Code": "TRACKING_EVENT_UNKNOWN", + <#if tdiEvent.EventCode?starts_with("DC") == true || + tdiEvent.EventCode?starts_with("DN") == true || + tdiEvent.EventCode?starts_with("DR") == true || + tdiEvent.EventCode?starts_with("C-") == true || + tdiEvent.EventCode == "SUP" || + tdiEvent.EventCode == "NEX" > + "Code": "TRACKING_EVENT_IFTSTA_14",<#-- Delivery completed --> + <#else> + "Code": "TRACKING_EVENT_UNKNOWN", + - - "Reason": "${tdiEvent.EventLabel}" - } - ] - } -} \ No newline at end of file + "Reason": "${tdiEvent.EventLabel}" + } + ] + } + } +] \ No newline at end of file diff --git a/TDItoRP_TrackingURLUpdated.ftl b/TDItoRP_TrackingURLUpdated.ftl index fe33996..721032b 100644 --- a/TDItoRP_TrackingURLUpdated.ftl +++ b/TDItoRP_TrackingURLUpdated.ftl @@ -1,11 +1,13 @@ -{ - "Header": { - "ProjectID": "${projectRP}" - }, - "ID": { - "RefID": "${tdiEvent.ParcelNumber}" - }, - "Payload": { - "TrackingURL": "${tdiEvent.TrackingUrl}" +[ + { + "Header": { + "ProjectID": "${projectRP}" + }, + "ID": { + "RefID": "${tdiEvent.ParcelNumber}" + }, + "Payload": { + "TrackingURL": "${tdiEvent.TrackingUrl}" + } } -} \ No newline at end of file +] \ No newline at end of file diff --git a/VERSION b/VERSION index 61bc4c6..cf902fc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.1.0-SNAPSHOT +2.1.0-SNAPSHOT