Comment on page

단일 메시지

Request

POST https://api.coolsms.co.kr/messages/v4/send
하나의 메시지를 발송합니다. 2개 이상의 메시지는 그룹 메시지를 사용하세요.
홈페이지의 문자발송 내역에서 전송결과 내역을 확인하실 수 있습니다. (로그인 필요)
전송 내역(메시지 그룹, 메시지 목록)의 보관기간은 생성일 기준 6개월 입니다. 6개월이 지난 내역은 조회가 불가능합니다.

Authorization 인증 필요 [?]

계정 권한
회원 권한
계정 상태
회원 상태
계정 인증
message:write
role-message:write
ACTIVE
ACTIVE

Request Structure

{
"message": "object",
"strict": "boolean",
"agent": "object"
}

Body Params

Name
Type
Required
Description
message
object
O
메시지에 대한 정보
strict
boolean
설명 없음
agent
object
에이전트

Body / message

Name
Type
Required
Description
to
string
O
수신번호
from
string
O
발신번호 사전 등록된 전화번호만 사용 가능
text
string
메시지 내용 한글 1,000자, 영문 2,000자 제한
type
string
메시지 타입
country
string
국가번호 (기본: 82, 미국(캐나다):1, 중국: 86, 일본: 81)
subject
string
메시지 제목 한글 20자, 영문 40자 제한
imageId
string
Storage API에 등록된 이미지 아이디 참고
object
친구톡, 알림톡을 보내기 위한 옵션
object
네이버 스마트 알림을 보내기 위한 옵션
object
설명 없음
object
확장 필드로 사용. 키는 30자, 값은 100자 제한
autoTypeDetect
boolean
타입 설정이 없을 경우 자동으로 설정함. 기본 값은 true

Body / message / kakaoOptions

Name
Type
Required
Description
pfId
string
테스트에서 발급된 카카오톡 채널의 연동 아이디
pfGroupId
string
설명 없음
title
string
설명 없음
adFlag
boolean
설명 없음
templateId
string
알림톡 템플릿 아이디
disableSms
boolean
대체 발송 여부
imageId
string
Storage API에 등록된 이미지 아이디 참고
variables
object
설명 없음
buttons
array
알림톡 템플릿 버튼 목록

Body / message / kakaoOptions / variables

Name
Type
Required
Description

Body / message / kakaoOptions / buttons

