Configurer vos feuilles de calcul Google Sheets ou fichiers Microsoft Excel pour commencer à accepter des données

Une fois que vous avez créé et prévisualisé le formulaire, il est temps d’activer la feuille de calcul correspondante pour commencer à recevoir des données. Vous pouvez activer manuellement la feuille de calcul pour accepter des données ou utiliser des API d’administration pour permettre à une feuille de calcul d’accepter des données.

Écosystème de création basé sur des documents

Activer manuellement la feuille de calcul pour accepter des données

Pour permettre à la feuille de calcul d’accepter des données

  1. Ouvrez la feuille de calcul qui comporte votre formulaire et ajoutez-y une nouvelle feuille en la renommant incoming.

    note warning
    WARNING
    Si la feuille incoming n’est pas présente, AEM n’envoie aucune donnée à la feuille de calcul.
  2. Dans cette feuille, insérez un tableau nommé « intake_form ». Sélectionnez le nombre de colonnes requis pour correspondre aux noms des champs de votre formulaire. Ensuite, dans la barre d’outils, accédez à Insérer > Tableau et cliquez sur OK.

  3. Remplacez le nom du tableau par « intake_form ». Dans Microsoft Excel, pour modifier le nom du tableau, sélectionnez-le, puis cliquez sur Conception du tableau.

  4. Ajoutez ensuite les noms des champs de formulaire en tant qu’en-têtes de tableau. Pour vous assurer que les champs sont exactement les mêmes, vous pouvez les copier et les coller à partir de la feuille « shared-default ». Dans votre feuille « shared-default », sélectionnez et copiez les identifiants de formulaires répertoriés sous la colonne « Name », à l’exception du champ d’envoi.

  5. Dans la feuille « incoming », sélectionnez Collage spécial > Transposer les lignes en colonnes pour copier les identifiants de champ sous forme d’en-têtes de colonne dans cette nouvelle feuille. Ne conservez que les champs dont les données doivent être capturées, les autres peuvent être ignorés.

    Chaque valeur dans la colonne Name de la feuille shared-default, à l’exception du bouton d’envoi, peut servir d’en-tête dans la feuille incoming. Prenons l’exemple de l’image suivante illustrant les en-têtes d’un formulaire « contact-us » :

    Champs d’un formulaire contact-us

  6. Utilisez l’extension AEM Sidekick pour prévisualiser les mises à jour du formulaire. Votre feuille est maintenant prête à accepter les envois de formulaire entrants.

    note note
    NOTE
    Même si vous avez déjà prévisualisé la feuille, vous devez la prévisualiser à nouveau après la première création de la feuille incoming.

Une fois que les noms de champs sont ajoutés à la feuille incoming, votre formulaire est prêt à accepter des envois. Vous pouvez prévisualiser le formulaire et envoyer des données à la feuille à l’aide de celui-ci.

Une fois la feuille configurée pour recevoir des données, vous pouvez prévisualiser le formulaire à l’aide du bloc de formulaires adaptatifs ou utiliser des requêtes POST pour commencer à envoyer des données à la feuille.

WARNING
Les feuilles « shared-default » ne doivent jamais contenir d’informations personnelles identifiables ou de données sensibles que vous ne souhaitez pas rendre accessibles au public.

Utiliser des API d’administration pour permettre à une feuille de calcul d’accepter des données

Vous pouvez également envoyer une requête POST au formulaire pour lui permettre d’accepter des données et configurer des en-têtes pour la feuille incoming. Lors de la réception de la requête POST, le service analyse le corps de la requête et génère de manière autonome les en-têtes et les feuilles essentiels nécessaires à l’ingestion des données.

