amator.app
API publique + n8n

Workflow n8n prêt à l’emploi

Cinq nœuds : un démarrage manuel, un nœud Edit Fields contenant content et clubId, un nœud If qui vérifie si clubId est vide, et deux nœuds HTTP Request — l’un publie sur votre profil, l’autre dans le club.

Il commence par un déclencheur manuel pour que vous puissiez le tester dès l’import. Une fois qu’il fonctionne, remplacez Start par ce qui doit vraiment le lancer — Schedule, RSS, un formulaire — et reliez sa sortie aux deux champs.

amator-public-post.json
{
  "name": "Amator — publish a post",
  "nodes": [
    {
      "id": "7b0f3a52-1c6e-4d1b-9a43-5e2f8c1d0a01",
      "name": "Start",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        0
      ],
      "parameters": {}
    },
    {
      "id": "7b0f3a52-1c6e-4d1b-9a43-5e2f8c1d0a02",
      "name": "Post content",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        220,
        0
      ],
      "parameters": {
        "mode": "manual",
        "assignments": {
          "assignments": [
            {
              "id": "7b0f3a52-1c6e-4d1b-9a43-5e2f8c1d0b01",
              "name": "content",
              "value": "Hello from n8n! Training moved to 19:00 tonight.",
              "type": "string"
            },
            {
              "id": "7b0f3a52-1c6e-4d1b-9a43-5e2f8c1d0b02",
              "name": "clubId",
              "value": "",
              "type": "string"
            }
          ]
        },
        "options": {}
      }
    },
    {
      "id": "7b0f3a52-1c6e-4d1b-9a43-5e2f8c1d0a03",
      "name": "Club ID empty?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        440,
        0
      ],
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "loose",
            "version": 2
          },
          "conditions": [
            {
              "id": "7b0f3a52-1c6e-4d1b-9a43-5e2f8c1d0c01",
              "leftValue": "={{ $json.clubId }}",
              "rightValue": "",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "looseTypeValidation": true,
        "options": {}
      }
    },
    {
      "id": "7b0f3a52-1c6e-4d1b-9a43-5e2f8c1d0a04",
      "name": "Post to my profile",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        680,
        -120
      ],
      "parameters": {
        "method": "POST",
        "url": "https://api.amator.app/api/v1/public/posts",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-API-KEY",
              "value": "YOUR_API_KEY_HERE"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ content: $json.content }) }}",
        "options": {}
      }
    },
    {
      "id": "7b0f3a52-1c6e-4d1b-9a43-5e2f8c1d0a05",
      "name": "Post to club",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        680,
        120
      ],
      "parameters": {
        "method": "POST",
        "url": "https://api.amator.app/api/v1/public/posts",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-API-KEY",
              "value": "YOUR_API_KEY_HERE"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ content: $json.content, clubId: $json.clubId }) }}",
        "options": {}
      }
    }
  ],
  "connections": {
    "Start": {
      "main": [
        [
          {
            "node": "Post content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post content": {
      "main": [
        [
          {
            "node": "Club ID empty?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Club ID empty?": {
      "main": [
        [
          {
            "node": "Post to my profile",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Post to club",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {},
  "pinData": {}
}

L’importer dans n8n

Copiez le JSON ci-dessus ou téléchargez le fichier.

Dans n8n, allez dans Workflows, créez un nouveau workflow et collez le JSON sur le canevas vide (Ctrl/Cmd+V). Pour le fichier, passez par le menu ⋯ › Import from File.

Dans les deux nœuds HTTP Request, remplacez YOUR_API_KEY_HERE par votre clé. Mieux encore : enregistrez-la comme identifiant n8n (Header Auth, nom X-API-KEY).

Dans Post content, écrivez votre texte dans content. Laissez clubId vide pour publier sur votre profil, ou collez l’ID du club pour publier en son nom.

Cliquez sur Execute workflow. Le nœud HTTP affiche la réponse — 201 et l’url de la publication en cas de succès.

Sur cette page