문의 시, 디벨로퍼스 앱ID를 알려주세요.
App ID: 635927 (오늘의집_test)
안녕하세요,
카카오톡 공유 Javascript SDK를 사용하여 사용자가 친구에게 메시지를 공유하고 callback을 통해 서버에서 사용자에게 보상을 주는 서비스를 구현하고 있습니다.
테스트 중, 9명의 친구에게 한번에 공유를 하면 9개의 callback이 아닌, 일부 callback만 수신되는 경우가 있는데요. (다 될 때도, 6명, 8명만 될 때도 있습니다.)
혹시 callback 발송이 제대로 되었는지 체크하는 방법이나, 해당 케이스에 대한 대응방안이 있을까요?
kakaoAPI.Share.sendCustom({
templateId: 114757,
templateArgs: {
THUMBNAIL_LARGE: activeRound.round.shareImageUrl,
},
serverCallbackArgs: {
domain: 'offerwall',
service: 'auction',
offerId: auctionOffer.id,
missionId: mission.id,
userId: loginUser?.id,
clientId: getCookie('bp-cid'),
transactionId: encodeURIComponent(mission.transactionId),
},
});
위와 같은 형식의 코드로 발송하고 있습니다.
감사합니다.
안녕하세요.
콜백의 경우 서비스측 응답이 3초 이상 진행되면 타임아웃으로 처리되는데요
간헐적으로 3초 이상 소요되어 타임아웃 처리되고 있는점 참고 부탁드립니다.
안녕하세요. 3초이상 진행된다는것은 설정한 콜백 서버의 요청에서 3초안에 200ok를 반환하지 않으면 타임아웃 처리가 된다는 의미실까요?
아니면 카카오톡 공유하기를 진행해도, 공유한 정보에 대한 callback 요청이 일부 누락될수 있다는것일까요? (카카오톡 서버의 문제로)
저희쪽에 callback 요청이 들어온 로그가 남고있지 않아 문의드립니다 
안녕하세요.
서버에서 3초내 200 응답하지 않은경우 타임아웃 처리 됩니다.
서비스측에 로그가 남아 있지 않다고 하신 것으로 보아 카카오측 요청이 거부되는 것으로 보입니다.
방화벽 등을 확인해 보시면 좋을것 같습니다.
참고로 현재 callback에 사용되는 ip 대역은 아래와 같습니다.
211.249.203.104/24
220.64.110.190/25
220.64.111.158/25
220.64.109.84/31
203.217.230.3/26
안녕하세요 woody.ho 님 ~! 답변감사합니다.
상황에 대한 설명이 부족했던것 같아 더 자세히 설명드리자면, 전체 요청에 대해 로그가 남지않는것은아닙니다.
카카오톡 IP 대역을 추가해두어서 서비스에서 대다수의 callback 요청은 정상적으로 받고있습니다.
- 다만 한번의 공유하기 액션으로 다수의 인원에게 공유할경우
- 일부 유저에 대한 callback 이 오지않는게 문제인 상황입니다.
예를들어 아래와 같은 상황입니다.
- 한번의 공유하기 액션으로 a,b,c,d 유저에게 공유할경우
- 원래대로라면 a,b,c,d 유저에게 공유한 callback 요청 (저희가 설정한 callback url 로 api요청) 이 4번 들어와야하는데,
- 저희 쪽 api에 도달한 로그가 간헐적으로 3번(또는 그이하)만 찍힌다 의미였습니다.
- ex) a,b,c 유저에게 공유한 callback 요청을 들어오고, d 유저에게 공유한 callback 은 전송안됨
말씀해주신 ip대역으로 수정해보았으나, 동일 현상이 재현되어 문의드립니다 !
혹시 제가 누락한 ip가 있을까요?
빠른 피드백 주셔서 다시한번 감사합니다!
기존 허용 ip 대역
카카오
- 211.249.203.104/29
- 211.249.203.168/29
- 220.64.110.190/32
- 220.64.110.222/32
- 220.64.111.158/32
- 220.64.111.188/32
- 220.64.111.219/32
- 220.64.111.244/30
- 220.64.109.84/31
- 203.217.230.0/29
- 203.217.230.29/32
수정 후 허용 ip 대역
카카오
- 211.249.203.104/24
- 220.64.110.190/25
- 220.64.111.158/25
- 220.64.109.84/31
- 203.217.230.3/26
콜백이 전달되지 않았다고 확인되시는 transactionId 값 제공 가능하실까요?
Woody.ho님, 안녕하세요.
다시 확인해본 결과, 저희 측에서 요청을 전달받은 것이 확인되었습니다.
늦은 시간까지 번거롭게 해드려 죄송합니다.
빠르게 응답해 주신 덕분에 이슈를 하루 만에 해결할 수 있었습니다.
다시 한번 깊이 감사드립니다.
평안한 저녁 되시길 바라겠습니다! 
1개의 좋아요