💙POST waitinglist

Nom de l'API : /waitinglist (POST)

Description : Cette API POST permet d'ajouter un nouvel utilisateur à la liste d'attente de l'application. Elle vérifie d'abord si l'email est valide et si l'utilisateur n'existe pas déjà dans la liste d'attente avant de l'ajouter. Si l'utilisateur est nouveau, elle l'ajoute à la liste et envoie un email de confirmation.

Endpoint : /waitinglist

Méthode : POST

Authentification : Non requise (Public Endpoint)

Paramètres d'entrée :

  • email (type: text) : L'adresse email de l'utilisateur à ajouter à la liste d'attente

Fonctionnement détaillé :

  1. Custom Function Error Empty Email :

    • Vérifie si l'email fourni est valide et non vide

    • Retourne le résultat sous le nom "check_email"

  2. Query All Records From waitinglist :

    • Recherche si l'email existe déjà dans la liste d'attente

    • Filtre : db:waitinglist.email == input:email

    • Retourne le résultat sous le nom "check_user"

  3. Conditional: If var:check_user = null

    • Vérifie si l'utilisateur n'existe pas déjà dans la liste d'attente

    Si la condition est vraie (l'utilisateur n'existe pas) : 3.1. Add Record In waitinglist : - Ajoute un nouvel enregistrement dans la table waitinglist - Champs : - id : auto-incrémenté - created_at : timestamp actuel - email : email fourni en entrée - account_created : probablement initialisé à false - Retourne le résultat sous le nom "new_subscriber"

    3.2. Get Record From transactional_emails : - Récupère un modèle d'email pour la confirmation d'inscription - Paramètres de recherche : - field_name : "email_name" - field_value : "waiting_position" - Retourne le résultat sous le nom "waiting_position_email"

    3.3. API Request To https://api.resend.com/audiences/%s : - Envoie un email de confirmation via l'API Resend - Méthode : POST - URL : https://api.resend.com/audiences/%s (où %s est remplacé par env:resend_audience_id) - Paramètres : - to : input:email - from : "%s <%s>" (rempli avec waiting_position_email.send_name et waiting_position_email.email) - subject : waiting_position_email.subject - html : waiting_position_email.content (avec [POSITION] remplacé par new_subscriber.id) - Headers : - Authorization : "Bearer %s" (où %s est remplacé par env:resend_api_key) - Content-Type : application/json - Timeout : 10 secondes - follow_location : true - Retourne le résultat sous le nom "create_contact_resend"

    3.4. Create Variable : - Crée une variable "answer" avec les propriétés suivantes : - subscriber_email : new_subscriber.email - subscriber_position : new_subscriber.id - Retourne le résultat sous le nom "answer"

    Si la condition est fausse (l'utilisateur existe déjà) : 3.5. Create Variable : - Crée une variable "answer" avec les propriétés suivantes : - subscriber_email : check_user.email - subscriber_position : check_user.id - Retourne le résultat sous le nom "answer"

Réponse : L'API renvoie la variable "answer" (As Self), qui contient :

  • subscriber_email : L'email de l'abonné (nouveau ou existant)

  • subscriber_position : La position de l'abonné dans la liste d'attente

Notes supplémentaires :

  • L'API utilise une fonction personnalisée "Error Empty Email" pour valider l'email avant tout traitement.

  • La vérification de l'existence de l'utilisateur dans la liste d'attente est effectuée avant l'ajout.

  • L'API interagit avec un service externe (Resend) pour envoyer des emails de confirmation uniquement pour les nouveaux abonnés.

  • La position dans la liste d'attente est déterminée par l'ID auto-incrémenté de l'enregistrement.

  • Si l'utilisateur existe déjà, l'API renvoie ses informations existantes sans effectuer de nouvel ajout ou envoi d'email.

Cette API offre une fonctionnalité complète pour gérer l'ajout d'utilisateurs à une liste d'attente, avec gestion des doublons et envoi automatique d'emails de confirmation personnalisés pour les nouveaux abonnés.

Dernière mise à jour