페이지 이동경로
  • 문서>
  • 메시지>
  • 카카오톡 메시지: REST API

메시지

카카오톡 메시지: REST API

이 문서는 REST API를 사용한 카카오톡 메시지 API 구현 방법을 안내합니다.

이 문서에 포함된 기능 일부는 [도구] > [REST API 테스트]를 통해 사용해 볼 수 있습니다.

이 문서에 사용된 태그

Tag Description
로그인 필수 카카오 로그인이 필요한 API를 의미합니다. 카카오 로그인을 먼저 구현하고, 카카오 로그인을 통해 발급 받은 액세스 토큰(Access Token)을 이용하여 해당 API를 호출해야 합니다.

시작하기 전에

사용할 API 선택하기

보낼 메시지의 종류와 구성 방법에 따라 호출해야할 API가 다르므로, 개발 전 다음 순서대로 사용할 API를 선택합니다.

Step 1. 메시지 API 선택

메시지 API는 카카오링크와 카카오톡 메시지 두 가지입니다. 이해하기를 참고해 어떤 API로 메시지 보내기를 구현할 것인지 결정합니다.

REST API 카카오링크

REST API는 카카오링크를 지원하지 않습니다. 웹 페이지에서 카카오링크 API를 사용해야 하는 경우, JavaScript SDK를 활용합니다.

Step 2. 메시지 종류 및 구성 방법 선택

메시지 템플릿 > 종류를 참고하여 어떤 메시지 템플릿을 사용할지 결정합니다.

보낼 메시지는 기본 템플릿에 맞게 JSON 형태로 구성하거나, 서비스에 맞게 직접 구성한 사용자 정의 템플릿을 사용하여 구성할 수 있습니다. 자세한 사항은 메시지 구성 방법을 참고합니다.

Step 3. 메시지 전송 대상 선택

카카오톡 메시지의 경우, 수신 대상에 따라 나에게 보내기, 친구에게 보내기로 API가 구분되어 있다는 점에 유의합니다.

  • 에게 보내기: 현재 로그인한 사용자의 카카오톡 '나와의 채팅'에 메시지를 보냅니다. 이 기능으로는 다른 사용자에게 메시지를 보낼 수 없고, 로그인한 사용자 본인에게만 메시지를 보낼 수 있습니다.
  • 친구에게 보내기: 현재 로그인한 사용자의 카카오톡 친구에게 메시지를 보냅니다. 친구 목록 가져오기 API를 통해 수신 대상 정보를 받는 과정을 추가 구현해야 합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다. 카카오톡 메시지 API의 경우, 일간 및 월간 제공량이 정해져 있으므로 운영 정책을 참고합니다.
동의 항목 설정 및 권한 필요

친구에게 카카오톡 메시지를 보내려면 동의 항목 설정을 참고하여 '카카오톡 메시지 전송' 접근권한을 설정해야 합니다. 접근권한이 설정되어 있더라도 사용자가 동의하지 않으면 '카카오톡 메시지 전송' 기능을 이용할 수 없습니다. 동의 내역 확인하기 API를 통해 사용자가 해당 기능을 허용했는지 먼저 확인합니다.

또한 이 API는 사용 권한이 필요합니다. 앱에 사용 권한이 부여되기 전에는 팀원을 대상으로만 동작하므로, 카카오톡 사용 권한 신청을 참고해 사용 권한을 신청해야 합니다.

선택 조건에 따른 API

템플릿 종류에 따라 메시지 구성 요소가 다르므로 메시지 구성 시, 기본 메시지 템플릿 구성 요소 및 예제를 참고합니다.

메시지 종류 메시지 구성 방법 전송 대상 사용할 API
피드, 리스트, 위치, 커머스, 텍스트 기본 템플릿 /v2/api/talk/memo/default/send
피드, 리스트, 위치, 커머스, 텍스트 기본 템플릿 친구 /v1/api/talk/friends/message/default/send
피드, 리스트, 커머스 사용자 정의 템플릿 /v2/api/talk/memo/send
피드, 리스트, 커머스 사용자 정의 템플릿 친구 /v1/api/talk/friends/message/send
스크랩 기본 템플릿 /v2/api/talk/memo/scrap/send
스크랩 기본 템플릿 친구 /v1/api/talk/friends/message/scrap/send
스크랩 사용자 정의 템플릿 /v2/api/talk/memo/scrap/send
스크랩 사용자 정의 템플릿 친구 /v1/api/talk/friends/message/scrap/send

