CS Talk

CS Talk is the Kakao Biz Message channel that lets you exchange 1:1 support messages with customers over a KakaoTalk channel and manage support sessions and operational settings alongside them.

Run a support conversation

Send a Plain message

POST/api/comm/v1/cstalk/plain

Sends a CS Talk plain message. Depending on msgType, you can send TEXT, IMAGE, VIDEO, AUDIO, and FILE.

Body Parameters

{}JSON

userKey

RequiredString

The user key.

senderKey

RequiredString

The sender profile key.

msgType

RequiredString

The message type.

message

RequiredString

The message to deliver to the user. Up to 1,000 characters.

attachment

Object

The attachment message object. Used with the IMAGE, VIDEO, AUDIO, and FILE types.

ref

String

A reference field. Up to 200 characters; it is returned in the send-request result webhook.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/cstalk/plain" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "userKey":"{userKey}",
6 "senderKey":"{senderKey}",
7 "msgType":"TEXT",
8 "message":"상담 안내 메시지입니다.",
9 "ref":"client-ref-001"
10}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "msgKey":"20260424104234546POM101182450000",
11 "ref":"client-ref-001"
12 }
13}

Send a Rich message

POST/api/comm/v1/cstalk/rich

KAKAO_CERT (identity verification) requires a channel whitelist request

  • To send with msgType set to KAKAO_CERT, the KakaoTalk channel must be registered on the identity verification whitelist in advance.
  • Submit the request through a general inquiry or your sales representative.
  • The request must include evidence of whether CI (Connecting Information) is used and the channel details.

Sends a CS Talk rich message. It supports the TEXT, IMAGE, WIDE, ITEM_LIST, WIDE_ITEM_LIST, CAROUSEL_FEED, and PERSONAL types.

Body Parameters

{}JSON

userKey

RequiredString

The user key.

senderKey

RequiredString

The sender profile key.

msgType

RequiredString

The message bubble type.

message

String

The message to deliver to the user.

description

String

An additional message to deliver to the user.

header

String

The header.

attachment

Object

The message attachment information.

carousel

Object

The carousel information. Required for the CAROUSEL_FEED type.

autoAnswer

String

The automatic system response message.

lock

Boolean

Whether it is a secure message.

certExpiry

Integer

The identity verification validity period in minutes. Required when msgType is KAKAO_CERT.

ref

String

A reference field. Up to 200 characters; it is returned in the send-request result webhook.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/cstalk/rich" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "userKey":"{userKey}",
6 "senderKey":"{senderKey}",
7 "msgType":"TEXT",
8 "message":"상담 안내 메시지입니다.",
9 "attachment": {
10 "buttons": [{
11 "type":"WL",
12 "name":"바로가기",
13 "urlMobile":"https://m.example.com",
14 "urlPc":"https://www.example.com"
15 }]
16 },
17 "ref":"client-ref-001"
18}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "msgKey":"20260424104234546POM101182450000",
11 "ref":"client-ref-001"
12 }
13}

End a support conversation

POST/api/comm/v1/cstalk/end

Ends the currently open support session.

Body Parameters

{}JSON

userKey

RequiredString

The user key.

senderKey

RequiredString

The sender profile key.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/cstalk/end" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "userKey":"{userKey}",
6 "senderKey":"{senderKey}"
7}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "msgKey":"20260424104234546POM101182450000"
12 },
13 "ref":"client-ref-001"
14 }
15}

End a support conversation and hand over to the bot

POST/api/comm/v1/cstalk/endWithBot

Ends the support session and then runs the bot event block.

Body Parameters

{}JSON

userKey

RequiredString

The user key.

senderKey

RequiredString

The sender profile key.

botEvent

String

The name of the bot event to run.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/cstalk/endWithBot" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "userKey":"{userKey}",
6 "senderKey":"{senderKey}",
7 "botEvent":"상담종료"
8}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "msgKey":"20260424104234546POM101182450000"
12 },
13 "ref":"client-ref-001"
14 }
15}

Block a user from receiving messages

POST/api/comm/v1/center/cstalk/profile/user/block

Blocks a specific user from receiving CS Talk messages.

Body Parameters

{}JSON

