Die Header zeigen 200 an, also hat GHL deine Anfrage eigentlich problemlos erhalten. Das Problem liegt in dem, was du sendest.
Das erste, was ich tun würde: Öffne die HTTP Request Node Ausgabe in n8n und schau dir den tatsächlichen Response Body an, nicht nur die Header. GHL gibt manchmal 200 zurück, versteckt aber eine Fehlermeldung im Body, wie ein fehlendes Pflichtfeld oder Kontakt nicht gefunden.
Überprüfe auch deine Feldnamen. GHL ist streng bei der Groß- und Kleinschreibung. firstName statt first_name, phonePhone statt phone, solche Sachen. Wenn ein Key falsch ist, ignoriert das System ihn einfach stillschweigend und macht weiter, was super nervig zum Debuggen ist.
Geh dann zu GHL selbst und schau nach, ob der Kontakt tatsächlich erstellt oder aktualisiert wurde. Wenn er da ist, aber Felder sind leer, ist es ein Mapping-Problem. Wenn er gar nicht da ist, sendest du vielleicht an den falschen Endpoint oder es fehlt ein Pflichtfeld wie E-Mail oder Telefonnummer.
Teil mir den Body, den du sendest, und den tatsächlichen Response Body mit, und ich kann dir genau sagen, was falsch ist.
Willkommen in der n8n Community @wathoo
Ohne die Request Payload und den eigentlichen Response Body gibt es nicht genug Anhaltspunkte, um festzustellen, ob es sich um ein internes n8n Problem oder um ein API Payload/Mapping Problem handelt.
Genau, deshalb habe ich in meiner letzten Nachricht um den Response Body und die Payload gebeten. Sobald sie diese teilen, werden wir mit Sicherheit wissen, auf welcher Seite das Problem liegt.
Hey @wathoo, willkommen in der Community! Ich bin Jay, ein verifizierter n8n Creator.
Ein 200er Status mit leerem Body von GHL bedeutet üblicherweise, dass die Anfrage den Server erreicht hat, aber die Daten nicht verarbeitet wurden – das ist ein Payload-Problem, kein Verbindungsproblem. Ein paar Dinge zum Überprüfen, während du den vollständigen Body/die Response teilst:
1. Der Response Body ist der Schlüssel – In n8n klicke nach dem HTTP Request auf den Output. Schau dir das body Feld in der Response an. GHL gibt oft {"succeded":true} oder eine Fehlermeldung zurück, auch bei 200ern.
2. Überprüfe deinen Authorization Header – GHL benötigt Bearer YOUR_ACCESS_TOKEN im Header. Bestätige auch, dass du das richtige Location Token verwendest (nicht das Agency Token) für die Kontakterstellung.
3. Feldnamen sind streng – Die GHL API für Kontakte verwendet exaktes camelCase: firstName, lastName, email, phone. Jede Abweichung führt dazu, dass das Feld stillschweigend gelöscht wird.
4. Stelle sicher, dass du den richtigen Endpoint triffst – Für das Erstellen/Aktualisieren eines Kontakts sollte es sein:
POST https://services.leadconnectorhq.com/contacts/ mit dem Kontakt-Payload
Könntest du einen Screenshot der Body-Einstellungen deines HTTP Request Nodes und die vollständige Response-Ausgabe teilen? Das wird helfen, genau herauszufinden, wo die Daten verloren gehen.
@wathoo
Aus dem Screenshot geht hervor, dass die Anfrage noch nicht authentifiziert ist. Der HTTP Request-Knoten ist auf Authentication: None eingestellt, daher sind die Werte in den hinzugefügten Header-Zeilen für Authorization, Version und Content-Type leer. Ich würde das zunächst beheben, indem ich die erforderlichen GHL-Header mit echten Werten sende, insbesondere das Bearer-Token, z. B. Authorization: Bearer <access_token>, die korrekte API-Version und Content-Type: application/json. Danach solltest du zunächst mit einem minimalen Text testen, wie locationId, firstName, email und phone, und dann die restlichen Felder hinzufügen, sobald der Kontakt erfolgreich erstellt wurde.