기본 템플릿으로 메시지 보내기 로그인 필수

사용하려는 기본 템플릿에 따라 메시지를 JSON 형식으로 구성하여 보내는 기능입니다.

액세스 토큰을 헤더에 담아 POST로 요청합니다. 사용하려는 템플릿에 따라 JSON 형식으로 구성한 template_object 객체를 필수로 전달합니다.

친구에게 메시지 보내기 요청 시, 친구 목록 가져오기 API의 응답으로 받은 uuidreceiver_uuids 파라미터에 전달합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.

요청한 모든 친구에게 메시지 보내기 성공 시, successful_receiver_uuids 배열에 메시지 보내기에 성공한 사용자 uuid 목록을 JSON 형식으로 받습니다. 일부 사용자에게만 메시지가 성공적으로 보내진 경우, successful_receiver_uuids와 함께 메시지 보내기에 실패한 사용자 목록과 실패 원인을 담은 failure_info 배열을 받습니다.

나에게 보내기

Request
URL
POST /v2/api/talk/memo/default/send HTTP/1.1
Host: kapi.kakao.com
Authorization: Bearer {ACCESS_TOKEN}
Parameter
Name Type Description Required
template_object Object 메시지 구성 요소를 담은 객체(Object)
피드, 리스트, 위치, 커머스, 텍스트 중 하나
O
Response
Key
Name Type Description Required
result_code Integer 전송 성공 시 0 O
Sample
Request
피드
리스트
위치
커머스
텍스트
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'template_object={
        "object_type": "feed",
        "content": {
            "title": "오늘의 디저트",
            "description": "아메리카노, 빵, 케익",
            "image_url": "http://mud-kage.kakao.co.kr/dn/NTmhS/btqfEUdFAUf/FjKzkZsnoeE4o19klTOVI1/openlink_640x640s.jpg",
            "image_width": 640,
            "image_height": 640,
            "link": {
                "web_url": "http://www.daum.net",
                "mobile_web_url": "http://m.daum.net",
                "android_execution_params": "contentId=100",
                "ios_execution_params": "contentId=100"
            }
        },
        "item_content" : {
            "profile_text" :"Kakao",
            "profile_image_url" :"http://mud-kage.kakao.co.kr/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",
            "title_image_url" : "http://mud-kage.kakao.co.kr/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",
            "title_image_text" :"Cheese cake",
            "title_image_category" : "Cake",
            "items" : [
                {
                    "item" :"Cake1",
                    "item_op" : "1000원"
                },
                {
                    "item" :"Cake2",
                    "item_op" : "2000원"
                },
                {
                    "item" :"Cake3",
                    "item_op" : "3000원"
                },
                {
                    "item" :"Cake4",
                    "item_op" : "4000원"
                },
                {
                    "item" :"Cake5",
                    "item_op" : "5000원"
                }
            ],
            "sum" :"Total",
            "sum_op" : "15000원"
        },
        "social": {
            "like_count": 100,
            "comment_count": 200,
            "shared_count": 300,
            "view_count": 400,
            "subscriber_count": 500
        },
        "buttons": [
            {
                "title": "웹으로 이동",
                "link": {
                    "web_url": "http://www.daum.net",
                    "mobile_web_url": "http://m.daum.net"
                }
            },
            {
                "title": "앱으로 이동",
                "link": {
                    "android_execution_params": "contentId=100",
                    "ios_execution_params": "contentId=100"
                }
            }
        ]
    }'
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'template_object={
        "object_type": "list",
        "header_title": "WEEKELY MAGAZINE",
        "header_link": {
            "web_url": "http://www.daum.net",
            "mobile_web_url": "http://m.daum.net",
            "android_execution_params": "main",
            "ios_execution_params": "main"
        },
        "contents": [
            {
                "title": "자전거 라이더를 위한 공간",
                "description": "매거진",
                "image_url": "http://mud-kage.kakao.co.kr/dn/QNvGY/btqfD0SKT9m/k4KUlb1m0dKPHxGV8WbIK1/openlink_640x640s.jpg",
                "image_width": 640,
                "image_height": 640,
                "link": {
                    "web_url": "http://www.daum.net/contents/1",
                    "mobile_web_url": "http://m.daum.net/contents/1",
                    "android_execution_params": "/contents/1",
                    "ios_execution_params": "/contents/1"
                }
            },
            {
                "title": "비쥬얼이 끝내주는 오레오 카푸치노",
                "description": "매거진",
                "image_url": "http://mud-kage.kakao.co.kr/dn/boVWEm/btqfFGlOpJB/mKsq9z6U2Xpms3NztZgiD1/openlink_640x640s.jpg",
                "image_width": 640,
                "image_height": 640,
                "link": {
                    "web_url": "http://www.daum.net/contents/2",
                    "mobile_web_url": "http://m.daum.net/contents/2",
                    "android_execution_params": "/contents/2",
                    "ios_execution_params": "/contents/2"
                }
            },
            {
                "title": "감성이 가득한 분위기",
                "description": "매거진",
                "image_url": "http://mud-kage.kakao.co.kr/dn/NTmhS/btqfEUdFAUf/FjKzkZsnoeE4o19klTOVI1/openlink_640x640s.jpg",
                "image_width": 640,
                "image_height": 640,
                "link": {
                    "web_url": "http://www.daum.net/contents/3",
                    "mobile_web_url": "http://m.daum.net/contents/3",
                    "android_execution_params": "/contents/3",
                    "ios_execution_params": "/contents/3"
                }
            }
        ],
        "buttons": [
            {
                "title": "웹으로 이동",
                "link": {
                    "web_url": "http://www.daum.net",
                    "mobile_web_url": "http://m.daum.net"
                }
            },
            {
                "title": "앱으로 이동",
                "link": {
                    "android_execution_params": "main",
                    "ios_execution_params": "main"
                }
            }
        ]
    }'
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'template_object={
            "object_type": "location",
            "content": {
                "title": "카카오 판교오피스",
                "description": "카카오 판교오피스 위치입니다.",
                "image_url": "https://mud-kage.kakao.com/dn/drTdbB/bWYf06POFPf/owUHIt7K7NoGD0hrzFLeW0/kakaolink40_original.png",
                "image_width": 800,
                "image_height": 800,
                "link": {
                    "web_url": "https://developers.kakao.com",
                    "mobile_web_url": "https://developers.kakao.com/mobile",
                    "android_execution_params": "platform=android",
                    "ios_execution_params": "platform=ios"
                }
            },
            "buttons": [
                {
                    "title": "웹으로 보기",
                    "link": {
                        "web_url": "https://developers.kakao.com",
                        "mobile_web_url": "https://developers.kakao.com/mobile"
                    }
                }
            ],
            "address": "경기 성남시 분당구 판교역로 235 에이치스퀘어 N동 7층",
            "address_title": "카카오 판교오피스"
        }'
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'template_object={
        "object_type": "commerce",
        "content": {
            "title": "Ivory long dress (4 Color)",
            "image_url": "http://mud-kage.kakao.co.kr/dn/RY8ZN/btqgOGzITp3/uCM1x2xu7GNfr7NS9QvEs0/kakaolink40_original.png",
            "image_width": 640,
            "image_height": 640,
            "link": {
                "web_url": "https://style.kakao.com/main/women/contentId=100",
                "mobile_web_url": "https://style.kakao.com/main/women/contentId=100",
                "android_execution_params": "contentId=100",
                "ios_execution_params": "contentId=100"
            }
        },
        "commerce": {
            "regular_price": 208800,
            "discount_price": 146160,
            "discount_rate": 30
        },
        "buttons": [
            {
                "title": "구매하기",
                "link": {
                    "web_url": "https://style.kakao.com/main/women/contentId=100/buy",
                    "mobile_web_url": "https://style.kakao.com/main/women/contentId=100/buy",
                    "android_execution_params": "contentId=100&buy=true",
                    "ios_execution_params": "contentId=100&buy=true"
                }
            },
            {
                "title": "공유하기",
                "link": {
                    "web_url": "https://style.kakao.com/main/women/contentId=100/share",
                    "mobile_web_url": "https://style.kakao.com/main/women/contentId=100/share",
                    "android_execution_params": "contentId=100&share=true",
                    "ios_execution_params": "contentId=100&share=true"
                }
            }
        ]
    }'
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'template_object={
        "object_type": "text",
        "text": "텍스트 영역입니다. 최대 200자 표시 가능합니다.",
        "link": {
            "web_url": "https://developers.kakao.com",
            "mobile_web_url": "https://developers.kakao.com"
        },
        "button_title": "바로 확인"
    }'