cstalk

RequiredObject

The CS Talk request object.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/cstalk/profile/user/block" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "cstalk": {
6 "senderKey":"{senderKey}",
7 "userKey":"{userKey}"
8 }
9}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Unblock a user from receiving messages

POST/api/comm/v1/center/cstalk/profile/user/unblock

Unblocks a blocked user from receiving CS Talk messages.

Body Parameters

{}JSON

cstalk

RequiredObject

The CS Talk request object.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/cstalk/profile/user/unblock" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "cstalk": {
6 "senderKey":"{senderKey}",
7 "userKey":"{userKey}"
8 }
9}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Look up a session

GET/api/comm/v1/center/cstalk/session

Looks up the current support session by user key.

Query Parameters

QUERY

userKey

RequiredString

The user key.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/cstalk/session?userKey=userKeySample" \
2 -H "Authorization: {ApiKey}"

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "session": {
12 "sessionId": 1,
13 "senderKey":"{senderKey}",
14 "startedType":"UM",
15 "startedAt":"2025-09-24T11:22:08.557",
16 "expiredType":"AE",
17 "expiredAt":"2025-10-25T10:00:00"
18 }
19 }
20 }
21}

Look up KakaoTalk certification status

GET/api/comm/v1/center/cstalk/cert/status

Looks up the progress of a customer's KakaoTalk certification (electronic signature) by certification transaction ID.

Query Parameters

QUERY

certTxId

RequiredString

The certification transaction ID. Kakao issues it when the certification is requested.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/cstalk/cert/status?certTxId=certTxIdSample" \
2 -H "Authorization: {ApiKey}"

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "cert": {
12 "txId":"{certTxId}",
13 "sessionId": 1,
14 "signStatus":"COMPLETED",
15 "createdAt":"2026-09-10T10:00:00",
16 "viewedAt":"2026-09-10T10:00:30",
17 "completedAt":"2026-09-10T10:01:12",
18 "expiredAt":"2026-09-10T10:10:00"
19 }
20 }
21 }
22}

Receive support messages (webhook)

Webhook receipt policy

  • A webhook is the method by which the Bizgo API delivers changes or inbound data to a URL you registered.
  • CS Talk, message report, and MO webhooks are all processed normally only when they receive HTTP 200 and a response that matches the specification.
  • If there is no response or the response does not match the specification, it is treated as a failure, and a failure is retried up to 3 times.
  • If every retry fails, that webhook delivery is treated as failed and is not delivered again.
  • The connect timeout and the read timeout are each processed on a 5-second basis.
  • For webhook service IPs and security requirements, see Firewall and security protocol.

Common webhook fields

  • msgKey is present on all seven types, but it does not mean the same thing. The msgKey on result is the one returned by the send API, while the msgKey on the six inbound types is issued per event and does not correspond to a send.
  • Correlate sessions with sessionId, and match sends with the msgKey and ref on result.
  • sendTime is when Bizgo received the event, and reportTime is when Bizgo sent the webhook.
  • kakaoTime is the time Kakao supplied. It is the CS Talk server's time, not the time the user typed the message.
  • The time format is yyyy-MM-dd'T'HH:mm:ss.SSS+09:00 (KST). When the source value is missing, an empty string is delivered.
  • Fields without a value are omitted from the body, so the set of keys differs per requestType.
  • A retry can deliver the same event again, so make your handling idempotent on msgKey.
  • Delivery order is not guaranteed. Depending on network conditions and payload size, events can arrive out of order.

Support sessions and the user key

  • A support session is a prerequisite for an agent to send messages to a customer; an agent can only send messages while a session exists.
  • A session is kept for 30 days after the last message received from the KakaoTalk user, and is extended every time a customer message arrives.
  • The session end time is set to 30 days from the next exact hour after the time the last message was received.
  • A session ends when the agent ends the support conversation or blocks the user, when the user enters !종료 ("end"), leaves the chatroom, or blocks the channel, or when 30 days have passed since the last message was received.
  • userKey is the key that identifies a specific KakaoTalk user, and it is delivered together with the CS Talk message on receipt.
  • userKey must be 1 to 20 characters. An empty value or more than 20 characters returns A507.
  • userKey is valid per KakaoTalk channel, so the same user gets a different user key on a different channel.
  • userKey is case-sensitive, and it changes to a different key if the user leaves KakaoTalk and signs up again.

Receive a user message

POST{your webhook URL}/cstalk/message

The webhook that receives user messages. It delivers the message data the user sent to the customer webhook URL you registered.

Body Parameters

{}JSON

msgKey

RequiredString

The message key.

userKey

RequiredString

The CS Talk user key.

senderKey

RequiredString

The key of the sender profile that received the message.

serviceType

RequiredString

The service type.

msgType

RequiredString

The message type.

requestType

String

The request type.

sendTime

RequiredString

The send time. Delivered in ISO 8601 format.

reportTime

RequiredString

The report time. Delivered in ISO 8601 format.

kakaoTime

String

The time the CS Talk server delivered the message. It is not the time the user actually typed it.

sessionId

String

The support session ID.

content

String

The body field kept for backward compatibility.

extra

String

Additional information delivered by Kakao.

contents

Object Array

The array of message data the user sent. The content field is no longer provided after January 2026, so use contents.

attachment

String

The area that additionally delivers the full message as a txt file URL when the user's message exceeds 4,000 characters.

Returns

code

String

The webhook processing result code.

result

String

The webhook processing result message.

Request example

1curl -X POST "{고객 Webhook URL}/cstalk/message" \
2 -H "Accept: application/json" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "msgKey":"20260424104234546POM101182450000",
6 "userKey":"{userKey}",
7 "senderKey":"{senderKey}",
8 "serviceType":"CSTALK",
9 "msgType":"TEXT",
10 "requestType":"message",
11 "sendTime":"2026-04-24T10:42:34.546+09:00",
12 "reportTime":"2026-04-24T10:42:35.120+09:00",
13 "kakaoTime":"2026-04-24T10:42:35.000+09:00",
14 "contents": [{
15 "comment":"상담 문의 내용입니다."
16 }]
17}'

Response example

1{
2 "code":"A000",
3 "result":"Success"
4}

Receive user meta information

POST{your webhook URL}/cstalk/reference

Delivers the metadata from when the user requested a support connection to the customer webhook URL you registered.

Body Parameters

{}JSON

msgKey

RequiredString

The message key.

userKey

RequiredString

A key that identifies a specific KakaoTalk user. It is valid per KakaoTalk channel and is case-sensitive.

senderKey

RequiredString

The key of the sender profile that received the message.

serviceType

RequiredString

The service type.

msgType

RequiredString

The message type.

requestType

RequiredString

The request type.

sendTime

RequiredString

The send time. Delivered in ISO 8601 format.

reportTime

RequiredString

The report time. Delivered in ISO 8601 format.

kakaoTime

String

The time the CS Talk server delivered the message. It is not the time the user actually typed it.

appUserId

Number

The KakaoTalk app user ID.

sessionId

String

The support session ID. An agent can send messages once a support session exists.

reference

Object

The current metadata you configured.

lastReference

Object

The most recent metadata delivered when there is no current metadata.

Returns

code

String

The webhook processing result code.

result

String

The webhook processing result message.

Request example

1curl -X POST "{고객 Webhook URL}/cstalk/reference" \
2 -H "Accept: application/json" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "msgKey":"20260424104234546POM101182450000",
6 "userKey":"{userKey}",
7 "senderKey":"{senderKey}",
8 "serviceType":"CSTALK",
9 "msgType":"REFERENCE",
10 "requestType":"reference",
11 "sendTime":"2026-04-24T10:42:34.546+09:00",
12 "reportTime":"2026-04-24T10:42:35.120+09:00",
13 "kakaoTime":"2026-04-24T10:42:35.000+09:00",
14 "sessionId":"{sessionId}",
15 "reference": {
16 "extra":"orderNo=1234"
17 },
18 "lastReference": {
19 "extra":"orderNo=1233",
20 "bot":"false",
21 "bot_event":" 상담시작",
22 "created_at":"2026-04-23T09:30:00.000+09:00"
23 }
24}'

Response example

1{
2 "code":"A000",
3 "result":"Success"
4}

Receive session expiry

POST{your webhook URL}/cstalk/expired_session

Delivers session end information to the customer webhook URL you registered when the support session ends.

Body Parameters

{}JSON

msgKey

RequiredString

The message key.

userKey

RequiredString

The CS Talk user key.

senderKey

RequiredString

The key of the sender profile that received the message.

serviceType

RequiredString

The service type.

msgType

RequiredString

The message type.

requestType

RequiredString

The request type.

sendTime

RequiredString

The send time. Delivered in ISO 8601 format.

reportTime

RequiredString

The report time. Delivered in ISO 8601 format.

kakaoTime

String

The time the CS Talk server delivered the message. It is not the time the user actually typed it.

sessionId

String

The ID of the ended support session.

Returns

code

String

The webhook processing result code.

result

String

The webhook processing result message.

Request example

1curl -X POST "{고객 Webhook URL}/cstalk/expired_session" \
2 -H "Accept: application/json" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "msgKey":"20260424104234546POM101182450000",
6 "userKey":"{userKey}",
7 "senderKey":"{senderKey}",
8 "serviceType":"CSTALK",
9 "msgType":"SESSION",
10 "requestType":"expired_session",
11 "sendTime":"2026-04-24T10:42:34.546+09:00",
12 "reportTime":"2026-04-24T10:42:35.120+09:00",
13 "kakaoTime":"2026-04-24T10:42:35.000+09:00",
14 "sessionId":"{sessionId}"
15}'

Response example

1{
2 "code":"A000",
3 "result":"Success"
4}

Receive read information

POST{your webhook URL}/cstalk/seen_info

When read information is delivered

  • It is delivered only while the support session is connected, and only for up to 24 hours after the message was sent.
  • It is not real time — expect a delay.
  • To receive this webhook, contact Kakao Business Lounge separately.

Delivers user read information to the customer webhook URL you registered.

Body Parameters

{}JSON

msgKey

RequiredString

The message key.

userKey

RequiredString

The CS Talk user key.

senderKey

RequiredString

The key of the sender profile that received the message.

serviceType

RequiredString

The service type.

msgType

RequiredString

The message type.

requestType

RequiredString

The request type.

sendTime

RequiredString

The send time. Delivered in ISO 8601 format.

reportTime

RequiredString

The report time. Delivered in ISO 8601 format.

kakaoTime

String

The time the CS Talk server delivered the message. It is not the time the user actually typed it.

Returns

code

String

The webhook processing result code.

result

String

The webhook processing result message.

Request example

1curl -X POST "{고객 Webhook URL}/cstalk/seen_info" \
2 -H "Accept: application/json" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "msgKey":"20260424104234546POM101182450000",
6 "userKey":"{userKey}",
7 "senderKey":"{senderKey}",
8 "serviceType":"CSTALK",
9 "msgType":"SEEN",
10 "requestType":"seen_info",
11 "sendTime":"2026-04-24T10:42:34.546+09:00",
12 "reportTime":"2026-04-24T10:42:35.120+09:00",
13 "kakaoTime":"2026-04-24T10:42:35.000+09:00"
14}'

Response example

1{
2 "code":"A000",
3 "result":"Success"
4}

Receive personal information

POST{your webhook URL}/cstalk/personal_info

Delivers the personal information provided after the user consents to its collection to the customer webhook URL you registered.

Body Parameters

{}JSON

msgKey

RequiredString

The message key.

userKey

RequiredString

The CS Talk user key.

senderKey

RequiredString

The key of the sender profile that received the message.

serviceType

RequiredString

The service type.

msgType

RequiredString

The message type.

requestType

RequiredString

The request type.

sendTime

RequiredString

The send time. Delivered in ISO 8601 format.

reportTime

RequiredString

The report time. Delivered in ISO 8601 format.

kakaoTime

String

The time the CS Talk server delivered the message. It is not the time the user actually typed it.

sessionId

String

The support session ID.

personalInfo

Object

The personal information the user consented to.

Returns

code

String

The webhook processing result code.

result

String

The webhook processing result message.

Request example

1curl -X POST "{고객 Webhook URL}/cstalk/personal_info" \
2 -H "Accept: application/json" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "msgKey":"20260424104234546POM101182450000",
6 "userKey":"{userKey}",
7 "senderKey":"{senderKey}",
8 "serviceType":"CSTALK",
9 "msgType":"PERSONAL",
10 "requestType":"personal_info",
11 "sendTime":"2026-04-24T10:42:34.546+09:00",
12 "reportTime":"2026-04-24T10:42:35.120+09:00",
13 "kakaoTime":"2026-04-24T10:42:35.000+09:00",
14 "sessionId":"{sessionId}",
15 "personalInfo": {
16 "phone_number":"0100000000",
17 "nickname":"홍길동"
18 }
19}'

Response example

1{
2 "code":"A000",
3 "result":"Success"
4}

Receive the identity verification result

POST{your webhook URL}/cstalk/cert_result

Do not store certResult

  • certResult is the identity verification result encrypted with AES256/CTR/NoPadding and Base64. Decrypting it yields the name, phone number, birthday, gender, nationality, and CI.
  • Kakao policy requires that verification data is never stored — discard it as soon as you have identified the user.
  • Mask it on your side as well so the body never lands in logs, APM, or error reports.
  • Kakao delivers the decryption key separately by email. Both the verification data and the key are Base64 encoded.
  • The result is delivered regardless of the support session state, and ci is provided only to sender profiles that passed the handling review.

The webhook that receives identity verification results. When the KakaoTalk identity verification (electronic signature) requested with a KAKAO_CERT bubble completes, the result is delivered to the registered webhook URL.

Body Parameters

{}JSON

msgKey

RequiredString

The message key.

userKey

RequiredString

The user key.

senderKey

RequiredString

The sender profile key.

serviceType

RequiredString

The service type.

msgType

RequiredString

The message type.

requestType

RequiredString

The request type. It is delivered as cert_result.

sendTime

RequiredString

The send time. (ISO 8601, yyyy-MM-dd'T'HH:mm:ss.SSS).

reportTime

RequiredString

The report time. (ISO 8601, yyyy-MM-dd'T'HH:mm:ss.SSS).

kakaoTime

String

The time the Kakao server received it.

sessionId

String

The support session ID.

certTxId

RequiredString

The certification transaction ID. It is the same value as certTxId in the certification status API.

certResult

RequiredString

The encrypted identity verification result. Decrypting it yields the name, phone number, birthday, gender, nationality, and CI.

Returns

code

String

The webhook processing result code.

result

String

The webhook processing result message.

Request example

1curl -X POST "{고객 Webhook URL}/cstalk/cert_result" \
2 -H "Accept: application/json" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "msgKey":"20260424104234546POM101182450000",
6 "userKey":"{userKey}",
7 "senderKey":"{senderKey}",
8 "serviceType":"CSTALK",
9 "msgType":"KAKAO_CERT",
10 "requestType":"cert_result",
11 "sendTime":"2026-04-24T10:42:34.546+09:00",
12 "reportTime":"2026-04-24T10:42:35.120+09:00",
13 "kakaoTime":"2026-04-24T10:42:35.000+09:00",
14 "sessionId":"{sessionId}",
15 "certTxId":"{certTxId}",
16 "certResult":"amI1a0dQTVVRSm1YTk9BNW9tYWpXdz09"
17 }'

Response example

1{
2 "code":"A000",
3 "result":"Success"
4}

Receive the delivery result

POST{your webhook URL}/cstalk/result

Delivers the result of a CS Talk message send request to the customer webhook URL you registered.

Body Parameters

{}JSON

msgKey

RequiredString

The message key.

userKey

RequiredString

The CS Talk user key.

senderKey

RequiredString

The key of the sender profile that received the message.

serviceType

RequiredString

The service type.

msgType

String

The message type.

requestType

RequiredString

The request type. One of write, end, and endwithbot.

sendTime

RequiredString

The send time. Delivered in ISO 8601 format.

reportTime

RequiredString

The report time. Delivered in ISO 8601 format.

reportCode

String

The send result code. It is the Kakao response code converted to a Bizgo code.

reportText

String

The report message.

kakaoResCreatedAt

String

The time the Kakao response was created. (ISO 8601).

