Upload files to "palletways"
Zendingen die wij gemanifesteerd hebben of die voor ons zijn gemanifesteerd
This commit is contained in:
1 parent
3a1163d5a7
commit
b3c1e756f4
1 file changed
+304
@@ -0,0 +1,304 @@
|
|||||||
|
{
|
||||||
|
"name": "Palletways BI - gemanifesteerd",
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"jsCode": "// Get today's date\nconst today = new Date();\n\n\nconst lastWorkday = new Date(today);\n\n// Format as YYYY-MM-DD\nconst yyyy = lastWorkday.getFullYear();\nconst mm = String(lastWorkday.getMonth() + 1).padStart(2, '0');\nconst dd = String(lastWorkday.getDate()).padStart(2, '0');\nconst formattedDate = `${yyyy}-${mm}-${dd}`;\n\nreturn [\n {\n json: {\n lastWorkday: formattedDate\n }\n }\n];"
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.code",
|
||||||
|
"typeVersion": 2,
|
||||||
|
"position": [
|
||||||
|
512,
|
||||||
|
432
|
||||||
|
],
|
||||||
|
"id": "2551d1cf-6e36-43d4-8066-cdfe5f0519bd",
|
||||||
|
"name": "Last workday1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"jsCode": "const xmlData = items[0]?.json?.data;\n\nif (typeof xmlData !== 'string') {\n throw new Error('Expected XML string in $input.first().json.data');\n}\n\nconst out = [];\nconst seen = new Set();\n\nconst stripCdata = (value) => {\n if (value === undefined || value === null) return '';\n return String(value)\n .replace(/^<!\\[CDATA\\[/, '')\n .replace(/\\]\\]>$/, '')\n .trim();\n};\n\nconst getTag = (block, tag) => {\n const regex = new RegExp(`<${tag}[^>]*>([\\\\s\\\\S]*?)<\\\\/${tag}>`, 'i');\n const match = block.match(regex);\n return match ? stripCdata(match[1]) : '';\n};\n\nconst dataMatches = xmlData.match(/<Data\\b[^>]*>[\\s\\S]*?<\\/Data>/gi) || [];\nconst resultMatches = xmlData.match(/<result\\b[^>]*>[\\s\\S]*?<\\/result>/gi) || [];\nconst dataBlocks = [...dataMatches, ...resultMatches];\n\nfor (const block of dataBlocks) {\n const trackingid =\n getTag(block, 'dc_syscon') ||\n getTag(block, 'TrackingID') ||\n getTag(block, 'tracking_id');\n\n if (!trackingid) continue;\n\n const cleanTrackingId = trackingid.trim().toUpperCase();\n if (seen.has(cleanTrackingId)) continue;\n seen.add(cleanTrackingId);\n\n out.push({\n json: {\n trackingid: cleanTrackingId,\n\n source_name: 'DWT_OUTBOUND',\n\n con_no: getTag(block, 'con_no'),\n cust_ref: getTag(block, 'cust_ref'),\n bunits: getTag(block, 'bunits'),\n lifts: getTag(block, 'lifts'),\n weight: getTag(block, 'weight'),\n booking_in: getTag(block, 'booking_in'),\n handball: getTag(block, 'handball'),\n col_company: getTag(block, 'col_company'),\n del_company: getTag(block, 'del_company'),\n status: getTag(block, 'status'),\n account_code: getTag(block, 'account_code'),\n date_entered: getTag(block, 'date_entered'),\n manifested: getTag(block, 'manifested'),\n },\n });\n}\n\nreturn out;"
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.code",
|
||||||
|
"typeVersion": 2,
|
||||||
|
"position": [
|
||||||
|
992,
|
||||||
|
432
|
||||||
|
],
|
||||||
|
"id": "9508023f-f4df-4aaf-b556-fd283ef4bd76",
|
||||||
|
"name": "Extract TrackingIDs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"url": "=https://api.palletways.com/getconsignment/{{ $json.trackingid }}?apikey=SXJaM7PLjZDqfsnXSDP8Y9wDY6crxJySBg705MQEPus%3D",
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.httpRequest",
|
||||||
|
"typeVersion": 4.2,
|
||||||
|
"position": [
|
||||||
|
1472,
|
||||||
|
448
|
||||||
|
],
|
||||||
|
"id": "580ce374-b6c0-4712-8aab-700465a7b39f",
|
||||||
|
"name": "Get Consignment"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.splitInBatches",
|
||||||
|
"typeVersion": 3,
|
||||||
|
"position": [
|
||||||
|
1232,
|
||||||
|
432
|
||||||
|
],
|
||||||
|
"id": "0c87fe88-4956-48a3-8ed1-0817c28deec3",
|
||||||
|
"name": "Loop Over Items"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"amount": 0.5
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.wait",
|
||||||
|
"typeVersion": 1.1,
|
||||||
|
"position": [
|
||||||
|
2080,
|
||||||
|
448
|
||||||
|
],
|
||||||
|
"id": "658d6383-09c9-4bbf-a03f-94fa32fa36dd",
|
||||||
|
"name": "Wait",
|
||||||
|
"webhookId": "f2614706-06ea-444a-a591-89bcc759b623"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"rule": {
|
||||||
|
"interval": [
|
||||||
|
{
|
||||||
|
"field": "cronExpression",
|
||||||
|
"expression": "0 22 * * 1-5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.scheduleTrigger",
|
||||||
|
"typeVersion": 1.2,
|
||||||
|
"position": [
|
||||||
|
272,
|
||||||
|
432
|
||||||
|
],
|
||||||
|
"id": "dee58cbc-3dd6-4e3d-9d1c-0181897a823a",
|
||||||
|
"name": "Schedule Trigger"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"url": "=https://portal.palletways.com/api/consconfirmed?apikey=&output=xml",
|
||||||
|
"sendQuery": true,
|
||||||
|
"queryParameters": {
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"name": "apikey",
|
||||||
|
"value": "SXJaM7PLjZDqfsnXSDP8Y9wDY6crxJySBg705MQEPus%3D"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "date",
|
||||||
|
"value": "={{ $json[\"lastWorkday\"] }}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "output",
|
||||||
|
"value": "xml"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.httpRequest",
|
||||||
|
"typeVersion": 4.2,
|
||||||
|
"position": [
|
||||||
|
752,
|
||||||
|
432
|
||||||
|
],
|
||||||
|
"id": "78b1ea67-8447-47e6-95e2-3466243e492c",
|
||||||
|
"name": "Get Obman delivery list"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"jsCode": "const OUR_DEPOT = 464;\nconst out = [];\n\nconst asArray = (v) => {\n if (v === undefined || v === null || v === '') return [];\n return Array.isArray(v) ? v : [v];\n};\n\nconst text = (v) => {\n if (v === undefined || v === null) return null;\n const s = String(v).trim();\n return s === '' ? null : s;\n};\n\nconst num = (v) => {\n const s = text(v);\n if (s === null) return null;\n const n = Number(String(s).replace(',', '.'));\n return Number.isFinite(n) ? n : null;\n};\n\nconst intVal = (v) => {\n const n = num(v);\n return n === null ? null : Math.trunc(n);\n};\n\nconst yesNoBool = (v) => {\n const s = String(v ?? '').trim().toLowerCase();\n if (['yes', 'true', '1', 'ja', 'y', 'on'].includes(s)) return true;\n if (['no', 'false', '0', 'nee', 'n', 'off'].includes(s)) return false;\n return null;\n};\n\nconst normalizeCountry = (v) => {\n const s = text(v);\n if (!s) return null;\n const u = s.toUpperCase();\n return u === 'UK' ? 'GB' : u;\n};\n\nconst decodeXml = (s) => String(s ?? '')\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/"/g, '\"')\n .replace(/'/g, \"'\");\n\nconst tag = (xml, name) => {\n if (!xml) return null;\n const re = new RegExp(`<${name}(?:\\\\s[^>]*)?>([\\\\s\\\\S]*?)<\\\\/${name}>`, 'i');\n const m = String(xml).match(re);\n return m ? text(decodeXml(m[1])) : null;\n};\n\nconst blocks = (xml, name) => {\n if (!xml) return [];\n const re = new RegExp(`<${name}(?:\\\\s[^>]*)?>([\\\\s\\\\S]*?)<\\\\/${name}>`, 'gi');\n const result = [];\n let m;\n while ((m = re.exec(String(xml))) !== null) {\n result.push(m[1]);\n }\n return result;\n};\n\nconst firstBlock = (xml, name) => blocks(xml, name)[0] || '';\n\nconst safeNodeItem = (name) => {\n try {\n return $(name).item.json || {};\n } catch (e) {\n try {\n return $items(name)?.[0]?.json || {};\n } catch (e2) {\n return {};\n }\n }\n};\n\nconst makeDateTime = (dateValue, timeValue) => {\n const d = text(dateValue);\n const t = text(timeValue);\n if (!d) return null;\n\n // Already datetime\n if (d.includes('T') || /^\\d{4}-\\d{2}-\\d{2}\\s+\\d{2}:\\d{2}/.test(d)) {\n return d.replace(' ', 'T');\n }\n\n return `${d}T${t || '00:00:00'}`;\n};\n\nconst dateOnly = (v) => {\n const s = text(v);\n if (!s) return null;\n return s.substring(0, 10);\n};\n\nconst statusFlags = (statusValue, statusDateTime) => {\n const status = text(statusValue);\n const s = String(status || '').toLowerCase();\n\n const isDelivered =\n s.includes('delivered') ||\n s.includes('afgeleverd') ||\n s.includes('pod');\n\n const isCollected =\n s.includes('collected') ||\n s.includes('picked up') ||\n s.includes('pickup complete') ||\n s.includes('collection complete') ||\n s.includes('opgehaald') ||\n s.includes('afgehaald');\n\n const isDeleted =\n s.includes('deleted') ||\n s.includes('removed') ||\n s.includes('cancelled') ||\n s.includes('canceled') ||\n s.includes('verwijderd') ||\n s.includes('geannuleerd');\n\n return {\n current_status: status,\n current_status_at: status ? statusDateTime : null,\n is_delivered: isDelivered,\n delivered_at: isDelivered ? statusDateTime : null,\n is_collected: isCollected,\n collected_at: isCollected ? statusDateTime : null,\n is_deleted: isDeleted,\n deleted_at: isDeleted ? statusDateTime : null,\n status_source: status ? 'PALLETWAYS_API' : null,\n };\n};\n\nfunction addressFromXml(consignmentXml, type) {\n const addressBlocks = blocks(consignmentXml, 'Address');\n const wanted = addressBlocks.find(a => String(tag(a, 'Type') || '').toLowerCase() === type.toLowerCase()) || '';\n return {\n contact: tag(wanted, 'ContactName'),\n company: tag(wanted, 'CompanyName'),\n addr1: tag(wanted, 'Addr1'),\n addr2: tag(wanted, 'Addr2'),\n addr3: tag(wanted, 'Addr3'),\n addr4: tag(wanted, 'Addr4'),\n town: tag(wanted, 'Town'),\n county: tag(wanted, 'County'),\n country: normalizeCountry(tag(wanted, 'Country')),\n postcode: tag(wanted, 'PostCode'),\n };\n}\n\nfunction getAddressFromJson(consignment, type) {\n const addresses = asArray(consignment.Address);\n return addresses.find(a => String(a.Type || '').toLowerCase() === type.toLowerCase()) || {};\n}\n\nfunction getServiceFromXml(consignmentXml, type) {\n const serviceBlocks = blocks(consignmentXml, 'Service');\n return serviceBlocks.find(s => String(tag(s, 'Type') || '').toLowerCase() === type.toLowerCase()) || '';\n}\n\nfunction getServiceFromJson(consignment, type) {\n const services = asArray(consignment.Service);\n return services.find(s => String(s?.Type || '').toLowerCase() === type.toLowerCase()) || {};\n}\n\nfunction countPalletCodesXml(consignmentXml) {\n return blocks(consignmentXml, 'Pallet')\n .map(p => text(decodeXml(p)))\n .filter(Boolean).length;\n}\n\nfunction countPalletCodesJson(palletValue) {\n return asArrLine truncated
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.code",
|
||||||
|
"typeVersion": 2,
|
||||||
|
"position": [
|
||||||
|
1680,
|
||||||
|
448
|
||||||
|
],
|
||||||
|
"id": "737add35-9206-438d-92be-2cd13ddca0b1",
|
||||||
|
"name": "Normalize Palletways Consignment"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"operation": "executeQuery",
|
||||||
|
"query": "insert into palletways_shipments (\n tracking_id,\n consignment_number,\n reference,\n collection_reference,\n manifest_date,\n manifest_time,\n paying_depot,\n collection_depot,\n delivery_depot,\n is_our_paying_depot,\n is_collection_by_us,\n is_delivery_by_us,\n is_manifested,\n account_name,\n account_code,\n consignment_type,\n classification,\n service_type,\n service_code,\n service_surcharge,\n collection_service_code,\n collection_service_surcharge,\n delivery_service_code,\n delivery_service_surcharge,\n due_date,\n due_time,\n planned_collection_date,\n planned_delivery_date,\n delivery_list_date,\n collection_list_date,\n manifested_at,\n lifts,\n weight_kg,\n bill_unit_type,\n bill_unit_amount,\n pallet_count,\n handball,\n tail_lift,\n adr_goods,\n limited_quantity_goods,\n booked_in,\n book_in_request,\n collection_company,\n collection_contact,\n collection_addr1,\n collection_addr2,\n collection_addr3,\n collection_addr4,\n collection_town,\n collection_county,\n collection_country,\n collection_postcode,\n delivery_company,\n delivery_contact,\n delivery_addr1,\n delivery_addr2,\n delivery_addr3,\n delivery_addr4,\n delivery_town,\n delivery_county,\n delivery_country,\n delivery_postcode,\n hub_sequence,\n hub_name,\n current_status,\n current_status_at,\n is_delivered,\n delivered_at,\n is_deleted,\n deleted_at,\n is_collected,\n collected_at,\n status_source,\n source_first_seen,\n source_last_seen,\n first_seen_in_bi_at,\n last_api_seen_at,\n raw_json,\n last_seen_at\n)\nvalues (\n '{{ ($json.tracking_id ?? \"\").replaceAll(\"'\", \"''\") }}',\n '{{ ($json.consignment_number ?? \"\").replaceAll(\"'\", \"''\") }}',\n '{{ ($json.reference ?? \"\").replaceAll(\"'\", \"''\") }}',\n '{{ ($json.collection_reference ?? \"\").replaceAll(\"'\", \"''\") }}',\n\n {{ $json.manifest_date ? \"'\" + $json.manifest_date + \"'\" : \"null\" }},\n {{ $json.manifest_time ? \"'\" + $json.manifest_time + \"'\" : \"null\" }},\n\n {{ $json.paying_depot ?? \"null\" }},\n {{ $json.collection_depot ?? \"null\" }},\n {{ $json.delivery_depot ?? \"null\" }},\n\n {{ $json.is_our_paying_depot ? \"true\" : \"false\" }},\n {{ $json.is_collection_by_us ? \"true\" : \"false\" }},\n {{ $json.is_delivery_by_us ? \"true\" : \"false\" }},\n {{ $json.is_manifested ? \"true\" : \"false\" }},\n\n '{{ ($json.account_name ?? \"\").replaceAll(\"'\", \"''\") }}',\n '{{ ($json.account_code ?? \"\").replaceAll(\"'\", \"''\") }}',\n '{{ ($json.consignment_type ?? \"\").replaceAll(\"'\", \"''\") }}',\n '{{ ($json.classification ?? \"\").replaceAll(\"'\", \"''\") }}',\n\n '{{ ($json.service_type ?? \"\").replaceAll(\"'\", \"''\") }}',\n '{{ ($json.service_code ?? \"\").replaceAll(\"'\", \"''\") }}',\n '{{ ($json.service_surcharge ?? \"\").replaceAll(\"'\", \"''\") }}',\n\n '{{ ($json.collection_service_code ?? \"\").replaceAll(\"'\", \"''\") }}',\n '{{ ($json.collection_service_surcharge ?? \"\").replaceAll(\"'\", \"''\") }}',\n '{{ ($json.delivery_service_code ?? \"\").replaceAll(\"'\", \"''\") }}',\n '{{ ($json.delivery_service_surcharge ?? \"\").replaceAll(\"'\", \"''\") }}',\n\n {{ $json.due_date ? \"'\" + $json.due_date + \"'\" : \"null\" }},\n {{ $json.due_time ? \"'\" + $json.due_time + \"'\" : \"null\" }},\n\n {{ $json.planned_collection_date ? \"'\" + $json.planned_collection_date + \"'\" : \"null\" }},\n {{ $json.planned_delivery_date ? \"'\" + $json.planned_delivery_date + \"'\" : \"null\" }},\n {{ $json.delivery_list_date ? \"'\" + $json.delivery_list_date + \"'\" : \"null\" }},\n {{ $json.collection_list_date ? \"'\" + $json.collection_list_date + \"'\" : \"null\" }},\n {{ $json.manifested_at ? \"'\" + $json.manifested_at + \"'\" : \"null\" }},\n\n {{ $json.lifts ?? \"null\" }},\n {{ $json.weight_kg ?? \"null\" }},\n '{{ ($json.bill_unit_type ?? \"\").replaceAll(\"'\", \"''\") }}',\n {{ $json.bill_unit_amount ?? \"null\" }},\n {{ $json.pallet_count ?? \"null\" }},\n\n {{ $json.handball === null || $json.handball === undefined ? \"null\" : ($json.handball ? \"true\" : \"false\") }},\n {{ $json.tail_lift === null || $json.tail_lift === undefined ? \"null\" : ($json.tail_lift ? \"true\" : \"false\") }},\n {{ $json.adr_goods === null || $json.adr_goods === undefined ? \"null\" : ($json.adr_goods ? \"true\" : \"false\") }},\n {{ $json.limited_quantity_goods === null || $json.limited_quantity_goods === undefined ? \"null\" : ($json.limited_quantity_goods ? \"true\" : \"false\") }},\n {{ $json.booked_in === null || $json.booked_in === undefined ? \"null\" : ($json.booked_in ? \"true\" : \"false\") }},\n {{ $json.book_in_request === null || $json.book_in_reLine truncated
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.postgres",
|
||||||
|
"typeVersion": 2.6,
|
||||||
|
"position": [
|
||||||
|
1872,
|
||||||
|
448
|
||||||
|
],
|
||||||
|
"id": "dac524e5-b3dc-4df0-9e20-aaaa07ca8740",
|
||||||
|
"name": "Upsert Palletways BI",
|
||||||
|
"credentials": {
|
||||||
|
"postgres": {
|
||||||
|
"id": "a0jnANQ89VLSby0b",
|
||||||
|
"name": "Palletways DB"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"content": "## gemanifesteerd voor 464"
|
||||||
|
},
|
||||||
|
"type": "n8n-nodes-base.stickyNote",
|
||||||
|
"position": [
|
||||||
|
448,
|
||||||
|
80
|
||||||
|
],
|
||||||
|
"typeVersion": 1,
|
||||||
|
"id": "f341812f-4144-4fd2-9dc5-7b44e8eb95ea",
|
||||||
|
"name": "Sticky Note"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pinData": {},
|
||||||
|
"connections": {
|
||||||
|
"Schedule Trigger": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Last workday1",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Last workday1": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Get Obman delivery list",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Get Obman delivery list": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Extract TrackingIDs",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Extract TrackingIDs": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Loop Over Items",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Loop Over Items": {
|
||||||
|
"main": [
|
||||||
|
[],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Get Consignment",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Get Consignment": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Normalize Palletways Consignment",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Normalize Palletways Consignment": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Upsert Palletways BI",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Upsert Palletways BI": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Wait",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Wait": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Loop Over Items",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"active": true,
|
||||||
|
"settings": {
|
||||||
|
"executionOrder": "v1",
|
||||||
|
"binaryMode": "separate",
|
||||||
|
"timezone": "Europe/Amsterdam",
|
||||||
|
"callerPolicy": "workflowsFromSameOwner",
|
||||||
|
"availableInMCP": false,
|
||||||
|
"timeSavedMode": "fixed",
|
||||||
|
"saveDataSuccessExecution": "all"
|
||||||
|
},
|
||||||
|
"versionId": "5b663c41-57e1-4d0d-b5e7-f97cecb9385e",
|
||||||
|
"meta": {
|
||||||
|
"templateCredsSetupCompleted": true,
|
||||||
|
"instanceId": "bef8d409866a58c0777dfe7cca1b9c2400fd051c056d361501393ab423006b5f"
|
||||||
|
},
|
||||||
|
"nodeGroups": [],
|
||||||
|
"id": "GbGlQTXkHifHt17R",
|
||||||
|
"tags": [
|
||||||
|
{
|
||||||
|
"updatedAt": "2025-11-11T04:59:39.416Z",
|
||||||
|
"createdAt": "2025-11-11T04:59:39.416Z",
|
||||||
|
"id": "ClOZrAjJKoGLFvaO",
|
||||||
|
"name": "Palletways"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"updatedAt": "2025-11-09T14:44:19.471Z",
|
||||||
|
"createdAt": "2025-11-09T14:44:19.471Z",
|
||||||
|
"id": "DHSMO2U01lFZRZ27",
|
||||||
|
"name": "Productie"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in new issue
Block a user