Pour utiliser les API d’administration afin de permettre à une feuille de calcul d’accepter des données :

  1. Ouvrez le classeur que vous avez créé et remplacez le nom de la feuille par défaut par incoming.

    note warning
    WARNING
    Si la feuille incoming n’existe pas, AEM n’enverra aucune donnée à ce classeur.
  2. Prévisualisez la feuille dans le sidekick.

    note note
    NOTE
    Même si vous avez déjà prévisualisé la feuille, vous devez la prévisualiser à nouveau après la première création de la feuille incoming.
  3. Envoyez la requête POST pour générer les en-têtes appropriés dans la feuille incoming, puis ajoutez la feuille shared-default à votre feuille de calcul, si elle n’existe pas déjà.

    Pour comprendre comment mettre en forme la requête POST afin de configurer votre feuille, reportez-vous à la Documentation de l’API d’administration. Vous pouvez consulter l’exemple ci-dessous :

    Requête

    code language-json
    POST 'https://admin.hlx.page/form/{owner}/{repo}/{branch}/contact-us.json' \
    --header 'Content-Type: application/json' \
    --data '{
        "data": {
            "Email": "john@wknd.com",
            "Name": "John",
            "Subject": "Regarding Product Inquiry",
            "Message": "I have some questions about your products.",
            "Phone": "123-456-7890",
            "Company": "Adobe Inc.",
            "Country": "United States",
            "PreferredContactMethod": "Email",
            "SubscribeToNewsletter": true
        }
    }'
    

    Réponse

    code language-json
    HTTP/2 200
    content-type: application/json
    x-invocation-id: 1b3bd30a-8cfb-4f85-a662-4b1f7cf367c5
    cache-control: no-store, private, must-revalidate
    accept-ranges: bytes
    date: Sat, 10 Feb 2024 09:26:48 GMT
    via: 1.1 varnish
    x-served-by: cache-del21736-DEL
    x-cache: MISS
    x-cache-hits: 0
    x-timer: S1707557205.094883,VS0,VE3799
    strict-transport-security: max-age=31557600
    content-length: 138
    
    {"rowCount":2,"columns":["Email","Name","Subject","Message","Phone","Company","Country",      "PreferredContactMethod","SubscribeToNewsletter"]}%
    

    Vous pouvez utiliser des outils tels que curl ou Postman pour exécuter cette requête POST, comme illustré ci-dessous :

    code language-json
    curl -s -i -X POST 'https://admin.hlx.page/form/wkndforms/portal/main/contact-us.json' \
        --header 'Content-Type: application/json' \
        --data '{
            "data": {
                "Email": "john@wknd.com",
                "Name": "John",
                "Subject": "Regarding Product Inquiry",
                "Message": "I have some questions about your products.",
                "Phone": "123-456-7890",
                "Company": "Wknd Inc.",
                "Country": "United States",
                "PreferredContactMethod": "Email",
                "SubscribeToNewsletter": true
        }
    }'
    

    La requête POST mentionnée ci-dessus fournit des données d’exemple, y compris les champs de formulaire et leurs valeurs d’exemple respectives. Ces données sont utilisées par le service d’administration pour configurer le formulaire.

    Votre formulaire peut maintenant accepter des données. Vous constatez également les modifications suivantes dans votre feuille de calcul :

Modifications automatiques de la feuille une fois qu’elle est activée pour accepter des données.

Une fois que la feuille est configurée pour recevoir des données, vous constatez les modifications suivantes dans votre feuille de calcul :

Une feuille nommée « Slack » est ajoutée à votre classeur Excel ou à votre feuille Google Sheets. Dans cette feuille, vous pouvez configurer des notifications automatiques pour un canal Slack désigné chaque fois que de nouvelles données sont ingérées dans votre feuille de calcul. Actuellement, AEM prend en charge les notifications exclusivement destinées à l’organisation Slack de l’équipe d’ingénierie AEM et à l’organisation de l’assistance aux entreprises d’Adobe.

  1. Pour configurer les notifications Slack, saisissez l’« identifiant de l’équipe » de l’espace de travail Slack et le « nom du canal » ou l’« identifiant ». Vous pouvez également demander au Slackbot (avec la commande debug) l’« identifiant d’équipe » et l’« identifiant du canal ». Il est préférable d’utiliser l’« identifiant du canal » plutôt que le « nom du canal », car il n’est pas modifié lorsque le canal est renommé.

    note note
    NOTE
    Les formulaires plus anciens ne contenaient pas la colonne « identifiant d’équipe ». L’« identifiant d’équipe » a été inclus dans la colonne du canal, séparé par « # » ou « / ».
  2. Saisissez le titre de votre choix et sous les champs, saisissez le nom des champs que vous souhaitez voir dans la notification Slack. Chaque en-tête doit être séparé par une virgule (par exemple, nom, adresse e-mail).

    note warning
    WARNING
    Les feuilles « shared-default » ne doivent jamais contenir d’informations personnelles identifiables ou de données sensibles que vous ne souhaitez pas rendre accessibles au public.