Response
HTTP/1.1 200 OK
{
  "result_code":0
}

친구에게 보내기

Request
URL
POST /v1/api/talk/friends/message/default/send HTTP/1.1
Host: kapi.kakao.com
Authorization: Bearer {ACCESS_TOKEN}
Parameter
Name Type Description Required
receiver_uuids String[] 친구 목록 가져오기 API를 통해 얻은 사용자 uuid 값, 최대 5개 O
template_object Object 메시지 구성 요소를 담은 객체(Object)
피드, 리스트, 위치, 커머스, 텍스트 중 하나
O
Response
Key
Name Type Description Required
successful_receiver_uuids String[] 메시지 전송에 성공한 사용자 아이디(uuid) 배열 X
failure_info FailureInfo[] 실패 정보
요청 수신자가 2명 이상일 때 실패 시 "http status code: 200"과 함께 실패한 사용자 정보를 failure_info로 전달
요청 수신자가 1명일 때 실패 시 failure_info 없이 에러 코드로 전달
X
FailureInfo
Name Type Description Required
code Integer 에러 코드 O
msg String 에러 메시지 O
receiver_uuids String[] 해당 에러 코드로 실패한 사용자 아이디(uuid) 배열 O
Sample
Request
피드
리스트
위치
커머스
텍스트
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
    --data-urlencode 'template_object={
        "object_type": "feed",
        "content": {
            "title": "오늘의 디저트",
            "description": "아메리카노, 빵, 케익",
            "image_url": "http://mud-kage.kakao.co.kr/dn/NTmhS/btqfEUdFAUf/FjKzkZsnoeE4o19klTOVI1/openlink_640x640s.jpg",
            "image_width": 640,
            "image_height": 640,
            "link": {
                "web_url": "http://www.daum.net",
                "mobile_web_url": "http://m.daum.net",
                "android_execution_params": "contentId=100",
                "ios_execution_params": "contentId=100"
            }
        },
        "item_content" : {
            "profile_text" :"Kakao",
            "profile_image_url" :"http://mud-kage.kakao.co.kr/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",
            "title_image_url" : "http://mud-kage.kakao.co.kr/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",
            "title_image_text" :"Cheese cake",
            "title_image_category" : "Cake",
            "items" : [
                {
                    "item" :"Cake1",
                    "item_op" : "1000원"
                },
                {
                    "item" :"Cake2",
                    "item_op" : "2000원"
                },
                {
                    "item" :"Cake3",
                    "item_op" : "3000원"
                },
                {
                    "item" :"Cake4",
                    "item_op" : "4000원"
                },
                {
                    "item" :"Cake5",
                    "item_op" : "5000원"
                }
            ],
            "sum" :"Total",
            "sum_op" : "15000원"
        },
        "social": {
            "like_count": 100,
            "comment_count": 200,
            "shared_count": 300,
            "view_count": 400,
            "subscriber_count": 500
        },
        "buttons": [
            {
                "title": "웹으로 이동",
                "link": {
                    "web_url": "http://www.daum.net",
                    "mobile_web_url": "http://m.daum.net"
                }
            },
            {
                "title": "앱으로 이동",
                "link": {
                    "android_execution_params": "contentId=100",
                    "ios_execution_params": "contentId=100"
                }
            }
        ]
    }'
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
    --data-urlencode 'template_object={
        "object_type": "list",
        "header_title": "WEEKELY MAGAZINE",
        "header_link": {
            "web_url": "http://www.daum.net",
            "mobile_web_url": "http://m.daum.net",
            "android_execution_params": "main",
            "ios_execution_params": "main"
        },
        "contents": [
            {
                "title": "자전거 라이더를 위한 공간",
                "description": "매거진",
                "image_url": "http://mud-kage.kakao.co.kr/dn/QNvGY/btqfD0SKT9m/k4KUlb1m0dKPHxGV8WbIK1/openlink_640x640s.jpg",
                "image_width": 640,
                "image_height": 640,
                "link": {
                    "web_url": "http://www.daum.net/contents/1",
                    "mobile_web_url": "http://m.daum.net/contents/1",
                    "android_execution_params": "/contents/1",
                    "ios_execution_params": "/contents/1"
                }
            },
            {
                "title": "비쥬얼이 끝내주는 오레오 카푸치노",
                "description": "매거진",
                "image_url": "http://mud-kage.kakao.co.kr/dn/boVWEm/btqfFGlOpJB/mKsq9z6U2Xpms3NztZgiD1/openlink_640x640s.jpg",
                "image_width": 640,
                "image_height": 640,
                "link": {
                    "web_url": "http://www.daum.net/contents/2",
                    "mobile_web_url": "http://m.daum.net/contents/2",
                    "android_execution_params": "/contents/2",
                    "ios_execution_params": "/contents/2"
                }
            },
            {
                "title": "감성이 가득한 분위기",
                "description": "매거진",
                "image_url": "http://mud-kage.kakao.co.kr/dn/NTmhS/btqfEUdFAUf/FjKzkZsnoeE4o19klTOVI1/openlink_640x640s.jpg",
                "image_width": 640,
                "image_height": 640,
                "link": {
                    "web_url": "http://www.daum.net/contents/3",
                    "mobile_web_url": "http://m.daum.net/contents/3",
                    "android_execution_params": "/contents/3",
                    "ios_execution_params": "/contents/3"
                }
            }
        ],
        "buttons": [
            {
                "title": "웹으로 이동",
                "link": {
                    "web_url": "http://www.daum.net",
                    "mobile_web_url": "http://m.daum.net"
                }
            },
            {
                "title": "앱으로 이동",
                "link": {
                    "android_execution_params": "main",
                    "ios_execution_params": "main"
                }
            }
        ]
    }'
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
    --data-urlencode 'template_object={
        "object_type": "location",
        "content": {
            "title": "카카오 판교오피스",
            "description": "카카오 판교오피스 위치입니다.",
            "image_url": "https://mud-kage.kakao.com/dn/drTdbB/bWYf06POFPf/owUHIt7K7NoGD0hrzFLeW0/kakaolink40_original.png",
            "image_width": 800,
            "image_height": 800,
            "link": {
                "web_url": "https://developers.kakao.com",
                "mobile_web_url": "https://developers.kakao.com/mobile",
                "android_execution_params": "platform=android",
                "ios_execution_params": "platform=ios"
            }
        },
        "buttons": [
            {
                "title": "웹으로 보기",
                "link": {
                    "web_url": "https://developers.kakao.com",
                    "mobile_web_url": "https://developers.kakao.com/mobile"
                }
            }
        ],
        "address": "경기 성남시 분당구 판교역로 235 에이치스퀘어 N동 7층",
        "address_title": "카카오 판교오피스"
    }'
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
    --data-urlencode 'template_object={
        "object_type": "commerce",
        "content": {
            "title": "Ivory long dress (4 Color)",
            "image_url": "http://mud-kage.kakao.co.kr/dn/RY8ZN/btqgOGzITp3/uCM1x2xu7GNfr7NS9QvEs0/kakaolink40_original.png",
            "image_width": 640,
            "image_height": 640,
            "link": {
                "web_url": "https://style.kakao.com/main/women/contentId=100",
                "mobile_web_url": "https://style.kakao.com/main/women/contentId=100",
                "android_execution_params": "contentId=100",
                "ios_execution_params": "contentId=100"
            }
        },
        "commerce": {
            "regular_price": 208800,
            "discount_price": 146160,
            "discount_rate": 30
        },
        "buttons": [
            {
                "title": "구매하기",
                "link": {
                    "web_url": "https://style.kakao.com/main/women/contentId=100/buy",
                    "mobile_web_url": "https://style.kakao.com/main/women/contentId=100/buy",
                    "android_execution_params": "contentId=100&buy=true",
                    "ios_execution_params": "contentId=100&buy=true"
                }
            },
            {
                "title": "공유하기",
                "link": {
                    "web_url": "https://style.kakao.com/main/women/contentId=100/share",
                    "mobile_web_url": "https://style.kakao.com/main/women/contentId=100/share",
                    "android_execution_params": "contentId=100&share=true",
                    "ios_execution_params": "contentId=100&share=true"
                }
            }
        ]
    }'
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
    --data-urlencode 'template_object={
        "object_type": "text",
        "text": "텍스트 영역입니다. 최대 200자 표시 가능합니다.",
        "link": {
            "web_url": "https://developers.kakao.com",
            "mobile_web_url": "https://developers.kakao.com"
        },
        "button_title": "바로 확인"
    }'
Response: 친구에게 보내기 성공
HTTP/1.1 200 OK
{
  "successful_receiver_uuids": ["abcdefg0001","abcdefg0002","abcdefg0003"]
}
Response: 일부 친구에게만 전송 성공
HTTP/1.1 200 OK
{
  "successful_receiver_uuids": ["abcdefg0001","abcdefg0002"],
  "failure_info":[{
      "code": -532,
      "msg": "daily message limit per sender has been exceeded.",
      "receiver_uuids": ["abcdefg0003"]
  }]
}

사용자 정의 템플릿으로 메시지 보내기 로그인 필수

기본 템플릿으로 메시지 보내기와는 달리, [도구] > [메시지 템플릿]에서 직접 구성한 사용자 정의 템플릿을 사용하여 메시지를 보내는 기능입니다.

액세스 토큰을 헤더에 담아 POST로 요청합니다. 메시지 템플릿 도구에서 구성한 템플릿의 ID를 template_id 파라미터로 전달합니다. 메시지에 변동되는 정보를 포함하려면 해당 템플릿에 사용자 인자를 추가한 후, template_args 파라미터를 통해 전달합니다. 메시지 템플릿에 사용자 인자가 포함되었음에도 template_args 파라미터를 사용하지 않으면 메시지에 ${key}가 글자 그대로 포함됩니다.

친구에게 메시지 보내기 요청 시, 친구 목록 가져오기 API의 응답으로 받은 uuidreceiver_uuids 파라미터에 전달합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.

요청한 모든 친구에게 메시지 보내기 성공 시, successful_receiver_uuids 배열에 메시지 보내기에 성공한 사용자 uuid 목록을 JSON 형식으로 받습니다. 일부 사용자에게만 메시지가 성공적으로 보내진 경우, successful_receiver_uuids와 함께 메시지 보내기에 실패한 사용자 목록과 실패 원인을 담은 failure_info 배열을 받습니다.

나에게 보내기

Request
URL
POST /v2/api/talk/memo/send HTTP/1.1
Host: kapi.kakao.com
Authorization: Bearer {ACCESS_TOKEN}
Parameter
Name Type Description Required
template_id String 메시지 템플릿 도구에서 구성한 사용자 정의 템플릿의 ID O
template_args Object template_id로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달 X
Response
Key
Name Type Description Required
result_code Integer 전송 성공 시 0 O
Sample
Request
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    -d "template_id=12345"
Response
HTTP/1.1 200 OK
{
  "result_code":0
}

친구에게 보내기

Request
URL
POST /v1/api/talk/friends/message/send HTTP/1.1
Host: kapi.kakao.com
Authorization: Bearer {ACCESS_TOKEN}
Parameter
Name Type Description Required
receiver_uuids String[] 친구 목록 가져오기 API를 통해 얻은 사용자 uuid 값, 최대 5개 O
template_id String 메시지 템플릿 도구에서 구성한 사용자 정의 템플릿의 ID O
template_args Object template_id로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달 X
Response
Key
Name Type Description Required
successful_receiver_uuids String[] 메시지 전송에 성공한 사용자 아이디(uuid) 배열 X
failure_info FailureInfo[] 실패 정보
요청 수신자가 2명 이상일 때 실패 시 "http status code: 200"과 함께 실패한 사용자 정보를 failure_info로 전달
요청 수신자가 1명일 때 실패 시 failure_info 없이 에러 코드로 전달
X
FailureInfo
Name Type Description Required
code Integer 에러 코드 O
msg String 에러 메시지 O
receiver_uuids String[] 해당 에러 코드로 실패한 사용자 아이디(uuid) 배열 O
Sample
Request
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    -d "template_id=12345" \
    --data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' 
