Add Booking (receiver).json
This commit is contained in:
200
Booking (receiver).json
Normal file
200
Booking (receiver).json
Normal file
@@ -0,0 +1,200 @@
|
||||
{
|
||||
"updatedAt": "2026-08-09T18:54:47.787Z",
|
||||
"createdAt": "2026-07-25T04:55:57.932Z",
|
||||
"id": "b84Fmd6xTFjt0A8D",
|
||||
"name": "Booking (receiver)",
|
||||
"active": true,
|
||||
"isArchived": false,
|
||||
"nodes": [
|
||||
{
|
||||
"parameters": {
|
||||
"httpMethod": "POST",
|
||||
"path": "booking-result",
|
||||
"options": {}
|
||||
},
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"typeVersion": 2.1,
|
||||
"position": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"id": "8dc9e219-bacc-452e-adaf-35fc4903548d",
|
||||
"name": "Webhook",
|
||||
"webhookId": "3ddfdc90-2a1a-4d22-8017-d5ee79ba6099"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"jsCode": "// Unterstützt sowohl $input.item.json.body (Webhook) als auch $input.item.json direkt\nconst payload = $input.item.json.body || $input.item.json;\n\nconst rawPrice = payload.price;\nconst hotelName = payload.hotelName || \"Unbekanntes Hotel\";\n\n// Falls kein Preis gefunden wurde, senden wir die Hotel-Info trotzdem mit (hilft beim Debugging in n8n)\nif (!rawPrice) {\n return [{\n json: {\n success: false,\n reason: \"Kein Preis im Payload gefunden\",\n hotelName: hotelName,\n url: payload.url,\n timestamp: payload.timestamp || new Date().toISOString()\n }\n }];\n}\n\n// Preis bereinigen (z. B. \"€ 1.017\" -> 1017 oder \"1.016,70 €\" -> 1016.7)\nlet cleanPrice = null;\n\nif (rawPrice.includes(',')) {\n // Deutsche Formate mit Cents (z. B. \"1.016,70 €\" -> 1016.70)\n const normalized = rawPrice.replace(/\\./g, '').replace(',', '.').replace(/[^\\d.]/g, '');\n cleanPrice = parseFloat(normalized);\n} else {\n // Ganzzahlen (z. B. \"€ 1.017\" -> 1017)\n cleanPrice = parseInt(rawPrice.replace(/[^\\d]/g, ''), 10);\n}\n\n// Vollständiges Ergebnis an n8n zurückgeben\nreturn [{\n json: {\n success: true,\n jobId: payload.jobId,\n hotelName: hotelName,\n cleanPrice: cleanPrice,\n rawPrice: rawPrice,\n geniusPrice: cleanPrice*0.90,\n rating: payload.rating,\n reviewCount: payload.reviewCount,\n address: payload.address,\n image: payload.image,\n url: payload.url,\n timestamp: payload.timestamp\n }\n}];"
|
||||
},
|
||||
"type": "n8n-nodes-base.code",
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
208,
|
||||
0
|
||||
],
|
||||
"id": "fed7037a-ae62-44b4-8d0b-7c51ff6675d0",
|
||||
"name": "Code in JavaScript"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"chatId": "302560724",
|
||||
"text": "=Hotel Update\n\n*{{ $json.hotelName }}*\nPreis: {{ $json.cleanPrice }} € (Rohwert: {{ $json.rawPrice }}, -10%: {{$json.geniusPrice}} € )\nBewertung: {{ $json.rating }} ({{ $json.reviewCount }} Bewertungen)\nAdresse: {{ $json.address }}\n\n[Auf Booking.com ansehen]({{ $json.url }})",
|
||||
"additionalFields": {
|
||||
"appendAttribution": false,
|
||||
"parse_mode": "Markdown"
|
||||
}
|
||||
},
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"typeVersion": 1.2,
|
||||
"position": [
|
||||
592,
|
||||
0
|
||||
],
|
||||
"id": "4273d21f-06f5-4438-bb04-660082203602",
|
||||
"name": "Send a text message",
|
||||
"webhookId": "96f70b22-e539-4570-9430-46f8c9b98bf3",
|
||||
"credentials": {
|
||||
"telegramApi": {
|
||||
"id": "0VfHBSP6pKSlq4f8",
|
||||
"name": "scraperservicebot"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Code in JavaScript",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Code in JavaScript": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send a text message",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"executionOrder": "v1",
|
||||
"binaryMode": "separate"
|
||||
},
|
||||
"staticData": null,
|
||||
"meta": {
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"pinData": {},
|
||||
"versionId": "a02b8fb4-b954-444b-a9f6-9a3a8021fd66",
|
||||
"activeVersionId": "a02b8fb4-b954-444b-a9f6-9a3a8021fd66",
|
||||
"triggerCount": 1,
|
||||
"shared": [
|
||||
{
|
||||
"updatedAt": "2026-07-25T04:55:57.934Z",
|
||||
"createdAt": "2026-07-25T04:55:57.934Z",
|
||||
"role": "workflow:owner",
|
||||
"workflowId": "b84Fmd6xTFjt0A8D",
|
||||
"projectId": "cSAaWNJydnksD5EB"
|
||||
}
|
||||
],
|
||||
"activeVersion": {
|
||||
"updatedAt": "2026-07-25T06:52:16.000Z",
|
||||
"createdAt": "2026-07-25T06:46:46.092Z",
|
||||
"versionId": "a02b8fb4-b954-444b-a9f6-9a3a8021fd66",
|
||||
"workflowId": "b84Fmd6xTFjt0A8D",
|
||||
"nodes": [
|
||||
{
|
||||
"parameters": {
|
||||
"httpMethod": "POST",
|
||||
"path": "booking-result",
|
||||
"options": {}
|
||||
},
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"typeVersion": 2.1,
|
||||
"position": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"id": "8dc9e219-bacc-452e-adaf-35fc4903548d",
|
||||
"name": "Webhook",
|
||||
"webhookId": "3ddfdc90-2a1a-4d22-8017-d5ee79ba6099"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"jsCode": "// Unterstützt sowohl $input.item.json.body (Webhook) als auch $input.item.json direkt\nconst payload = $input.item.json.body || $input.item.json;\n\nconst rawPrice = payload.price;\nconst hotelName = payload.hotelName || \"Unbekanntes Hotel\";\n\n// Falls kein Preis gefunden wurde, senden wir die Hotel-Info trotzdem mit (hilft beim Debugging in n8n)\nif (!rawPrice) {\n return [{\n json: {\n success: false,\n reason: \"Kein Preis im Payload gefunden\",\n hotelName: hotelName,\n url: payload.url,\n timestamp: payload.timestamp || new Date().toISOString()\n }\n }];\n}\n\n// Preis bereinigen (z. B. \"€ 1.017\" -> 1017 oder \"1.016,70 €\" -> 1016.7)\nlet cleanPrice = null;\n\nif (rawPrice.includes(',')) {\n // Deutsche Formate mit Cents (z. B. \"1.016,70 €\" -> 1016.70)\n const normalized = rawPrice.replace(/\\./g, '').replace(',', '.').replace(/[^\\d.]/g, '');\n cleanPrice = parseFloat(normalized);\n} else {\n // Ganzzahlen (z. B. \"€ 1.017\" -> 1017)\n cleanPrice = parseInt(rawPrice.replace(/[^\\d]/g, ''), 10);\n}\n\n// Vollständiges Ergebnis an n8n zurückgeben\nreturn [{\n json: {\n success: true,\n jobId: payload.jobId,\n hotelName: hotelName,\n cleanPrice: cleanPrice,\n rawPrice: rawPrice,\n geniusPrice: cleanPrice*0.90,\n rating: payload.rating,\n reviewCount: payload.reviewCount,\n address: payload.address,\n image: payload.image,\n url: payload.url,\n timestamp: payload.timestamp\n }\n}];"
|
||||
},
|
||||
"type": "n8n-nodes-base.code",
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
208,
|
||||
0
|
||||
],
|
||||
"id": "fed7037a-ae62-44b4-8d0b-7c51ff6675d0",
|
||||
"name": "Code in JavaScript"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"chatId": "302560724",
|
||||
"text": "=Hotel Update\n\n*{{ $json.hotelName }}*\nPreis: {{ $json.cleanPrice }} € (Rohwert: {{ $json.rawPrice }}, -10%: {{$json.geniusPrice}} € )\nBewertung: {{ $json.rating }} ({{ $json.reviewCount }} Bewertungen)\nAdresse: {{ $json.address }}\n\n[Auf Booking.com ansehen]({{ $json.url }})",
|
||||
"additionalFields": {
|
||||
"appendAttribution": false,
|
||||
"parse_mode": "Markdown"
|
||||
}
|
||||
},
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"typeVersion": 1.2,
|
||||
"position": [
|
||||
592,
|
||||
0
|
||||
],
|
||||
"id": "4273d21f-06f5-4438-bb04-660082203602",
|
||||
"name": "Send a text message",
|
||||
"webhookId": "96f70b22-e539-4570-9430-46f8c9b98bf3",
|
||||
"credentials": {
|
||||
"telegramApi": {
|
||||
"id": "0VfHBSP6pKSlq4f8",
|
||||
"name": "scraperservicebot"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Code in JavaScript",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Code in JavaScript": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send a text message",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"authors": "Prasanna Ranjan",
|
||||
"name": "Version a02b8fb4",
|
||||
"description": "",
|
||||
"autosaved": true
|
||||
},
|
||||
"tags": []
|
||||
}
|
||||
Reference in New Issue
Block a user