{
  "name": "SNSagent — Messenger хариулагч (загвар)",
  "nodes": [
    {
      "parameters": {
        "content": "## 🚀 SNSagent → n8n загвар (5 алхам)\n\n1. **📥 SNSagent Webhook** node-ыг нээгээд **Production URL**-ыг хуулна → platform.snsagent.shop → «Түлхүүр ба webhook» → *Webhook хаяг* талбарт буулгаад **Хадгална**.\n2. **📤 Хариу илгээх** node → Headers → `Authorization` утгын `ТҮЛХҮҮРЭЭ_ЭНД_БИЧ` хэсгийг өөрийн `sk_live_…` түлхүүрээр солино (Bearer гэдэг үг, зай хэвээр).\n3. Баруун дээд **Active** унтраалгыг асаана (Production URL зөвхөн идэвхтэй үед ажиллана).\n4. platform.snsagent.shop дээр **«Тест илгээх»** товч → энд ногоон гүйлт харагдана (тест мессеж хариу илгээхгүй — зориудаар).\n5. Хуудсандаа Messenger-ээр «сайн байна уу» гэж бичээд хариу ирэхийг харна.\n\n**🧠 Хариу бэлдэх** node-д AI (OpenAI / Gemini / DeepSeek) node-оо залгаж болно — гаралт нь `text` талбартай л байхад болно.",
        "height": 420,
        "width": 520,
        "color": 4
      },
      "id": "sn-note-1",
      "name": "📌 Заавар",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [-200, -120]
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "snsagent-in",
        "responseMode": "onReceived",
        "options": {}
      },
      "id": "sn-webhook-1",
      "name": "📥 SNSagent Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [-200, 360],
      "webhookId": "snsagent-template-webhook"
    },
    {
      "parameters": {
        "jsCode": "// SNSagent-аас ирсэн webhook-ийг задална. Бүтэц: platform.snsagent.shop → Заавар → «Ирсэн мессежийн бүтэц».\nconst b = $input.first().json.body || $input.first().json;\n\n// Зөвхөн ХЭРЭГЛЭГЧИЙН мессежид хариулна. Тест (test:true), коммент, хоосон текст → алгасна.\nif (b.event !== 'message.received' || b.test === true) {\n  return [{ json: { skip: true, reason: 'event=' + b.event + (b.test ? ' (тест)' : '') } }];\n}\nconst text = String(b.text || '').trim();\nif (!text) {\n  return [{ json: { skip: true, reason: 'текст хоосон (зураг/стикер)' } }];\n}\n\nreturn [{ json: {\n  skip: false,\n  pageId: b.pageId,                 // pg_… — хариу илгээхэд заавал\n  conversationId: b.conversationId, // яриа — хариу илгээхэд заавал\n  platform: b.platform,             // facebook | instagram\n  fromId: (b.from || {}).id || '',\n  fromName: (b.from || {}).name || '',\n  text,                             // хэрэглэгчийн бичсэн (эсвэл дарсан товчны payload)\n  attachments: b.attachments || [],\n  at: b.at\n} }];"
      },
      "id": "sn-parse-1",
      "name": "🧹 Мессеж задлах",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [40, 360]
    },
    {
      "parameters": {
        "conditions": {
          "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "loose", "version": 2 },
          "conditions": [
            {
              "id": "sn-cond-1",
              "leftValue": "={{ $json.skip }}",
              "rightValue": "",
              "operator": { "type": "boolean", "operation": "false", "singleValue": true }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "sn-if-1",
      "name": "❓ Хариулах уу?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [280, 360]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://platform.snsagent.shop/v1/typing",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            { "name": "Authorization", "value": "Bearer ТҮЛХҮҮРЭЭ_ЭНД_БИЧ" }
          ]
        },
        "sendBody": true,
        "contentType": "raw",
        "rawContentType": "application/json",
        "body": "={{ JSON.stringify({ pageId: $json.pageId, conversationId: $json.conversationId }) }}",
        "options": { "response": { "response": { "neverError": true } }, "timeout": 10000 }
      },
      "id": "sn-typing-1",
      "name": "⌨️ Бичиж байна",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [520, 280],
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "jsCode": "// ✏️ ЭНД өөрийн логикоо бичнэ. Энгийн жишээ: мэндчилгээ / үнэ / бусад.\n// AI ашиглах бол энэ node-ын оронд OpenAI/Gemini node тавиад гаралтыг { pageId, conversationId, text } болгож өгнө.\nconst m = $('🧹 Мессеж задлах').first().json;\nconst t = m.text.toLowerCase();\nlet text;\nif (/сайн байна уу|сайн уу|hi|hello|сайн байцгаана уу/.test(t)) {\n  text = 'Сайн байна уу, ' + (m.fromName || 'та') + '! 😊 Танд юугаар туслах вэ?';\n} else if (/үнэ|хэд вэ|хэдэн төгрөг|price/.test(t)) {\n  text = 'Үнийн мэдээллийг доор хавсаргалаа 👇 (энэ текстийг өөрийнхөөрөө солино уу)';\n} else if (t === 'ORDER'.toLowerCase() || m.text === 'ORDER') {\n  // Товч дарахад text = тэр товчны payload ирдэг (жишээ: ORDER)\n  text = 'Захиалгаа бүртгэхийн тулд утасны дугаар, хаягаа бичнэ үү 📞📍';\n} else {\n  text = 'Баярлалаа! Ажилтан тантай удахгүй холбогдоно 🙏';\n}\nreturn [{ json: { pageId: m.pageId, conversationId: m.conversationId, text } }];"
      },
      "id": "sn-reply-1",
      "name": "🧠 Хариу бэлдэх",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [760, 280]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://platform.snsagent.shop/v1/messages",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            { "name": "Authorization", "value": "Bearer ТҮЛХҮҮРЭЭ_ЭНД_БИЧ" }
          ]
        },
        "sendBody": true,
        "contentType": "raw",
        "rawContentType": "application/json",
        "body": "={{ JSON.stringify({ pageId: $json.pageId, conversationId: $json.conversationId, text: $json.text }) }}",
        "options": { "timeout": 15000 }
      },
      "id": "sn-send-1",
      "name": "📤 SNSagent — Хариу илгээх",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [1000, 280],
      "retryOnFail": true,
      "maxTries": 2,
      "waitBetweenTries": 1500
    },
    {
      "parameters": {
        "content": "### ❌ Хариу илгээх алдаа гарвал\n- **401** → түлхүүр буруу / хугацаа дууссан (platform.snsagent.shop дээр шалга)\n- **404** → pageId танайх биш (Webhook-оос ирсэн `pageId`-г ЯГ ХЭВЭЭР дамжуул)\n- **409 window_closed** → 24 цаг өнгөрсөн хэрэглэгч; `messagingType`+`messageTag` заа\n- **429** → минутанд 120-оос олон дуудлага; `Retry-After` секунд хүлээ",
        "height": 220,
        "width": 380,
        "color": 3
      },
      "id": "sn-note-2",
      "name": "📌 Алдаа",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [1000, 440]
    }
  ],
  "connections": {
    "📥 SNSagent Webhook": { "main": [[{ "node": "🧹 Мессеж задлах", "type": "main", "index": 0 }]] },
    "🧹 Мессеж задлах": { "main": [[{ "node": "❓ Хариулах уу?", "type": "main", "index": 0 }]] },
    "❓ Хариулах уу?": { "main": [[{ "node": "⌨️ Бичиж байна", "type": "main", "index": 0 }], []] },
    "⌨️ Бичиж байна": { "main": [[{ "node": "🧠 Хариу бэлдэх", "type": "main", "index": 0 }]] },
    "🧠 Хариу бэлдэх": { "main": [[{ "node": "📤 SNSagent — Хариу илгээх", "type": "main", "index": 0 }]] }
  },
  "settings": { "executionOrder": "v1" },
  "pinData": {}
}