Envoyer des données à votre feuille send-data-to-your-sheet

Une fois la feuille définie pour recevoir des données, vous pouvez prévisualiser le formulaire à l’aide du bloc de formulaires adaptatifs ou utiliser des API d’administration pour commencer à envoyer des données à la feuille.

Utiliser des API d’administration pour envoyer des données à votre feuille

Vous pouvez envoyer des requêtes POST directement à votre formulaire à l’aide de hlx.page, hlx.live ou de votre domaine de production pour envoyer des données.

POST https://branch–repo–owner.hlx.(page|live)/email-form
POST https://my-domain.com/email-form
NOTE
L’URL ne doit pas avoir l’extension .json. Vous devez publier la feuille pour que les opérations POST fonctionnent sur .live ou sur le domaine de production.

Formater les données du formulaire

Il existe plusieurs manières de formater les données de formulaire dans le corps de POST. Vous pouvez utiliser :

  • un tableau de paires name:value :

    code language-json
    {
      "data": [
        { "name": "name", "value": "Clark Kent" },
        { "name": "email", "value": "superman@example.com" },
        { "name": "subject", "value": "Regarding Product Inquiry" },
        { "name": "message", "value": "I have some questions about your products." },
        { "name": "phone", "value": "123-456-7890" },
        { "name": "company", "value": "Example Inc." },
        { "name": "country", "value": "United States" },
        { "name": "preferred_contact_method", "value": "Email" },
        { "name": "newsletter_subscribe", "value": true }
      ]
    }
    

    par exemple,

    code language-json
    curl -s -i -X POST 'https://main--portal--wkndforms.hlx.page/contact-us' \
        --header 'Content-Type: application/json' \
        --data '{
        "data": [
            { "name": "name", "value": "Clark Kent" },
            { "name": "email", "value": "superman@example.com" },
            { "name": "subject", "value": "Regarding Product Inquiry" },
            { "name": "message", "value": "I have some questions about your        products." },
            { "name": "phone", "value": "123-456-7890" },
            { "name": "company", "value": "Example Inc." },
            { "name": "country", "value": "United States" },
            { "name": "preferred_contact_method", "value": "Email" },
            { "name": "newsletter_subscribe", "value": true }
        ]
    }'
    
  • un objet avec des paires key:value :

    code language-json
        {
          "data": {
            "name": "Jessica Jones",
            "email": "jj@example.com",
            "subject": "Regarding Product Inquiry",
            "message": "I have some questions about your products.",
            "phone": "123-456-7890",
            "company": "Example Inc.",
            "country": "United States",
            "preferred_contact_method": "Email",
            "newsletter_subscribe": true
          }
        }
    

    par exemple,

    code language-json
    curl -s -i -X POST 'https://admin.hlx.page/form/wkndforms/portal/main/contact-us.json' \
    --header 'Content-Type: application/json' \
    --data '{
        "data": {
            "Email": "khushwant@wknd.com",
            "Name": "khushwant",
            "Subject": "Regarding Product Inquiry",
            "Message": "I have some questions about your products.",
            "Phone": "123-456-7890",
            "Company": "Adobe Inc.",
            "Country": "United States",
            "PreferredContactMethod": "Email",
            "SubscribeToNewsletter": true
        }
    }'
    
  • un corps encodé en URL (x-www-form-urlencoded) (avec l’en-tête content-type défini sur application/x-www-form-urlencoded)

    code language-shell
    'Email=kent%40wknd.com&Name=clark&Subject=Regarding+Product+Inquiry&Message=I   +have+some+questions+about+your+products.&Phone=123-456-7890&Company=Adobe+Inc.&   Country=United+States&PreferredContactMethod=Email&SubscribeToNewsletter=true'
    

    par exemple,

    code language-shell
    curl -s -i -X POST \
      -d 'Email=kent%40wknd.com&Name=clark&Subject=Regarding+Product+Inquiry&   Message=I+have+some+questions+about+your+products.&Phone=123-456-7890& Company=Adobe+Inc.&Country=United+States&PreferredContactMethod=Email&   SubscribeToNewsletter=true' \
      https://main--portal--wkndforms.hlx.live/contact-us
    

Ensuite, vous pouvez personnaliser le message de remerciement.

Voir également

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab