Melde ein ähnliches Problem wie vor einem Jahr in HTTP Request Module Not Passing Authentication
Beschreibe das Problem/Fehler/die Frage
Nach dem Upgrade auf v2.20.7-exp.0 kann der HTTP Request-Knoten mit predefinedCredentialType: sendInBlueApi den api-key-Header stillschweigend nicht korrekt in Anfragen einbinden. Dieser Workflow war monatelang ohne Änderungen unsererseits erfolgreich - keine DNS-Änderungen, keine Payload-Änderungen, keine Brevo-Konfigurationsänderungen.
Die unterbrochene Authentifizierung führt dazu, dass die Brevo-API einen irreführenden 400 DMARC policy-Fehler anstelle eines 401 Unauthorized zurückgibt, was den Anschein eines Absender-/Domänenkonfigurationsproblems erweckt und extrem schwer zu diagnostizieren ist.
Das Wechseln zu Generic Credential Type → Header Authentication hat das Problem sofort mit demselben API-Schlüssel und demselben Payload gelöst - das bestätigt, dass der Fehler in der Art liegt, wie n8n die sendInBlueApi-Anmeldedaten in HTTP Request-Knoten einfügt.
Welche Fehlermeldung gibt es (falls vorhanden)?
NodeApiError: Bad request - please check your parameters
400 - "{\"code\":\"invalid_parameter\",\"message\":\"Unable to create/update campaign. Due to DMARC policy, you cannot use this sender. Please choose another sender.\"}"
Bitte teile deinen Workflow
{
"nodes": [
{
"parameters": {
"method": "POST",
"url": "https://api.brevo.com/v3/emailCampaigns",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "sendInBlueApi",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"name\": \"Test Campaign\",\n \"templateId\": 1,\n \"sender\": {\n \"name\": \"Test Sender\",\n \"email\": \"sender@yourdomain.com\"\n },\n \"subject\": \"Test subject\",\n \"recipients\": {\n \"listIds\": \n },\n \"scheduledAt\": \"{{ $now.plus({ minutes: 1 }).toISO() }}\"\n}",[1]
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position":,[2]
"id": "79a604ee-c9da-405a-beb0-02f917556ae4",
"name": "Create Brevo Campaign",
"credentials": {
"sendInBlueApi": {
"id": "YOUR_CREDENTIAL_ID",
"name": "Brevo account"
}
}
}
],
"connections": {},
"pinData": {},
"meta": {
"templateCredsSetupCompleted": true
}
}
Teile die Ausgabe des letzten Knotens
{
"code": "invalid_parameter",
"message": "Unable to create/update campaign. Due to DMARC policy, you cannot use this sender. Please choose another sender."
}
Beweis, dass dies ein n8n-Problem und nicht a Brevo-/DNS-Konfigurationsproblem ist:
- Domain in Brevo vollständig authentifiziert (DKIM
, DMARC
, Absender verifiziert
) - Ein DMARC-DNS-Datensatz, korrekt:
v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com - Dieselbe Payload via
curlmit dem API-Schlüssel funktioniert perfekt - Das Erstellen der Kampagne manuell in der Brevo-Web-UI funktioniert auch
- Das Wechseln des HTTP Request-Knotens zu
Generic Credential Type → Header Authentication(Name:api-key, gleicher API-Schlüssel) hat das Problem sofort ohne weitere Änderungen behoben
Workaround:
- Erstelle neue Anmeldedaten: Typ Header Authentication, Name:
api-key, Wert: dein Brevo-API-Schlüssel - Im HTTP Request-Knoten stelle Authentication →
Generic Credential Type→Header Authenticationein - Alles andere (URL, JSON-Body) bleibt unverändert
Informationen zu deinem n8n-Setup
- n8n-Version: 2.20.7-exp.0
- Datenbank: SQLite
- EXECUTIONS_PROCESS-Einstellung: main
- n8n läuft via: Docker (selbst gehostet)
- Betriebssystem: Linux