#!/bin/bash # Test prΓ©cis du webhook N8N avec la structure exacte envoyΓ©e par Next.js # Usage: ./test-n8n-webhook-precise.sh [MISSION_ID] [ROCKETCHAT_CHANNEL_ID] # Charger .env.local if [ -f .env.local ]; then export $(grep -v '^#' .env.local | xargs) fi # URL du webhook N8N WEBHOOK_URL="https://brain.slm-lab.net/webhook-test/mission-created" # Variables d'environnement API_URL="${NEXT_PUBLIC_API_URL:-https://hub.slm-lab.net/api}" API_KEY="${N8N_API_KEY}" # ParamΓ¨tres optionnels MISSION_ID="${1:-3103ec1a-acde-4025-9ead-4e1a0ddc047c}" ROCKETCHAT_CHANNEL_ID="${2:-ByehQjC44FwMeiLbX}" echo "πŸ§ͺ Test prΓ©cis du webhook N8N" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "Webhook URL: $WEBHOOK_URL" echo "Mission ID: $MISSION_ID" echo "RocketChat Channel ID: $ROCKETCHAT_CHANNEL_ID" echo "" # Structure exacte envoyΓ©e par Next.js (aprΓ¨s nettoyage dans n8n-service.ts) curl -X POST "${WEBHOOK_URL}" \ -H "Content-Type: application/json" \ -d "{ \"name\": \"SEFFIR\", \"oddScope\": [\"odd-4\"], \"niveau\": \"s\", \"intention\": \"\", \"missionType\": \"remote\", \"donneurDOrdre\": \"group\", \"projection\": \"long\", \"services\": [], \"participation\": \"ouvert\", \"profils\": [], \"guardians\": {}, \"volunteers\": [], \"creatorId\": \"203cbc91-61ab-47a2-95d2-b5e1159327d7\", \"missionId\": \"${MISSION_ID}\", \"logoPath\": \"missions/${MISSION_ID}/logo.png\", \"logoUrl\": \"https://hub.slm-lab.net/api/missions/image/missions/${MISSION_ID}/logo.png\", \"config\": { \"N8N_API_KEY\": \"${API_KEY}\", \"MISSION_API_URL\": \"${API_URL}\" } }" \ -v echo "" echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "βœ… Test terminΓ©" echo "" echo "πŸ’‘ Ce test dΓ©clenche le workflow N8N complet." echo " VΓ©rifiez les logs N8N pour voir:" echo " 1. La structure de la rΓ©ponse RocketChat" echo " 2. Le chemin exact pour accΓ©der Γ  channel._id" echo " 3. La valeur exacte de rocketchatChannelId dans 'Save Mission To API'"