{
  "name": "DzRouter · 05 · Posts Facebook / Instagram / TikTok",
  "nodes": [
    {
      "id": "3e5d8da5-8932-5b8f-86dd-d9fcc9ecfd65",
      "name": "Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -520,
        -260
      ],
      "parameters": {
        "content": "## Posts réseaux sociaux (outil formulaire)\n\n1. Installez le nœud communautaire **n8n-nodes-dzrouter** (Paramètres → Community nodes).\n2. Ouvrez chaque nœud DzRouter et choisissez votre identifiant **DzRouter API** (clé `sk-dz-…`).\n3. Cliquez **Test workflow** : un exemple algérien est déjà chargé.\n\n---\n\n<div dir=\"rtl\">\n\n### منشورات التواصل الاجتماعي\n\n1. ثبّت العقدة **n8n-nodes-dzrouter** (الإعدادات ← Community nodes).\n2. افتح كل عقدة DzRouter واختر بيانات اعتماد **DzRouter API** (مفتاح `sk-dz-…`).\n3. اضغط **Test workflow**: مثال جزائري جاهز للتجربة.\n\n</div>\n\n---\n\n### Social posts (form tool)\n\n1. Install the **n8n-nodes-dzrouter** community node (Settings → Community nodes).\n2. Open each DzRouter node and pick your **DzRouter API** credential (`sk-dz-…` key).\n3. Click **Test workflow**: an Algerian sample is already loaded.",
        "height": 560,
        "width": 440,
        "color": 4
      }
    },
    {
      "id": "94b3deb3-ebf9-5123-8607-b24fa98058da",
      "name": "Form",
      "type": "n8n-nodes-base.formTrigger",
      "typeVersion": 2.3,
      "position": [
        0,
        0
      ],
      "parameters": {
        "formTitle": "📣 Générateur de posts",
        "formDescription": "Une idée → posts Darja / Français / العربية + script TikTok",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Idée ou sujet",
              "fieldType": "textarea",
              "requiredField": true
            },
            {
              "fieldLabel": "Public cible",
              "fieldType": "text",
              "placeholder": "ex : étudiants d'Alger, mamans, gamers…"
            },
            {
              "fieldLabel": "Ton",
              "fieldType": "dropdown",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Fun"
                  },
                  {
                    "option": "Professionnel"
                  },
                  {
                    "option": "Inspirant"
                  },
                  {
                    "option": "Promotionnel"
                  }
                ]
              }
            }
          ]
        },
        "responseMode": "lastNode",
        "options": {
          "appendAttribution": false
        }
      }
    },
    {
      "id": "3d3a1073-94ea-52fe-97bd-29302150c34e",
      "name": "Write posts",
      "type": "n8n-nodes-dzrouter.dzRouter",
      "typeVersion": 1,
      "position": [
        260,
        0
      ],
      "parameters": {
        "resource": "chat",
        "operation": "message",
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "openai/gpt-4o-mini"
        },
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "Tu es community manager algérien. Écris pour Facebook et Instagram, chacun en darja (lettres arabes), en français et en arabe, et un script TikTok de 30 secondes en darja. Respecte la culture algérienne, reste naturel, pas de traduction mot à mot. Réponds uniquement en JSON : {\"posts\":[{\"platform\":\"Facebook\",\"language\":\"Darja\",\"text\":\"…\",\"hashtags\":[\"…\"]}],\"tiktok\":{\"hook\":\"…\",\"scenes\":[\"…\"],\"call_to_action\":\"…\"}}"
            },
            {
              "role": "user",
              "content": "=Idée : {{ $json['Idée ou sujet'] }}\nPublic : {{ $json['Public cible'] }}\nTon : {{ $json.Ton }}"
            }
          ]
        },
        "simplify": true,
        "options": {
          "temperature": 0.8,
          "maxTokens": 2500,
          "responseFormat": "json_object"
        }
      }
    },
    {
      "id": "350f77b3-16f0-5001-a192-0f55a46fe409",
      "name": "Build page",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        520,
        0
      ],
      "parameters": {
        "jsCode": "const esc = (s) => String(s ?? '').replace(/[&<>\"]/g, (c) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;' }[c]));\nconst page = (title, body) => `<div style=\"font-family:system-ui,Segoe UI,Tahoma,sans-serif;max-width:720px;margin:0 auto;line-height:1.6;color:#0f1c16\">\n<h2 style=\"color:#007f00;margin:0 0 12px\">${esc(title)}</h2>${body}\n<p style=\"color:#4f6158;font-size:13px;margin-top:24px\">Généré avec DzRouter · dzrouter.com</p></div>`;\n\nconst r = $('Write posts').first().json.json ?? {};\nconst posts = (r.posts ?? []).map((p) => `<div style=\"margin:12px 0;padding:12px;border:1px solid #d6e1d9;border-radius:8px\">\n<b>${esc(p.platform)} · ${esc(p.language)}</b><p dir=\"auto\">${esc(p.text).replace(/\\n/g, '<br>')}</p>\n<p style=\"color:#007f00\" dir=\"auto\">${(p.hashtags ?? []).map((h) => esc(h.startsWith('#') ? h : '#' + h)).join(' ')}</p></div>`).join('');\nconst t = r.tiktok ?? {};\nconst tiktok = `<h3>TikTok · 30 s</h3><p dir=\"auto\"><b>Hook :</b> ${esc(t.hook)}</p><ol dir=\"auto\">${(t.scenes ?? []).map((s) => `<li>${esc(s)}</li>`).join('')}</ol><p dir=\"auto\"><b>CTA :</b> ${esc(t.call_to_action)}</p>`;\nreturn [{ json: { html: page('📣 Vos posts', posts + tiktok), posts: (r.posts ?? []).length } }];"
      }
    },
    {
      "id": "dbbbc39b-c93e-597d-a773-ee890ea201ca",
      "name": "Show result",
      "type": "n8n-nodes-base.form",
      "typeVersion": 2.3,
      "position": [
        780,
        0
      ],
      "parameters": {
        "operation": "completion",
        "respondWith": "showText",
        "responseText": "={{ $json.html }}"
      }
    }
  ],
  "connections": {
    "Form": {
      "main": [
        [
          {
            "node": "Write posts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Write posts": {
      "main": [
        [
          {
            "node": "Build page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build page": {
      "main": [
        [
          {
            "node": "Show result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {
    "Form": [
      {
        "json": {
          "Idée ou sujet": "Ouverture de notre nouvelle boutique de makrout et baklawa faits maison à Constantine, -20% la première semaine",
          "Public cible": "familles de Constantine",
          "Ton": "Promotionnel",
          "submittedAt": "2026-10-13T10:00:00.000+01:00",
          "formMode": "test"
        }
      }
    ]
  },
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "templateCredsSetupCompleted": false,
    "templateId": "dzrouter"
  }
}