ref

String

The reference field you passed in the request.

Returns

code

String

The webhook processing result code.

result

String

The webhook processing result message.

Request example

1curl -X POST "{고객 Webhook URL}/cstalk/result" \
2 -H "Accept: application/json" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "msgKey":"20260424104234546POM101182450000",
6 "userKey":"{userKey}",
7 "senderKey":"{senderKey}",
8 "serviceType":"CSTALK",
9 "msgType":"TEXT",
10 "requestType":"write",
11 "sendTime":"2026-04-24T10:42:34.546+09:00",
12 "reportTime":"2026-04-24T10:42:35.120+09:00",
13 "reportCode":"A000",
14 "reportText":"Success",
15 "ref":"client-ref-001"
16}'

Response example

1{
2 "code":"A000",
3 "result":"Success"
4}

Upload files

Upload an image

POST/api/comm/v1/file/cstalk/image

Uploads a CS Talk image file. It supports jpg, png, and gif, and you can register files up to 5MB.

Body Parameters

FORM-DATA

file

RequiredBinary

The image file to upload.

fileKey

String

The key that identifies the uploaded file. If you omit it, the server generates one.

imageName

String

The name of the uploaded file. If you omit it, the file name without its extension is used.

senderKey

RequiredString

The Kakao Biz Message sender profile key.

imageType

String

The image type. Enter rich when uploading an image for a Rich message.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/cstalk/image" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: multipart/form-data" \
4 -F "file=@sample.jpg" \
5 -F "senderKey={senderKey}" \
6 -F "imageType=rich"

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "imgUrl":"https://mud-kage.kakao.com/.../cstalk_image.jpg"
12 }
13 }
14}

Upload a file

POST/api/comm/v1/file/cstalk

The upload size limit differs by environment

Production accepts files up to 300MB, but the Sandbox environment allows only 10MB.
Files larger than 10MB cannot be tested in the Sandbox, so verify them in production.

Uploads a CS Talk attachment of the FILE, AUDIO, or VIDEO type.

Body Parameters

FORM-DATA

file

RequiredBinary

The binary of the file to upload.

fileKey

String

The key that identifies the uploaded file. If you omit it, the server generates one.

imageName

String

The name of the uploaded file. If you omit it, the file name without its extension is used.

senderKey

RequiredString

The Kakao Biz Message sender profile key.

fileType

String

The file type. file: general file, audio: audio file, video: video file.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/cstalk" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: multipart/form-data" \
4 -F "file=@sample.pdf" \
5 -F "senderKey={senderKey}" \
6 -F "fileType=file"

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "fileUrl":"https://mud-kage.kakao.com/.../cstalk_file.pdf",
12 "fileName":"sample.pdf",
13 "size":"102400"
14 }
15 }
16}

Manage the channel

Activate CS Talk

POST/api/comm/v1/center/cstalk/sender/activate

Enables CS Talk.

Body Parameters

{}JSON

cstalk

RequiredObject

The CS Talk request object.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/cstalk/sender/activate" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "cstalk": {
6 "senderKey":"{senderKey}",
7 "committalCompany":"비즈고"
8 }
9}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Deactivate CS Talk

POST/api/comm/v1/center/cstalk/sender/deactivate

Disables CS Talk.

Body Parameters

{}JSON

cstalk

RequiredObject

The CS Talk request object.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/cstalk/sender/deactivate" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "cstalk": {
6 "senderKey":"{senderKey}",
7 "committalCompany":"비즈고"
8 }
9}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Activate the chat capability

POST/api/comm/v1/center/cstalk/sender/chat/activate

Enables the chat feature of the KakaoTalk channel.

Body Parameters

{}JSON

cstalk

RequiredObject

The CS Talk request object.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/cstalk/sender/chat/activate" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "cstalk": {
6 "senderKey":"{senderKey}"
7 }
8}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Deactivate the chat capability

POST/api/comm/v1/center/cstalk/sender/chat/deactivate

Disables the chat feature of the KakaoTalk channel.

Body Parameters

{}JSON

cstalk

RequiredObject

