[
  {
    "name": "Hermes Mesin Baru - Kirim Pesan",
    "nodes": [
      {
        "parameters": {
          "httpMethod": "POST",
          "path": "hermes-send",
          "responseMode": "responseNode",
          "options": {}
        },
        "id": "send-001-webhook",
        "name": "Webhook Terima Pesan User",
        "type": "n8n-nodes-base.webhook",
        "typeVersion": 2,
        "position": [0, 0]
      },
      {
        "parameters": {
          "jsCode": "// SESUAIKAN: route = nama unik mesin (sama dengan argumen bootstrap), secret = HMAC secret dari setup-mesin.sh\nconst route = 'GANTI_ROUTE';\nconst secret = 'GANTI_SECRET';\nconst message = ($input.first().json.message || 'tes').toString();\nconst body = { event_type: route, message };\nconst bodyString = JSON.stringify(body);\nconst crypto = require('crypto');\nconst signature = 'sha256=' + crypto.createHmac('sha256', secret).update(bodyString).digest('hex');\nreturn [{ json: { bodyString, signature, route } }];"
        },
        "id": "send-002-code",
        "name": "Buat Body + HMAC",
        "type": "n8n-nodes-base.code",
        "typeVersion": 2,
        "position": [220, 0]
      },
      {
        "parameters": {
          "method": "POST",
          "url": "https://GANTI_HOSTNAME-8644.jkt3.sumopod.my.id/webhooks/GANTI_ROUTE",
          "sendHeaders": true,
          "headerParameters": {
            "parameters": [
              { "name": "Content-Type", "value": "application/json" },
              { "name": "X-Hub-Signature-256", "value": "={{ $json.signature }}" }
            ]
          },
          "sendBody": true,
          "specifyBody": "raw",
          "bodyContentType": "text",
          "body": "={{ $json.bodyString }}",
          "options": {}
        },
        "id": "send-003-http",
        "name": "POST ke Webhook Hermes",
        "type": "n8n-nodes-base.httpRequest",
        "typeVersion": 4.2,
        "position": [440, 0]
      },
      {
        "parameters": {
          "respondWith": "json",
          "responseBody": "={{ $json }}",
          "options": { "responseCode": 200 }
        },
        "id": "send-004-respond",
        "name": "Balas 200 ke Pengirim",
        "type": "n8n-nodes-base.respondToWebhook",
        "typeVersion": 1.1,
        "position": [660, 0]
      }
    ],
    "connections": {
      "Webhook Terima Pesan User": {
        "main": [[{ "node": "Buat Body + HMAC", "type": "main", "index": 0 }]]
      },
      "Buat Body + HMAC": {
        "main": [[{ "node": "POST ke Webhook Hermes", "type": "main", "index": 0 }]]
      },
      "POST ke Webhook Hermes": {
        "main": [[{ "node": "Balas 200 ke Pengirim", "type": "main", "index": 0 }]]
      }
    },
    "settings": { "executionOrder": "v1" }
  },
  {
    "name": "Hermes Mesin Baru - Terima Balasan Agent",
    "nodes": [
      {
        "parameters": {
          "httpMethod": "POST",
          "path": "hermes-callback",
          "responseMode": "responseNode",
          "options": {}
        },
        "id": "cb-001-webhook",
        "name": "Webhook Callback dari Hermes",
        "type": "n8n-nodes-base.webhook",
        "typeVersion": 2,
        "position": [0, 0]
      },
      {
        "parameters": {
          "respondWith": "json",
          "responseBody": "={ \"status\": \"ok\" }",
          "options": { "responseCode": 200 }
        },
        "id": "cb-002-respond",
        "name": "Balas 200 ke Hermes",
        "type": "n8n-nodes-base.respondToWebhook",
        "typeVersion": 1.1,
        "position": [220, -120]
      },
      {
        "parameters": {
          "jsCode": "// Payload dari plugin http_callback Hermes:\n// { route, delivery_id, reply, webhook_url }\nconst item = $input.first().json;\n// SESUAIKAN: simpan ke database/backend Anda di sini.\n// Contoh placeholder — ganti dengan node HTTP Request / database Anda.\nreturn [{ json: { route: item.route, delivery_id: item.delivery_id, reply: item.reply, webhook_url: item.webhook_url, diterima_pada: new Date().toISOString() } }];"
        },
        "id": "cb-003-code",
        "name": "Format & Simpan (sesuaikan)",
        "type": "n8n-nodes-base.code",
        "typeVersion": 2,
        "position": [220, 120]
      }
    ],
    "connections": {
      "Webhook Callback dari Hermes": {
        "main": [
          [{ "node": "Balas 200 ke Hermes", "type": "main", "index": 0 }],
          [{ "node": "Format & Simpan (sesuaikan)", "type": "main", "index": 0 }]
        ]
      }
    },
    "settings": { "executionOrder": "v1" }
  }
]
