문의 제목: 기능성 메시지 발송 시 동의했음에도 TERMS_DISAGREED_MEMBER 반환됨

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

미니앱: 뉴스워즈 (newswords)
발송 코드(templateSetCode): newswords-CYCLE_DECK_REMINDER

알림동의문은 콘솔에 정상 등록되어 있고, requestNotificationAgreement() 호출 시
onEvent로 "newAgreement"를 정상적으로 수신했습니다.

하지만 곧바로 동일한 userKey로 메신저 발송(send-message)을 호출하면
resultType: SUCCESS, msgCount: 0,
fail.sentPush.reachedFailReason: “TERMS_DISAGREED_MEMBER”
로 발송이 거부됩니다.

수분 후 재시도해도 동일하게 거부됩니다.

같은 증상을 보고한 다른 개발자 글들을 참고로 첨부합니다:

해당 userKey에 대한 동의 상태가 서버에 정확히 어떻게 기록되어 있는지,
그리고 이 문제의 해결 방법/예상 수정 일정을 확인하고 싶습니다.

안녕하세요 :slight_smile:
해당 이슈는 해결되었는데, 여전히 이슈가 발생하시나요 ?
newswords 앱 기준 에러 로그가 보이지 않는데, 다시 한번 확인 부탁드려도 될까요 ?

안녕하세요, 답변 감사합니다 :slightly_smiling_face:

확인해봤는데 여전히 동일하게 발생하고 있어요. 에러 로그가 안 보이시는 이유는, send-message API 자체는 resultType: "SUCCESS"로 정상 응답하기 때문인 것 같아요. 실패는 응답 본문의 fail.sentPush[].reachedFailReason 에만 TERMS_DISAGREED_MEMBER 로 찍히고 있어요.

가장 최근 재현 내역 공유드려요 (KST 기준):

  • 2026-06-23T17:07 직전, 클라이언트에서 requestNotificationAgreement 호출 시 newAgreement(신규 동의)를 정상적으로 받았어요. 즉 해당 회원은 방금 막 동의를 완료한 상태예요.
  • 바로 직후 2026-06-23T17:07:03(요청) / 17:07:04(응답) 에 동일 코드 newswords-CYCLE_DECK_REMINDERsend-message를 호출했는데, push·inbox 모두 TERMS_DISAGREED_MEMBER 로 실패했어요.
  • contentId:
    • trustee:PUSH-c29af865-63c9-400e-8866-20e841ecdf24
    • trustee:INBOX-c29af865-63c9-400e-8866-20e841ecdf24

앞서 토글 OFF 후 재동의해서 alreadyAgreed가 아니라 newAgreement까지 새로 받은 직후인데도 거절되는 거라, 회원의 동의 상태 문제는 아닌 것 같아요. requestNotificationAgreement 가 등록하는 수신동의 항목과, send-messagetemplateSetCode(newswords-CYCLE_DECK_REMINDER)가 검사하는 수신동의 항목이 서로 연결되지 않은 게 아닐까 싶어요.

아래 세 가지 확인 부탁드려도 될까요?

  1. 템플릿 세트 newswords-CYCLE_DECK_REMINDER승인 상태
  2. 이 템플릿 세트에 연결된 수신동의 항목requestNotificationAgreementtemplateCode 와 동일한 항목인지
  3. 위 contentId 기준으로 발송이 TERMS_DISAGREED_MEMBER 로 막힌 상세 사유

감사합니다!

혹시 기능성 메시지 전송을 시도하신 userKey를 메세지로 보내주실 수 있을까요 ?

혹시 토스앱 > 전체 > 설정 > 법적 정보 및 기타 - 약관 및 개인정보처리 동의 > 사용자 최적화 제품에 동의가 되어있는지 확인 부탁드려도 될까요 ?

사용자 최적화 제품에 동의 이게 문제였던 것 같네요! 잘 작동합니다! 정말 감사합니다! 좋은 하루 보내세요!