기능성 푸시 terms_disagreed_member — 미니앱 동의와 무관한 「사용자 최적화 제공」 약관에 막힘 (문서/sdk 개선 요청)

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

정보 공유

내용을 설명해주세요

안녕하세요.

미니앱 그거아세요? (doyouknow) 에서 기능성 메시지 발송이 계속 TERMS_DISAGREED_MEMBER로 실패해서 원인을 추적했습니다.
동일 증상을 겪는 분들이 많아, 재현·원인·개선 요청을 정리해 남깁니다.

증상

  • Notification.requestAgreement → newAgreement / alreadyAgreed 정상 수신
  • 토스 앱 → 설정 → 알림 → 서비스별 알림 ON
  • Partner API send-message / send-test-message 모두
    – resultType: “SUCCESS”
    – msgCount / sentPushCount / sentInboxCount = 0
    – fail.*.reachedFailReason: “TERMS_DISAGREED_MEMBER”

템플릿은 승인된 기능성 캠페인(doyouknow-slot, doyouknow-full)이고, 존재하지 않는 코드는 5004로 정상 거절됩니다. 즉 발송 파이프라인·템플릿 코드 인식은 정상입니다.

실제 원인

토스 앱 「사용자 최적화 제공」 약관이 꺼져 있으면, 미니앱 알림 동의와 무관하게 위 에러로 막힙니다.

  • 경로: 전체 탭 → 검색 → 사용자 최적화 / 사용자 최적화 동의
  • 미동의 상태에서는 설정 목록에 항목이 안 보이는 경우도 있어, 검색으로만 찾을 수 있었습니다.
  • 해당 약관을 켠 직후 동일 API로 재발송하니 즉시 성공했습니다.
msgCount: 2
sentPushCount: 1
sentInboxCount: 1
fail: []

왜 버그/개선이 필요한지

  1. 에러 코드가 오해 유발
    TERMS_DISAGREED_MEMBER는 “미니앱 알림 미동의”처럼 보이지만, 실제로는 토스 계정 전역 약관입니다. 파트너는 동의 SDK·서비스별 알림을 다 맞춰도 원인을 알 수 없습니다.

  2. 공식 문서에 해당 레이어가 없음
    가이드상으로는 requestAgreement + 템플릿 승인만으로 기능성 발송이 되는 것처럼 읽히는데, 실제로는 숨은 전제 조건이 하나 더 있습니다.

  3. 파트너가 해결할 수단이 없음
    – 해당 약관 상태를 조회하는 SDK 없음
    – 설정 화면으로 보내는 딥링크/공식 유도 수단 없음
    – 발송 후에야 reachedFailReason으로만 확인 가능
    → 유저 입장에선 “알림 켰는데 안 온다”로만 남고, 미니앱 측에서 구제할 방법이 없습니다.

  4. 기능성 메시지까지 전역 마케팅성 약관에 묶이는지 정책 확인 필요
    슬롯 충전 완료 같은 기능성 알림이 「사용자 최적화 제공」에 의존하는 게 의도된 정책인지, 아니면 검사 버그인지 명확히 해주시면 좋겠습니다.

재현 정보 (참고)

  • appName: doyouknow
  • templateSetCode: doyouknow-full
  • 발송: mTLS + x-anon-key
  • 동의 직후에도 실패 → 사용자 최적화 동의 후 성공
  • contentId (실패 시점 예): trustee:PUSH-93fa7b88-f5ef-4712-a7c4-ed8b292893fd
  • contentId (성공 시점 예): trustee:PUSH-09496b55-a20e-4407-b6d5-e6002edeb33e

요청

  1. 기능성 메시지 수신에 필요한 동의/권한 레이어를 공식 문서에 명시해 주세요.
    (OS 알림 / 사용자 최적화 제공 / 서비스별·알림동의문 등)
  2. TERMS_DISAGREED_MEMBER를 원인별로 분리하거나, 최소한 reason을 구분할 수 있게 해주세요.
    (예: 미니앱 미동의 vs 사용자 최적화 미동의)
  3. 발송 전 수신 가능 여부 조회 API/SDK 와, 가능하면 해당 설정으로 가는 딥링크를 제공해 주세요.
  4. 기능성 메시지가 사용자 최적화 약관에 묶이는 것이 의도된 정책인지 확인해 주세요. 의도라면 가이드에, 아니라면 수정 부탁드립니다.

파트너 앱만으로는 해결이 불가능한 레이어라, 토스 측 확인·수정(또는 최소한 문서화)이 필요합니다. 확인 부탁드립니다.

appName: doyouknow


관련 제보:

안녕하세요 :slight_smile:
조금 더 상세한 에러코드를 줄 수 있을지 / 개발자센터 문서 보강까지 내부적으로 논의해보겠습니다.
감사합니다!