Google Sheets 또는 Microsoft Excel 파일을 설정하여 데이터 수신 시작
양식을 만들고 미리 본 후에는 해당 스프레드시트를 활성화하여 데이터 수신을 시작할 차례입니다. 스프레드시트가 데이터를 수신하도록 수동으로 활성화하거나, 관리 API를 사용하여 스프레드시트가 데이터를 수신하도록 활성화할 수 있습니다.
데이터를 수신하도록 스프레드시트를 수동으로 활성화
데이터를 수신하도록 스프레드시트를 활성화하는 방법
-
양식이 있는 스프레드시트를 열고 새 시트를 추가한 다음 이름을
incoming
으로 바꿉니다.note warning WARNING incoming
시트가 없는 경우 AEM은 스프레드시트에 데이터를 보내지 않습니다. -
이 시트에 “intake_form”이라는 테이블을 삽입합니다. 양식 필드 이름과 일치하는 데 필요한 열 수를 선택합니다. 그런 다음 도구 모음에서 삽입 > 표로 이동하고 ‘확인’을 클릭합니다.
-
테이블 이름을 “intake_form”으로 변경합니다. Microsoft Excel에서 테이블 이름을 변경하려면 테이블을 선택하고 테이블 디자인을 클릭합니다.
-
다음으로 양식 필드 이름을 테이블 헤더로 추가합니다. 필드가 정확히 동일한지 확인하려면 “shared-default” 시트에서 필드를 복사하여 붙여넣으면 됩니다. “shared-default” 시트에서 제출 필드를 제외하고 “이름” 열 아래에 나열된 양식 ID를 선택하고 복사합니다.
-
“incoming” 시트에서 선택하여 붙여넣기 > 행을 열로 바꾸기를 선택하여 필드 ID를 이 새 시트의 열 헤더로 복사합니다. 데이터를 캡처해야 하는 필드만 유지합니다. 다른 필드는 무시할 수 있습니다.
제출 버튼을 제외한
shared-default
시트의 각Name
열 값은incoming
시트에서 헤더 역할을 할 수 있습니다. 그 예로 다음 이미지에서는 “문의” 양식의 헤더를 설명합니다. -
AEM Sidekick 확장 기능을 사용하여 양식 업데이트를 미리 봅니다. 이제 시트가 수신 양식 제출을 수락할 준비가 되었습니다.
note note NOTE 이전에 시트를 미리 본 적이 있더라도 처음으로 incoming
시트를 만든 후에는 다시 미리보기로 확인해야 합니다.
필드 이름이 incoming
시트에 추가되면 양식 제출을 수락할 준비가 됩니다. 양식을 미리 보고 이를 사용하여 시트에 데이터를 제출할 수 있습니다.
시트가 데이터를 수신하도록 설정되면 적응형 양식 블록을 사용하여 양식을 미리 보거나 POST 요청을 사용하여 시트로 데이터 전송을 시작할 수 있습니다.
Admin API를 사용하여 스프레드시트에서 데이터를 허용하도록 설정
양식에 POST 요청을 보내 양식이 데이터를 받아들이고 incoming
시트의 헤더를 구성할 수 있도록 할 수도 있습니다. POST 요청을 받으면 서비스는 요청 본문을 분석하고 데이터 수집에 필요한 필수 헤더와 시트를 자동으로 생성합니다.
Admin API를 사용하여 스프레드시트에서 데이터를 수신하도록 설정하려면 다음 작업을 수행하십시오.
-
만든 통합 문서를 열고 기본 시트의 이름을
incoming
으로 변경합니다.note warning WARNING incoming
시트가 존재하지 않는 경우 AEM은 이 통합 문서에 데이터를 전송하지 않습니다. -
Sidekick에서 시트를 미리 봅니다.
note note NOTE 이전에 시트를 미리 본 적이 있더라도 처음으로 incoming
시트를 만든 후에는 다시 미리보기로 확인해야 합니다. -
incoming
시트에 적절한 헤더를 생성하도록 POST 요청을 보내고 시트가 아직 존재하지 않는 경우 스프레드시트에shared-default
시트를 추가합니다.시트 설정을 위해 POST 요청 형식을 지정하는 방법을 이해하려면 Admin API 설명서를 참조하십시오. 아래 제공된 예를 살펴볼 수도 있습니다.
요청
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 } }'
응답
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"]}%
아래와 같이 curl이나 Postman과 같은 도구를 사용하여 이 POST 요청을 실행할 수 있습니다.
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 } }'
위에서 언급한 POST 요청은 양식 필드와 해당 샘플 값을 모두 포함하는 샘플 데이터를 제공합니다. 이 데이터는 관리 서비스에서 양식을 설정하는 데 사용됩니다.
이제 양식이 데이터를 수신할 수 있습니다. 또한 스프레드시트에서 다음과 같은 변경 내용을 확인할 수 있습니다.
데이터를 수신하도록 활성화된 후 자동 변경 사항
시트가 데이터를 수신하도록 설정되면 스프레드시트에서 다음과 같은 변경 사항을 확인할 수 있습니다.
“Slack”이라는 시트가 Excel 통합 문서 또는 Google 시트에 추가됩니다. 이 시트에서는 새 데이터가 스프레드시트에 수집될 때마다 지정된 Slack 채널에 대한 자동 알림을 구성할 수 있습니다. 현재 AEM은 AEM Engineering Slack 조직 및 Adobe Enterprise Support 조직에만 알림을 지원합니다.
-
Slack 알림을 설정하려면 Slack 작업 영역의 “teamId”와 “채널 이름” 또는 “ID”를 입력합니다. 디버그 명령을 사용하여 slack-bot에 “teamId” 및 “채널 ID”를 요청할 수도 있습니다. “채널 이름” 대신 “채널 ID”를 사용하는 것이 채널 이름을 변경해도 유지되므로 더 이상적입니다.
note note NOTE 이전 양식에는 “teamId” 열이 없었습니다. “teamId”는 “#” 또는 “/”로 구분된 채널 열에 포함되어 있었습니다. -
원하는 제목을 입력하고 필드 아래에 Slack 알림에 표시할 필드 이름을 입력합니다. 각 제목은 쉼표로 구분되어야 합니다(예: 이름, 이메일).
note warning WARNING “shared-default” 시트에는 공개적으로 액세스 가능해서는 안 되는 개인 식별 정보나 민감한 데이터가 포함되어서는 안 됩니다.
시트로 데이터 전송 send-data-to-your-sheet
데이터를 수신하도록 시트를 설정한 후 적응형 양식 블록을 사용하여 양식을 미리 보거나 Admin API를 사용하여 시트로 데이터 전송을 시작할 수 있습니다.
Admin API를 사용하여 시트에 데이터 전송
hlx.page, hlx.live 또는 프로덕션 도메인을 사용하여 양식에 직접 POST 요청을 보내 데이터를 전송할 수 있습니다.
POST https://branch–repo–owner.hlx.(page|live)/email-form
POST https://my-domain.com/email-form
.live
또는 프로덕션 도메인에서 작동하려면 POST 작업에 대한 시트를 게시해야 합니다.양식 데이터 형식 지정
POST 본문에서 양식 데이터의 형식을 지정할 수 있는 몇 가지 방법이 있습니다. 다음과 같은 기능을 사용할 수 있습니다.
-
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 } ] }
예
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 } ] }'
-
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 } }
예:
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 } }'
-
URL 인코딩(
x-www-form-urlencoded
) 본문(content-type
헤더가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'
예:
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
다음으로, 감사 메시지를 사용자 정의할 수 있습니다.