Response: 친구에게 보내기 성공
HTTP/1.1 200 OK
{
  "successful_receiver_uuids": ["abcdefg0001","abcdefg0002","abcdefg0003"]
}
Response: 일부 친구에게만 전송 성공
HTTP/1.1 200 OK
{
  "successful_receiver_uuids": ["abcdefg0001","abcdefg0002"],
  "failure_info":[{
      "code": -532,
      "msg": "daily message limit per sender has been exceeded.",
      "receiver_uuids": ["abcdefg0003"]
  }]
}

기본 템플릿으로 스크랩 메시지 보내기 로그인 필수

스크랩한 웹 페이지 정보를 바탕으로 메시지를 구성하여 보내는 기능입니다.

액세스 토큰을 헤더에 담아 POST로 요청합니다. 요청 시, 스크랩할 웹 페이지 URL(request_url)을 필수로 전달합니다. 또한 스크랩할 웹 페이지의 도메인은 [내 애플리케이션] > [플랫폼] > [Web]에 등록돼 있어야 합니다.

친구에게 메시지 보내기 요청 시, 친구 목록 가져오기 API의 응답으로 받은 uuidreceiver_uuids 파라미터에 전달합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.

요청한 모든 친구에게 메시지 보내기 성공 시, successful_receiver_uuids 배열에 메시지 보내기에 성공한 사용자 uuid 목록을 JSON 형식으로 받습니다. 일부 사용자에게만 메시지가 성공적으로 보내진 경우, successful_receiver_uuids와 함께 메시지 보내기에 실패한 사용자 목록과 실패 원인을 담은 failure_info 배열을 받습니다.

