NeahStable/test-n8n-webhook-precise.sh
2026-01-14 11:15:51 +01:00

66 lines
2.4 KiB
Bash

#!/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'"