카카오톡 공유 : 콜백에서 오픈채팅방 필터

문의 시, 디벨로퍼스 앱ID를 알려주세요.

친구 api와 피커, 메시지 api 사용을 위한 체크 리스트 ( 친구 api와 피커, 메시지 api 사용을 위한 체크 리스트 ) 먼저 확인해주세요.


앱ID: 594479

공유 콜백을 받아오면 일반 채팅과 오픈채팅방을 구분하고 싶은데 어떻게 할 수 있나요?
예를 들면 일반 1대1 채팅과 오픈채팅 1:1 채팅방 둘다 CHAT_TYPE이 DirectChat으로 넘어오는데
일반 1대1 채팅만 따로 떼서 보고싶습니다

안녕하세요.
아쉽지만, 현재 콜백 body에 해당 구분값은 제공하고 있지 않습니다.
내부 제안 해보도록 할게요.
@07982acd428bfcd589fb
일반 1대1 채팅만 따로 떼서 보고싶으신 이유를 알수있을까요?

저희 앱에서 제공하는 리워드중에 카카오톡으로 제3자에게 링크공유시 지급되는 리워드가 있는데,
오픈채팅방을 생성해서 리워드를 무한정으로 수령하는게 문제입니다.
valid한 유저에게 공유했을때만 리워드를 지급하고싶은데 현재로써는 불가능한걸까요?

"오픈채팅방을 생성해서 리워드를 무한정으로 수령"을 어떻게 하는지 잘 이해못했는데요.

(1) 카카오톡 공유로 회원가입 성공 보상
카카오톡 공유하기 시, 콜백에 전달할 수 있는 serverCallbackArgs에 값을 설정하실 수 있습니다.

카카오톡 공유: JavaScript | Kakao Developers 카카오톡 공유: JavaScript

이 값에 공유한 유저의 앱유저ID를 설정하고
공유받은 사람(제3자)가 어떤식으로 공유받던지간에 카카오톡 공유 메시지 링크를 타고 들어가서 카카오 로그인 가입 성공 했을때
(링크 파라메터에는 공유한 유저의 앱유저ID가 있구요.)
링크 파라메터 앱유저ID와 콜백수신받은 앱유저ID 일치할때 유저에게 지급

(2) 공유 한번당 일회성 성공 보상
serverCallbackArgs에 1회성 난수 설정하고 공유 링크 파라메터에도 설정
해당 링크로 진입하여 전환 이벤트 발생 시, 해당 난수 만료 (재사용불가).


이런식으로 처리하면 될 듯한데… 하려고 하시는 것에 부합하는지 모르겠네요.
조금더 구체적으로 설명해주시면 같이 고민해보도록 하겠습니다.

음 설명을 드리자면
게임의 도전권을 공유하기 > 콜백 > HASH_CHAT_ID 이미 등록됨? > (아직 등록안됨) > 보상지급 > HAST_CHAT_ID 등록 순으로 로직이 짜여져있습니다.
여기서 문제는 콜백의 파라미터중 이 '공유’가 유저의 일반채팅인지, 이 리워드를 목적으로 개설한 ‘오픈채팅방’ 인지가 구분이 안되는것입니다.

따라서 유저가 리워드를 얻기위해서 오픈채팅방을 계속 생성하고 리워드 받고, 생성하고 리워드 받고를 반복하는게 문제입니다.

즉, 오픈채팅방을 생성하면 새로운 HASH_CHAT_ID를 가진 공유를 할 수 있게되어서 무한반복이 가능하다는것이죠
이 도전권을 얻기위한 목적으로 오픈채팅방을 만들고 버리기를 반복합니다…

설명이 도움이 되셨나요?

제3자 구분을 HASH_CHAT_ID 로 하셔서 계속 생성할 수 있는 오픈 채팅방 으로 생성하는 어뷰징 때문이군요.

HASH_CHAT_ID는 채팅방을 기준으로 생성되니 이값을 사용하시면 안될 것 같습니다.

오픈채팅방 구분값은 내부 제안 해보겠지만, 단시일 적용은 어려울테니
공유받은 사람이 메시지 링크타고 들어가서 카카오 로그인하는 것으로 제3자 중복 식별을 하시도록
구현변경하시면 좋을 것같습니다.

리워드 지급 시점이 공유된 링크를 타고 들어와서 로그인 하는 시점이면 너무 늦어서 이런 방식을 채택한겁니다.
보상이 즉각적으로 지급이되어야 행동유도를 더 강하게 걸 수 있어서 채팅방 생성에 대한 어뷰징은 감안을 하고 간건데,
오픈채팅으로 하는건 생각을 못했네요… 오픈채팅은 일반 채팅과 성격이 매우 다르다고 보이는데 이를 구분할 수 있는
파라미터나 다른방식으로라도 구분할 수 있으면 좋겠네요

현재 일반채팅/오픈채팅을 구분할 수 있는 방법은 없는건가요?

추가적으로 알아보니 카카오 소셜을 이용하여
친구목록 불러오기 > 피커 > 메세지보내기 (공유하기) > 콜백 구조가 가능한것으로 보이는데 맞나요?
만약 가능하다면 피커 부분에서 오픈채팅에도 공유하기가 가능하나요?

현재 일반채팅/오픈채팅을 구분할 수 있는 방법은 없는건가요?

네, 현재 콜백에 제공하지 않습니다.

만약 가능하다면 피커 부분에서 오픈채팅에도 공유하기가 가능하나요?

친구피커, 메시지 API는 발신자, 수신자 모두 서비스내 카카오 로그인 및 친구목록조회/메시지발송 동의한 유저에게 메시지 발송하는 것으로 서비스에 가입하지 않은 유저는 조회되지 않습니다.

친구피커, 메시지API 제약사항은 아래 내용 확인해보시면 좋을 것같습니다.

친구 api와 피커, 메시지 api 사용을 위한 체크 리스트

친구 목록 조회와 메시지 권한

이부분은 디폴트값이 어떻게 되나요?

디폴트값이 어떤것인가요?

기본값으로 허용인건가요?
어디서 확인할수있나요?

기본값으로 허용인건가요?

카카오 로그인 시, 이용자로부터 동의 받아야하며 동의항목 설정하시면됩니다.

어디서 확인할수있나요?

개인정보항목 friends

설정하기 | Kakao Developers 설정하기

접근권한동의항목 talk_message

설정하기 | Kakao Developers 설정하기

감사합니다 좋은 하루 되세요 :slight_smile:

안녕하세요 오픈채팅 필터 관련한 내부건의는 진행이 됐나요?

네, 내부 요청 드렸고 개발 일정은 확정드릴 수 없는 상태입니다.
구체적인 내용 확인되면 공유드리겠습니다.

@07982acd428bfcd589fb

안녕하세요.

아래 가이드와 같이 금일 배포 예정입니다.
참고 부탁드려요.

https://developers.kakao.com/docs/latest/ko/message/callback#success-parameter

헉 정말 감사합니다 ㅠ

1개의 좋아요