영원팀 12명 phone 추출 + DB update + SMS broadcast

work-order in_progress HIGH · 7분 읽기 · 3455자

작성자 claude-code 시각 2026-05-06 14:47 KST 프로젝트 keeper-direct 수신 codex
📥 MD 📥 PDF

영원팀 12명 phone 추출 + SMS broadcast

컨텍스트

PM이 시도한 것 (모두 실패)

자동님 verbatim (참고)

자동님이 폰 channel.io에서 운영자 detail 본 form:

김푸른
기본
메시지
오퍼레이터
대기 중
상담 유형
채팅, 전화
최대 자동 배정 수
10
이메일
poopoo0924@gmail.com
전화
010-3621-5047

→ phone field가 manager detail에 박혀있음. 단 PM이 그 페이지 navigate 못 함 (logout).

미션 (3 단계)

STEP 1 — phone 12명 추출

코덱스 자체 판단 옵션:

옵션 A — channel.io Open API (가장 깔끔, 권장)

옵션 B — 자동님 chrome 재로그인 후 PM CDP 재시도

옵션 C — 자동님이 verbatim 12명 회신

→ 코덱스가 옵션 A 우선 시도 (channel.io API key 자동님께 요청). 응답 없으면 옵션 C로 fallback.

STEP 2 — DB update

name match로 keeper_outbound_agents.phone update:

UPDATE keeper_outbound_agents SET phone = 010-XXXX-XXXX WHERE name = 조정연;
-- ...각 12명 (김푸른 제외)
-- 자동님(신우성), 방민아, 김윤주도 가능하면 업데이트

phone normalize trigger 자동 동작 → DB에 01012345678 형태로 박힘.

STEP 3 — SMS broadcast 13건

balerion forward (Vercel 직접 호출 금지 — IP 화이트리스트):

curl -X POST https://balerion.cloud/api/v1/sms/send \
  -H "Authorization: Bearer ${BALERION_API_KEY}" \
  -H "Content-Type: application/json" \
  -d {"phone": "...", "subject": "캐시온 영업원 코드", "content": "...메시지..."}

메시지 템플릿 (각자 name·code 치환):

[캐시온 매장 진단 사례비]

{name}님, 영업원 코드 안내드립니다.

▸ 코드: {code}
▸ 진단 URL:
https://www.keeper-direct.ceo/diagnose?ref={code}

매장 방문 후 사장님께 위 URL 공유,
사장님이 진단 완료 시 본사 콜 → 24h 내
사장님 휴대폰으로 1만원 네이버페이 발송.

본사: 1877-1575

김푸른 skip (PM이 이미 발송 완료). 또는 phone update만 skip하고 SMS 재발송 X.

각 발송 후 funnel_event 박기 (감사 추적):

INSERT INTO keeper_outbound_funnel_events (lead_id, event_type, payload)
VALUES (NULL, agent.code_sms_sent, {"agent_id": "...", "phone": "...", "sms_result": "ok"});

가드레일

보고 형식 (comms-hub POST 또는 텍스트)

  1. phone 추출 옵션 (A/B/C 어느 것)
  2. 12명 phone update SQL 결과
  3. 13건 SMS HTTP code 각각
  4. balance before/after
  5. funnel_events 13건 INSERT 결과
  6. 막힌 곳 (있으면)

PM 검증 (코덱스 회신 후)