Erreur API 422 pour les invitations par e-mail aux utilisateurs ayant déjà un compte

Bonjour l’équipe,

J’essaie de configurer une automatisation via Make.com pour inviter automatiquement les utilisateurs qui achètent un nouveau produit de Kajabi à Discourse tout en les ajoutant à un nouveau groupe.
Le problème est que la plupart (mais pas tous !) des personnes qui effectuent ces achats ont déjà un compte sur notre forum. D’après la lecture de plusieurs autres publications concernant l’erreur 422, y compris celle liée ci-dessous datant de 2021, je pense que l’erreur se produit parce que les e-mails sont déjà associés à un compte dans Discourse.
Error 422 when sending invite on 2.7.0.beta4

Mais avec le système d’invitation mis à jour depuis cette publication, je pensais que ce n’était plus un problème, et que je pouvais inviter en masse des utilisateurs manuellement à l’aide d’un fichier .csv pour les ajouter à un groupe même s’ils ont déjà un compte sans générer d’erreur, tout en envoyant des invitations à ceux qui n’ont pas de compte.

Alors, comment résoudre ce problème ? J’utilise le code API standard de votre documentation API pour les invitations et cela a fonctionné par le passé. Je viens de cloner le scénario existant (qui fonctionne) dans Make et d’ajuster le nom du groupe et le sujet de départ. Pour référence, voici le code API que j’utilise :

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

Est-ce aussi simple que de changer “false” en “true” dans la section “skip_email” ? Ou cela n’enverrait-il pas d’invitations à ceux qui n’ont pas de compte ?

Je vois également la fonction PUT pour ajouter un utilisateur à un groupe, mais je travaille uniquement avec des e-mails envoyés via webhook depuis Kajabi et je ne suis pas sûr de savoir comment configurer un moyen de vérifier les e-mails pour les noms d’utilisateur afin de le faire, car je ne peux pas utiliser l’adresse e-mail pour la fonction PUT, d’après ce que je peux dire.

Merci pour votre aide !

Oh, je voulais ajouter que j’ai utilisé le même lien webhook de Make dans la ligne de webhook sortant pour 3 produits distincts dans Kajabi, mais ces produits ne seraient pas achetés ensemble car ce sont des options « add-on » individuelles. Je pensais que cela pourrait être le problème, mais lorsque j’ai testé le scénario en envoyant un webhook sortant de test depuis chaque produit, il n’y a eu aucune erreur. L’erreur n’a commencé que lorsqu’un utilisateur « réel » a acheté le produit, et cet utilisateur avait un compte.

Vous pouvez faire de l’ingénierie inverse de l’API Discourse et utiliser la route admin/users et rechercher l’utilisateur par son adresse e-mail et partir de là ?

Merci pour le lien et la suggestion. Cela semble un peu au-delà de mes capacités, mais je verrai ce que je peux faire sans rien casser.

Y a-t-il une raison pour laquelle cela ne peut pas être résolu de la même manière que les invitations en masse via .csv lorsque des utilisateurs existent déjà, sans générer d’erreur pour l’ensemble du processus ? Il semble qu’il devrait y avoir un moyen simple de le faire en intégrant une ligne « si l’utilisateur existe, ignorer l’invitation » ou quelque chose de similaire dans l’API…