나에게 보내기

Request
URL
POST /v2/api/talk/memo/scrap/send HTTP/1.1
Host: kapi.kakao.com
Authorization: Bearer {ACCESS_TOKEN}
Parameter
Name Type Description Required
request_url String 스크랩할 웹 페이지 URL, [내 애플리케이션] > [플랫폼] > [Web]에 등록된 도메인만 사용 가능 O
Response
Key
Name Type Description Required
result_code Integer 전송 성공 시 0 O
Sample
Request
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/scrap/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode "request_url=https://developers.kakao.com"
Response
HTTP/1.1 200 OK
{
  "result_code":0
}

친구에게 보내기

Request
URL
POST /v1/api/talk/friends/message/scrap/send HTTP/1.1
Host: kapi.kakao.com
Authorization: Bearer {ACCESS_TOKEN}
Parameter
Name Type Description Required
receiver_uuids String[] 친구 목록 가져오기 API를 통해 얻은 사용자 uuid 값, 최대 5개 O
request_url String 스크랩할 웹 페이지 URL, [내 애플리케이션] > [플랫폼] > [Web]에 등록된 도메인만 사용 가능 O
Response
Key
Name Type Description Required
successful_receiver_uuids String[] 메시지 전송에 성공한 사용자 아이디(uuid) 배열 X
failure_info FailureInfo[] 실패 정보
요청 수신자가 2명 이상일 때 실패 시 "http status code: 200"과 함께 실패한 사용자 정보를 failure_info로 전달
요청 수신자가 1명일 때 실패 시 failure_info 없이 에러 코드로 전달
X
FailureInfo
Name Type Description Required
code Integer 에러 코드 O
msg String 에러 메시지 O
receiver_uuids String[] 해당 에러 코드로 실패한 사용자 아이디(uuid) 배열 O
Sample
Request
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/scrap/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
    --data-urlencode "request_url=https://developers.kakao.com"
Response: 성공
HTTP/1.1 200 OK
{
  "successful_receiver_uuids": ["abcdefg0001","abcdefg0002","abcdefg0003"]
}
Response: 일부 사용자에게 전송 실패
HTTP/1.1 200 OK
{
  "successful_receiver_uuids": ["abcdefg0001","abcdefg0002"],
  "failure_info":[{
      "code": -532,
      "msg": "daily message limit per sender has been exceeded.",
      "receiver_uuids": ["abcdefg0003"]
  }]
}

사용자 정의 템플릿으로 스크랩 메시지 보내기 로그인 필수

스크랩한 웹 페이지 정보를 바탕으로 메시지를 구성하여 보내는 기능입니다. 기본 템플릿으로 스크랩 메시지 보내기와 다르게, [도구] > [메시지 템플릿]에서 구성한 사용자 정의 템플릿을 사용하여 메시지를 구성합니다.