The CS Talk request object.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/cstalk/sender/chat/deactivate" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "cstalk": {
6 "senderKey":"{senderKey}"
7 }
8}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Look up support hours

GET/api/comm/v1/center/cstalk/consult/time

Looks up the support hours.

Query Parameters

QUERY

senderKey

RequiredString

The Kakao Biz Message sender profile key.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/cstalk/consult/time?senderKey={senderKey}" \
2 -H "Authorization: {ApiKey}"

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "cstalk": {
12 "weekTimeTable": [{
13 "day":"mon",
14 "startAt":"0900",
15 "endAt":"1800"
16 }]
17 }
18 }
19 }
20}

Save support hours

POST/api/comm/v1/center/cstalk/consult/time

Saves the support hours for the KakaoTalk channel. Once registered, hours can only be updated, and they are deleted if you disable CS Talk. The hours appear on the KakaoTalk channel home, and the chat feature must be enabled to view the configured hours.

Body Parameters

{}JSON

cstalk

RequiredObject

The CS Talk request object.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/cstalk/consult/time" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "cstalk": {
6 "senderKey":"{senderKey}",
7 "weekTimeTable": [{
8 "day":"mon",
9 "startAt":"0900",
10 "endAt":"1800"
11 }]
12 }
13}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Look up system messages

GET/api/comm/v1/center/cstalk/system/message

Looks up the list of system messages.

Query Parameters

QUERY

senderKey

RequiredString

The Kakao Biz Message sender profile key.

id

String

The system message ID. Enter it to look up a specific message only.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/cstalk/system/message?senderKey={senderKey}" \
2 -H "Authorization: {ApiKey}"

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "systemMessages": [{
12 "id":"7678",
13 "name":"상담 시작 안내",
14 "status":"A",
15 "createdAt":"2025-08-18 16:40:00",
16 "modifiedAt":"2025-08-18 16:40:00",
17 "inspectStatus":"REG",
18 "inspectRequestAt":"2025-08-27 13:16:59",
19 "inspectedAt":"",
20 "messages": [{
21 "messageType":"ST",
22 "content":"상담을 시작합니다.",
23 "buttons": [{
24 "ordering": 1,
25 "type":"WL",
26 "name":"바로가기",
27 "urlMobile":"https://m.example.com",
28 "urlPc":"https://www.example.com"
29 }]
30 }],
31 "comments": [{
32 "id":"101",
33 "content":"검수 요청이 등록되었습니다.",
34 "userName":"비즈고",
35 "createdAt":"2025-08-27 13:17:02",
36 "status":"INQ"
37 }]
38 }]
39 }
40 }
41}

Register a system message

POST/api/comm/v1/center/cstalk/system/message

Registers a system message.

Body Parameters

{}JSON

cstalk

RequiredObject

The CS Talk request object.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/cstalk/system/message" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "cstalk": {
6 "senderKey":"{senderKey}",
7 "name":"상담 시작 안내",
8 "messages": [{
9 "messageType":"ST",
10 "content":"상담을 시작합니다.",
11 "buttons": [{
12 "ordering": 1,
13 "type":"WL",
14 "name":"바로가기",
15 "urlMobile":"https://m.example.com",
16 "urlPc":"https://www.example.com"
17 }]
18 }]
19 }
20}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "systemMessage": {
12 "id":"7678"
13 }
14 }
15 }
16}

Delete a system message

DELETE/api/comm/v1/center/cstalk/system/message/senderKey/{senderKey}/id/{id}

Deletes a system message.

Path Parameters

PATH

senderKey

RequiredString

The sender profile key.

id

RequiredString

The ID of the system message to delete.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/center/cstalk/system/message/senderKey/%40bizgo/id/sysMsgId" \
2 -H "Authorization: {ApiKey}"

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Request a system message review

POST/api/comm/v1/center/cstalk/system/message/approval/request

Requests a review of the system message.

Body Parameters

{}JSON

cstalk

RequiredObject

The CS Talk request object.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/cstalk/system/message/approval/request" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "cstalk": {
6 "senderKey":"{senderKey}"
7 }
8}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Cancel a system message review

POST/api/comm/v1/center/cstalk/system/message/approval/cancel

Cancels the review request for the system message.

Body Parameters

{}JSON

cstalk

RequiredObject

The CS Talk request object.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/cstalk/system/message/approval/cancel" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "cstalk": {
6 "senderKey":"{senderKey}"
7 }
8}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Delete a support message

Deletes a CS Talk message that has already been sent. A deleted message cannot be restored.

Before you delete

  • A deleted message cannot be restored.
  • The request is rejected with A502 unless you own the sender profile. You cannot delete another customer's messages.
  • Response codes: A000 deleted · A502 sender profile not registered, invalid senderKey/msgKey, or not the owner · A507 invalid userKey · A822 the message cannot be deleted in its current state · A213 any other processing failure
POST/api/comm/v1/center/cstalk/chat/delete

Deletes a CS Talk message that has already been sent. A deleted message cannot be restored.

Body Parameters

{}JSON

cstalk

RequiredObject

The CS Talk request object.

Returns

common

Object

The common response section.

data

Object

The product response section.

Request example

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/cstalk/chat/delete" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "cstalk": {
6 "senderKey":"{senderKey}",
7 "userKey":"{userKey}",
8 "msgKey":"{msgKey}"
9 }
10}'

Response example

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

Connect a support conversation

Customers can request support through a support connection button on a PC or mobile page.

When you pass meta information through the support connection button on PC, you must open the requesting page as a new window or a popup; the minimum recommended popup size is 1024 x 800.

If clicking the support connection button goes through a partner page before moving to the Kakao login page, include the script below inside the partner page and the popup window opens at the recommended size.

HTML
<script src="https://bizmessage.kakao.com/chat/includeScript"></script>

For a profile that uses both a bot and CS Talk, you can use the bot parameter to control whether the connection goes to the bot or to CS Talk.

Button connection (POST)

POSThttps://bizmessage.kakao.com/chat/open

Calls the Kakao support connection URL directly with POST. Use application/x-www-form-urlencoded as the Content-Type.

Body Parameters

FORM-URLENCODED

uuid

RequiredString(40)

The sender profile key. Note that this is not the KakaoTalk channel @id.

extra

String(1000)

The metadata delivered to the user when switching to CS Talk or the bot.

bot

String(5)

Enter true to connect to the bot, false (default) to connect to an agent, and auto to keep an ongoing session.

event

String(100)

The name of the event fired when the user is handed off to the bot.

app_open_type

String

How the app is launched. Enter direct or modal.

Returns

redirect

Redirect

Opens the KakaoTalk support connection screen. This is not a separate Bizgo API JSON response.

Request example

1curl -X POST "https://bizmessage.kakao.com/chat/open" \
2 -H "Content-Type: application/x-www-form-urlencoded" \
3 -d "uuid={uuid}&extra={extra}&bot=false&event={event}&app_open_type=direct"

Response example

1카카오 상담 연결 URL 호출 후 카카오톡 상담 화면으로 이동합니다.
2비즈고 API JSON 응답이 아니라 카카오 URL 이동/응답으로 처리됩니다.

Button connection (GET)

GEThttps://bizmessage.kakao.com/chat/open/{uuid}

Calls the Kakao support connection URL directly with GET. Include uuid in the path and pass the remaining values as query parameters.

Query Parameters

QUERY

uuid

RequiredString(40)

The sender profile key. Pass it as a path parameter, and note that it is not the KakaoTalk channel @id.

extra

String(50)

The metadata delivered to the user when switching to CS Talk or the bot.

bot

String(5)

Enter true to connect to the bot, false (default) to connect to an agent, and auto to keep an ongoing session.

event

String(100)

The name of the event fired when the user is handed off to the bot.

app_open_type

String

How the app is launched. Enter direct or modal.

Returns

redirect

Redirect

Opens the KakaoTalk support connection screen. This is not a separate Bizgo API JSON response.

Request example

1curl -X GET "https://bizmessage.kakao.com/chat/open/{uuid}?extra={extra}&bot=false&event={event}&app_open_type=direct"

Response example

1카카오 상담 연결 URL 호출 후 카카오톡 상담 화면으로 이동합니다.
2비즈고 API JSON 응답이 아니라 카카오 URL 이동/응답으로 처리됩니다.