상담톡 실제 수신 payload에 msgType 필드가 포함되지 않는 이슈 문의

안녕하세요. 비즈고 상담톡 v3 Sandbox 웹훅 연동과 관련하여 문의드립니다.

Sandbox 환경에서 텍스트, 이미지, 파일 메시지를 각각 전송하여 /cstalk/message 웹훅의 실제 payload를 확인했습니다.

세 요청 모두 저희 서버까지 정상 도달했으나, 공식 문서상 필수 필드로 안내된 msgType이 포함되지 않았습니다. 또한 contents 구조가 메시지 종류에 따라 서로 다르게 전달되고 있어 정확한 계약 확인을 부탁드립니다.

확인된 요청 정보는 아래와 같습니다.

텍스트 메시지

  • 수신 시각: 2026-06-26 17:52:48 KST

  • msgKey: 20260626~

  • serviceType: CSTALK

  • requestType: message

  • senderKey: senderKey 존재 확인

실제 수신 payload:

{
"msgKey": "20260626\~",
"requestType": "message",
"serviceType": "CSTALK",
"senderKey": "senderKey 정상",
"userKey": "userKey 정상",
"reportTime": "2026-06-26T17:52:53.828+09:00",
"sendTime": "2026-06-26T17:52:48.769+09:00",
"contents": \[
"테스트"
\],
"kakaoTime": "2026-06-26T17:52:48.747+09:00"
}

이미지 메시지

이미지 메시지는 contentsurl, comment를 가진 객체 배열로 전달됐으며 마찬가지로 msgType은 없었습니다.

실제 수신 payload:

{
  "msgKey": "20260629~",
  "requestType": "message",
  "serviceType": "CSTALK",
  "senderKey": "senderKey 정상",
  "userKey": "userKey 정상",
  "sendTime": "2026-06-29T11:41:18.933+09:00",
  "reportTime": "2026-06-29T11:41:18.935+09:00",
  "kakaoTime": "2026-06-29T11:41:18.915+09:00",
  "contents": [
    {
      "url": "https://talk.kakaocdn.net/.../~.jpg?...",
      "comment": ""
    }
  ]
}

파일 메시지

파일 메시지도 이미지와 동일하게 url, comment 객체 배열로 전달됐습니다. 별도의 파일명, 파일 크기, MIME 타입 및 msgType은 포함되지 않았으며 URL 확장자만 .pdf로 확인됐습니다.

실제 수신 payload:

{
  "msgKey": "20260629~",
  "requestType": "message",
  "serviceType": "CSTALK",
  "senderKey": "senderKey 정상",
  "userKey": "userKey 정상",
  "sendTime": "2026-06-29T11:42:52.005+09:00",
  "reportTime": "2026-06-29T11:42:52.007+09:00",
  "kakaoTime": "2026-06-29T11:42:51.984+09:00",
  "contents": [
    {
      "url": "https://talk.kakaocdn.net/.../~.pdf?...",
      "comment": ""
    }
  ]
}

======

공식 문서상 /cstalk/messagemsgType은 필수 필드로 안내되어 있지만, 실제 Sandbox 요청에는 해당 필드가 포함되지 않았습니다.

======

번거로우시겠지만 아래 사항을 확인 부탁드립니다.

  1. Sandbox 상담톡 v3 /cstalk/message에서 msgType이 누락되는 것이 현재 정상 규격인지

  2. 운영 환경에서도 msgType이 동일하게 누락될 수 있는지

  3. msgType이 없을 경우 텍스트·이미지·파일 등의 메시지 유형을 어떤 필드로 판별해야 하는지

  4. 문서에는 contents가 Object Array로 안내되어 있는데, 텍스트 메시지는 실제처럼 문자열 배열(["테스트"])로 전달되는 것이 맞는지. 텍스트 메시지의 contents가 문자열 배열로 전달되는 것이 정상인지

  5. 가능하시다면 텍스트·이미지·파일·동영상·오디오 별 공식 실제 payload 예시를 제공받을 수 있는지 궁금합니다. 이미지·파일 메시지의 contents는 항상 {url, comment} 객체 배열로 전달되는지도 부탁드립니다.

  6. 파일명, 파일 크기 및 MIME 타입을 제공받을 수 있는 별도 필드가 있는지

참고로 /reference, /expired_session, /result 웹훅은 동일한 Sandbox 환경에서 정상 수신 및 HTTP 200 응답을 확인했습니다.

감사합니다.

안녕하세요, 확인 요청 주신 내용 하나씩 답변드립니다 :blush:

먼저 짚어드리면, 현재 샌드박스 환경과 운영 환경 사이에 버전 차이가 있어 일부 동작이 다르게 나타나고 있었습니다. 관련해 아래와 같이 안내드립니다.

1. 샌드박스에서 msgType이 누락되는 것이 정상 규격인지
정상 규격이 아니라, 샌드박스 환경에서 msgType이 누락되던 버그였습니다. 현재는 패치를 적용하여 정상적으로 내려가도록 조치했습니다.

2. 운영 환경에서도 동일하게 누락될 수 있는지
운영 환경에는 해당 이슈가 없으며, msgType이 정상적으로 포함되어 전달됩니다. 샌드박스 역시 패치가 완료되어 이제는 동일하게 정상 응답을 받으실 수 있습니다.

3. msgType이 없을 경우 메시지 유형 판별 방법
위와 같이 msgType이 정상적으로 내려가도록 수정되었으므로, msgType 값을 기준으로 텍스트·이미지·파일 등의 유형을 판별하시면 됩니다.

4. 텍스트 메시지의 contents가 문자열 배열(["테스트"])로 전달되는 것이 맞는지
말씀하신 내용이 맞습니다. 문서에 contents가 Object Array로 기재되어 있던 것은 문서 오기이며, 실제로는 문자열 배열로 전달되는 것이 정상입니다. 해당 타입 표기는 수정하여 반영하겠습니다.

5. 메시지 유형별 공식 payload 예시 / 이미지·파일 contents 형식
유형별(텍스트·이미지·파일·동영상·오디오) 실제 payload 예시는 필요하시면 제공해 드릴 수 있습니다. 다만 한 가지 정정드리면, 이미지·파일 메시지의 contents{url, comment} 객체 배열이 아니라 문자열 배열 형태로 전달됩니다. (예시가 필요하시면 회신 주세요. 정리해서 전달드리겠습니다.)

6. 파일명·파일 크기·MIME 타입 제공 필드 여부
이를 위한 별도 필드는 제공되지 않으며, 전달되는 url을 통해 해당 정보를 확인하실 수 있습니다.

위 내용 외에 더 궁금하신 점 있으시면 언제든 문의해 주세요. 감사합니다 :folded_hands:

감사합니다!
msgType 패치 조치해주신 후 텍스트, 이미지, 파일 모두 msgType 정상처리 됩니다.

다만 이미지/파일의 contents는 문자열 배열이 아니라 여전히 {url, comment} 객체 배열로 왔습니다. 샌드박스와 운영 환경의 차이인지 확인 부탁드립니다!

=========

또한 [https://sandbox-mars.ibapi.kr/api/comm/v1/file/cstalk/image] 경로로 이미지 업로드 요청 시 4.86MB 파일임에도 불구하고 413 Request Entity Too Large 로 거부되고 있습니다.

공식 문서: 이미지 “최대 5MB” 제한으로 알고 있는데 샌드박스 환경 확인 부탁드리겠습니다.
감사합니다.