액세스 토큰을 헤더에 담아 POST로 요청합니다. 요청 시, 스크랩할 웹 페이지 URL(request_url)을 필수로 전달합니다. 이 때, 스크랩할 웹 페이지의 도메인은 [내 애플리케이션] > [플랫폼] > [Web]에 등록돼 있어야 합니다.

또한 [도구] > [메시지 템플릿]에서 구성한 사용자 정의 템플릿의 ID를 template_id 파라미터로 함께 전달합니다. 메시지에 변동되는 정보를 포함하려면 해당 템플릿에 사용자 인자를 추가한 후, template_args 파라미터를 통해 전달합니다. 메시지 템플릿에 사용자 인자가 포함되었음에도 template_args 파라미터를 사용하지 않으면 메시지에 ${key}가 글자 그대로 포함됩니다.

친구에게 메시지 보내기 요청 시, 친구 목록 가져오기 API의 응답으로 받은 uuidreceiver_uuids 파라미터에 전달합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.

요청한 모든 친구에게 메시지 보내기 성공 시, successful_receiver_uuids 배열에 메시지 보내기에 성공한 사용자 uuid 목록을 JSON 형식으로 받습니다. 일부 사용자에게만 메시지가 성공적으로 보내진 경우, successful_receiver_uuids와 함께 메시지 보내기에 실패한 사용자 목록과 실패 원인을 담은 failure_info 배열을 받습니다.

나에게 보내기

Request
URL
POST /v2/api/talk/memo/scrap/send HTTP/1.1
Host: kapi.kakao.com
Authorization: Bearer {ACCESS_TOKEN}
Parameter
Name Type Description Required
request_url String 스크랩할 웹 페이지 URL, [내 애플리케이션] > [플랫폼] > [Web]에 등록된 도메인만 사용 가능
스크랩 메시지 참고
O
template_id String 스크랩한 정보를 반영할 사용자 정의 템플릿의 ID O
template_args Object template_id로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달
스크랩 결과를 덮어쓰기(overwrite) 할 수는 없음
X
Response
Key
Name Type Description Required
result_code Integer 전송 성공 시 0 O
Sample
Request
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/scrap/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    -d "template_id=12345" \
    --data-urlencode "request_url=https://developers.kakao.com"     

친구에게 보내기

Request
URL
POST /v1/api/talk/friends/message/scrap/send HTTP/1.1
Host: kapi.kakao.com
Authorization: Bearer {ACCESS_TOKEN}
Parameter
Name Type Description Required
receiver_uuids String[] 친구 목록 가져오기 API를 통해 얻은 사용자 uuid 값, 최대 5개 O
request_url String 스크랩할 웹 페이지 URL, [내 애플리케이션] > [플랫폼] > [Web]에 등록된 도메인만 사용 가능
스크랩 메시지 참고
O
template_id String 스크랩한 정보를 반영할 사용자 정의 템플릿의 ID O
template_args Object template_id로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달
스크랩 결과를 덮어쓰기(overwrite) 할 수는 없음
X
Response
Key
Name Type Description Required
successful_receiver_uuids String[] 메시지 전송에 성공한 사용자 아이디(uuid) 배열 X
failure_info FailureInfo[] 실패 정보
요청 수신자가 2명 이상일 때 실패 시 "http status code: 200"과 함께 실패한 사용자 정보를 failure_info로 전달
요청 수신자가 1명일 때 실패 시 failure_info 없이 에러 코드로 전달
X
FailureInfo
Name Type Description Required
code Integer 에러 코드 O
msg String 에러 메시지 O
receiver_uuids String[] 해당 에러 코드로 실패한 사용자 아이디(uuid) 배열 O
Sample
Request
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/scrap/send" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    --data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
    --data-urlencode "request_url=https://developers.kakao.com" \
    -d "template_id=12345"
Response: 성공
HTTP/1.1 200 OK
{
  "successful_receiver_uuids": ["abcdefg0001","abcdefg0002","abcdefg0003"]
}
Response: 일부 사용자에게 전송 실패
HTTP/1.1 200 OK
{
  "successful_receiver_uuids": ["abcdefg0001","abcdefg0002"],
  "failure_info":[{
      "code": -532,
      "msg": "daily message limit per sender has been exceeded.",
      "receiver_uuids": ["abcdefg0003"]
  }]
}

더보기