사내에서 Slack 을 쓰지 않아 수신처를 Google 로 잡는다. Apps Script 웹 앱이 POST 를 받아 스프레드시트에 적재한다 — 별도 서비스 가입 없이 이미 있는 Google 계정으로 끝나고, 영업이 시트를 그대로 열어 본다. api/lead.ts 는 고치지 않았다. 이미 LEAD_WEBHOOK_URL 로 JSON 을 POST 하고, Slack 용 text 와 원본 필드를 함께 실어 보내도록 만들어 둬서 수신처만 바꾸면 된다. 스크립트는 docs/ 에 둔다. landing/api/ 안에 두면 Vercel 이 /api 규약에 따라 이 .js 를 서버리스 함수로 빌드하려 들고, Apps Script 전역(SpreadsheetApp 등)을 쓰므로 배포가 깨진다. 스크립트가 처리하는 것 - 헤더 자동 생성·확장. 나중에 필드가 늘어도 스크립트를 다시 안 고쳐도 된다. - LockService 로 동시 제출이 같은 행에 겹쳐 쓰는 것을 막는다. - Slack 전용 요약(text)은 시트에서 제외 — 같은 내용이 개별 필드에 이미 있다. - doGet 은 배포 직후 생존 확인용. 설치 절차는 파일 상단 주석에 있다. 배포 후 Vercel 환경변수 LEAD_WEBHOOK_URL 설정 + 재배포가 필요하다 — 환경변수는 배포 시점에 주입된다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api | ||
| app | ||
| docs | ||
| public | ||
| .gitignore | ||
| Dockerfile | ||
| Dockerfile.prod | ||
| package-lock.json | ||
| package.json | ||
| react-router.config.ts | ||
| tsconfig.json | ||
| vercel.json | ||
| vite.config.ts | ||