API-Fehler 422 bei Einladung per E-Mail an Benutzer mit bestehendem Konto

Hallo Team,

ich versuche, eine Automatisierung über Make.com einzurichten, um Benutzer, die ein neues Produkt von Kajabi kaufen, automatisch zu Discourse einzuladen und sie gleichzeitig zu einer neuen Gruppe hinzuzufügen.

Das Problem ist, dass die meisten (wenn auch nicht alle!) Personen, die diese Käufe tätigen, bereits ein Konto in unserem Forum haben. Basierend auf der Lektüre einer Reihe anderer Beiträge bezüglich des 422-Fehlers, einschließlich des unten verlinkten aus dem Jahr 2021, glaube ich, dass der Fehler auftritt, weil die E-Mails bereits einem Konto in Discourse zugeordnet sind.

Aber mit dem aktualisierten Einladungssystem seit diesem Beitrag war ich der Meinung, dass dies kein Problem mehr darstellt und ich Benutzer manuell per .csv-Datei in Massen einladen kann, um sie zu einer Gruppe hinzuzufügen, auch wenn sie bereits ein Konto haben, ohne einen Fehler auszulösen, während gleichzeitig Einladungen an diejenigen gesendet werden, die kein Konto haben.

Wie behebe ich also das Problem? Ich verwende den Standard-API-Code aus Ihrer API-Dokumentation für Einladungen, und er hat in der Vergangenheit funktioniert. Ich habe gerade das vorhandene (funktionierende) Szenario in Make geklont und den Gruppennamen und das Startthema angepasst. Als Referenz hier der API-Code, den ich verwende:

 {
  "email": "user@host.com",
  "skip_email": false,
  "max_redemptions_allowed": 1,
  "topic_id": 782,
  "group_names": "Group-Name"
}

Ist es so einfach, “false” in “true” im Abschnitt “skip_email” zu ändern? Oder würden dann keine Einladungen an diejenigen gesendet, die kein Konto haben?

Ich sehe auch die PUT-Funktion, um einen Benutzer zu einer Gruppe hinzuzufügen, aber ich arbeite nur mit E-Mails, die per Webhook von Kajabi gesendet werden, und ich bin mir nicht sicher, wie ich eine Möglichkeit einrichten kann, E-Mails auf Benutzernamen zu überprüfen, um dies zu tun, da ich die E-Mail-Adresse für die PUT-Funktion meines Erachtens nicht verwenden kann.

Vielen Dank für jede Hilfe!

Oh, ich wollte noch hinzufügen, dass ich denselben Webhook-Link von Make in der ausgehenden Webhook-Zeile für 3 separate Produkte in Kajabi verwendet habe, aber diese Produkte würden nicht zusammen gekauft werden, da es sich um einzelne „Add-on“-Optionen handelt. Ich dachte, das könnte das Problem sein, aber als ich das Szenario testete, indem ich einen ausgehenden Test-Webhook von jedem Produkt sendete, gab es keine Fehler. Der Fehler trat erst auf, als ein „echter“ Benutzer das Produkt kaufte und dieser Benutzer ein Konto hatte.

Sie können die Discourse-API zurückentwickeln und die Route admin/users verwenden, um den Benutzer anhand seiner E-Mail-Adresse zu suchen und von dort aus fortzufahren?

Danke für den Link und den Vorschlag. Es scheint ein wenig über meine Fähigkeiten hinauszugehen, aber ich werde sehen, was ich tun kann, ohne etwas zu beschädigen.

Gibt es einen Grund, warum dies nicht auf die gleiche Weise gelöst werden kann wie Masseneinladungen per .csv, wenn bereits Benutzer vorhanden sind, ohne den gesamten Prozess mit einem Fehler abzubrechen? Es scheint, als ob es einen einfachen Weg geben sollte, dies zu tun, indem eine Zeile wie „Wenn Benutzer existiert, Einladung überspringen“ oder etwas Ähnliches in die API integriert wird…