Name
Type
Required
Description
buttonName
string
O
버튼 이름
buttonType
string
O
버튼 종류(AL: 앱링크, WL: 웹링크, DS: 배송조회, BK: 키워드, MD: 전달, BC: 상담톡 전환, BT: 봇 전환, AC: 채널 추가
linkMo
string
모바일 링크(WL 웹링크)
linkPc
string
웹 링크(WL 웹링크)
linkAnd
string
안드로이드 링크(AL 앱링크)
linkIos
string
IOS 링크(AL 앱링크)

Body / message / naverOptions

Name
Type
Required
Description
talkId
string
설명 없음
templateId
string
알림톡 템플릿 아이디
disableSms
boolean
대체 발송 여부
variables
object
설명 없음
buttons
array
네이버 스마트 알림 템플릿 버튼 목록

Body / message / naverOptions / variables

Name
Type
Required
Description

Body / message / naverOptions / buttons

Name
Type
Required
Description
buttonType
string
O
설명 없음
linkMo
string
모바일 링크
linkPc
string
웹 링크
linkAnd
string
설명 없음
linkIos
string
설명 없음

Body / message / rcsOptions

Name
Type
Required
Description
brandId
string
설명 없음
templateId
string
알림톡 템플릿 아이디
copyAllowed
boolean
설명 없음
variables
object
설명 없음
mmsType
string
설명 없음
commercialType
boolean
설명 없음
disableSms
boolean
대체 발송 여부
array
설명 없음
buttons
array
설명 없음

Body / message / rcsOptions / variables

Name
Type
Required
Description

Body / message / rcsOptions / additionalBody

Name
Type
Required
Description
title
string
O
설명 없음
description
string
O
설명 없음
imageId
string
Storage API에 등록된 이미지 아이디 참고
buttons
array
설명 없음

Body / message / rcsOptions / additionalBody / buttons

Name
Type
Required
Description
buttonType
string
O
설명 없음
link
string
설명 없음
latitude
string
설명 없음
longitude
string
설명 없음
label
string
설명 없음
query
string
설명 없음
title
string
설명 없음
startTime
date
설명 없음
endTime
date
설명 없음
text
string
메시지 내용 한글 1,000자, 영문 2,000자 제한
phone
string
설명 없음

Body / message / rcsOptions / buttons

Name
Type
Required
Description
buttonType
string
O
설명 없음
link
string
설명 없음
latitude
string
설명 없음
longitude
string
설명 없음
label
string
설명 없음
query
string
설명 없음
title
string
설명 없음
startTime
date
설명 없음
endTime
date
설명 없음
text
string
메시지 내용 한글 1,000자, 영문 2,000자 제한
phone
string
설명 없음

Body / message / customFields

Name
Type
Required
Description

Body / agent

Name
Type
Required
Description
appId
string
앱 아이디
osPlatform
string
OS 플렛폼
sdkVersion
string
SDK 버전

Response

Response Structure

{
"groupId": "string",
"messageId": "string",
"accountId": "string",
"statusMessage": "string",
"statusCode": "string",
"to": "string",
"from": "string",
"type": "string",
"country": "string"
}

Response Description

Response /

Name
Type
Should Return
Description
groupId
string
O
그룹 아이디
messageId
string
O
메시지 아이디
accountId
string
O
계정 고유 번호
statusMessage
string
O
상태 메시지 참고
statusCode
string
O
상태 코드 참고
to
string
O
수신번호
from
string
O
발신번호 사전 등록된 전화번호만 사용 가능
type
string
O
메시지 타입
country
string
O
국가번호 (기본: 82, 미국(캐나다):1, 중국: 86, 일본: 81)

Samples

메시지 발송 (type: Auto Detect)

Sample Request
{
"message": {
"to": "01000000001",
"from": "029302266",
"text": "내용"
}
}
Sample Response
{
"groupId": "G4V20210714161246XWYVKGWWBWQBO9F",
"to": "01000000001",
"from": "029302266",
"type": "SMS",
"statusMessage": "정상 접수(이통사로 접수 예정) ",
"country": "82",
"messageId": "M4V202107141612465OCIWLUSSXIZNWM",
"statusCode": "2000",
"accountId": "12925149"
}
Sample Code
NODE
PHP
PYTHON
CURL
RUBY
GO
JAVA
var request = require('request');
var options = {
headers: {
Authorization:
'HMAC-SHA256 apiKey=NCSAYU7YDBXYORXC, date=2019-07-01T00:41:48Z, salt=jqsba2jxjnrjor, signature=1779eac71a24cbeeadfa7263cb84b7ea0af1714f5c0270aa30ffd34600e363b4',
'Content-Type': 'application/json'
},
body: {
message: {
to: '01000000001',
from: '029302266',
text: '내용'
}
},
method: 'POST',
json: true,
url: 'http://api.coolsms.co.kr/messages/v4/send'
};
request(options, function(error, response, body) {
if (error) throw error;
console.log('result :', body);
});
<?php
$url = "http://api.coolsms.co.kr/messages/v4/send";
$data = '{"message":{"to":"01000000001","from":"029302266","text":"내용"}}';
$options = array(
'http' => array(
'header' => "Authorization: HMAC-SHA256 apiKey=NCSAYU7YDBXYORXC, date=2019-07-01T00:41:48Z, salt=jqsba2jxjnrjor, signature=1779eac71a24cbeeadfa7263cb84b7ea0af1714f5c0270aa30ffd34600e363b4\r\n" . "Content-Type: application/json\r\n",
'content' => $data,
'method' => 'POST'
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);
import requests
url = "http://api.coolsms.co.kr/messages/v4/send"
headers = {
"Authorization": "HMAC-SHA256 apiKey=NCSAYU7YDBXYORXC, date=2019-07-01T00:41:48Z, salt=jqsba2jxjnrjor, signature=1779eac71a24cbeeadfa7263cb84b7ea0af1714f5c0270aa30ffd34600e363b4",
"Content-Type": "application/json"
}
data = '{"message":{"to":"01000000001","from":"029302266","text":"내용"}}'
response = requests.post(url, headers=headers, data=data)
print(response.status_code)
print(response.text)
#!/bin/bash
curl -X POST \
-H 'Authorization: HMAC-SHA256 apiKey=NCSAYU7YDBXYORXC, date=2019-07-01T00:41:48Z, salt=jqsba2jxjnrjor, signature=1779eac71a24cbeeadfa7263cb84b7ea0af1714f5c0270aa30ffd34600e363b4' \
-H 'Content-Type: application/json' \
-d '{"message":{"to":"01000000001","from":"029302266","text":"내용"}}' \
http://api.coolsms.co.kr/messages/v4/send
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse("http://api.coolsms.co.kr/messages/v4/send")
headers = {
"Authorization": "HMAC-SHA256 apiKey=NCSAYU7YDBXYORXC, date=2019-07-01T00:41:48Z, salt=jqsba2jxjnrjor, signature=1779eac71a24cbeeadfa7263cb84b7ea0af1714f5c0270aa30ffd34600e363b4",
"Content-Type": "application/json"
}
data = {
"message": {
"to": "01000000001",
"from": "029302266",
"text": "내용"
}
}
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, headers)
request.body = data.to_json
response = http.request(request)
puts response.code
puts response.body
package main
import (
"fmt"
"io/ioutil"
"net/http"
"strings"
)
func main() {
uri := "http://api.coolsms.co.kr/messages/v4/send"
data := strings.NewReader(`{"message":{"to":"01000000001","from":"029302266","text":"내용"}}`)
req, err := http.NewRequest("POST", uri, data)
if err != nil { panic(err) }
req.Header.Set("Authorization", "HMAC-SHA256 apiKey=NCSAYU7YDBXYORXC, date=2019-07-01T00:41:48Z, salt=jqsba2jxjnrjor, signature=1779eac71a24cbeeadfa7263cb84b7ea0af1714f5c0270aa30ffd34600e363b4")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
bytes, _ := ioutil.ReadAll(resp.Body)
str := string(bytes)
fmt.Println(str)
}
package solapi;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Request {
public static void main(String[] args) throws Exception {
String targetUrl = "http://api.coolsms.co.kr/messages/v4/send";
String parameters = "{\"message\":{\"to\":\"01000000001\",\"from\":\"029302266\",\"text\":\"내용\"}}";
URL url = new URL(targetUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Authorization", "HMAC-SHA256 apiKey=NCSAYU7YDBXYORXC, date=2019-07-01T00:41:48Z, salt=jqsba2jxjnrjor, signature=1779eac71a24cbeeadfa7263cb84b7ea0af1714f5c0270aa30ffd34600e363b4");
con.setRequestProperty("Content-Type", "application/json");
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(parameters);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line;
StringBuffer response = new StringBuffer();
while ((line = in.readLine()) != null) {
response.append(line);
}
in.close();
System.out.println("HTTP response code : " + responseCode);
System.out.println("HTTP body : " + response.toString());
}
}

단문문자(SMS) 발송

Sample Request
{
"message": {
"to": "01000000001",
"from": "029302266",
"text": "내용",
"type": "SMS"
}
}
Sample Response
{
"groupId": "G4V20210714161246HYGZSWOBKYS9OXA",
"to": "01000000001",
"from": "029302266",
"type": "SMS",
"statusMessage": "정상 접수(이통사로 접수 예정) ",
"country": "82",
"messageId": "M4V20210714161246TLWWCG1KX5X5WML"