환경 | 도메인 |
---|---|
Real | https://api-sms.cloud.toast.com |
분류 | 최대 지원 | 표준 규격 |
---|---|---|
SMS 본문 | 255자 | 90바이트(한글 45자, 영문 90자) |
MMS 제목 | 120자 | 40바이트(한글 20자, 영문 40자) |
MMS 본문 | 4,000자 | 2,000바이트(한글 1,000자, 영문 2,000자) |
[URL]
POST /sms/v3.0/appKeys/{appKey}/sender/sms
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"templateId":"TemplateId",
"body":"본문",
"sendNo":"15446859",
"requestDate":"2018-08-10 10:00",
"senderGroupingKey":"SenderGroupingKey",
"recipientList":[
{
"recipientNo":"01000000000",
"countryCode":"82",
"internationalRecipientNo":"821000000000",
"templateParameter":{
"key":"value"
},
"recipientGroupingKey":"recipientGroupingKey"
}
],
"userId":"UserId",
"statsId":"statsId",
"originCode":"123456789"
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
templateId | String | 50 | X | 발송 템플릿 ID |
body | String | 표준: 90바이트, 최대: 255자(EUC-KR 기준) [주의사항] | O | 본문 내용 |
sendNo | String | 13 | O | 발신 번호 |
requestDate | String | - | X | 예약 일시(yyyy-MM-dd HH:mm) |
senderGroupingKey | String | 100 | X | 발신자 그룹 키 |
recipientList[].recipientNo | String | 20 | O | 수신 번호 countryCode와 조합하여 사용 가능 최대 1,000명 |
recipientList[].countryCode | String | 8 | X | 국가 번호 [기본값: 82(한국)] |
recipientList[].internationalRecipientNo | String | 20 | X | 국가 번호가 포함된 수신 번호 예)821012345678 recipientNo가 있을 경우 이 값은 무시된다. |
recipientList[].templateParameter | Object | - | X | 템플릿 파라미터(템플릿 ID 입력 시) |
recipientList[].templateParameter.{key} | String | - | X | 치환 키(##key##) |
recipientList[].templateParameter.{value} | Object | - | X | 치환 키에 매핑되는 Value값 |
recipientList[].recipientGroupingKey | String | 100 | X | 수신자 그룹 키 |
userId | String | 100 | X | 발송 구분자 ex)admin,system |
statsId | String | 10 | X | 통계 ID(발신 검색 조건에는 포함되지 않습니다) |
originCode | String | 10 | X | 식별 코드(특수한 유형의 부가통신사업자 등록증에 기재되어 있는 기호, 문자, 공백을 제외한 등록 번호 9자리 숫자) 특수한 유형의 부가통신사업자가 아닌 경우 사용하지 않습니다. 기본적으로 NHN Cloud의 식별 코드가 삽입됩니다. |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/sms' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"body": "본문",
"sendNo": "15446859",
"recipientList": [{
"internationalRecipientNo": "821000000000"
}
]
}'
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":{
"requestId":"20180810100630ReZQ6KZzAH0",
"statusCode":"2",
"senderGroupingKey":"SenderGroupingKey",
"sendResultList":[
{
"recipientNo":"01000000000",
"resultCode":0,
"resultMessage":"SUCCESS",
"recipientSeq":1,
"recipientGroupingKey":"RecipientGroupingKey"
}
]
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestId | String | 요청 ID |
body.data.statusCode | String | 요청 상태 코드(1:요청 중, 2:요청 완료, 3:요청 실패) |
body.data.senderGroupingKey | String | 발신자 그룹 키 |
body.data.sendResultList[].recipientNo | String | 수신 번호 |
body.data.sendResultList[].resultCode | Integer | 결과 코드 |
body.data.sendResultList[].resultMessage | String | 결과 메시지 |
body.data.sendResultList[].recipientSeq | Integer | 수신자 시퀀스(mtPr) |
body.data.sendResultList[].recipientGroupingKey | String | 수신자 그룹 키 |
Http metho | URL |
---|---|
POST | https://api-sms.cloud.toast.com/sms/v3.0/appKeys/{appKey}/sender/sms |
[Request body]
{
"body":"본문",
"sendNo":"15446859",
"senderGroupingKey":"SenderGroupingKey",
"recipientList":[
{
"recipientNo":"01000000000",
"recipientGroupingKey":"RecipientGroupingKey"
},
{
"recipientNo":"01000000001",
"recipientGroupingKey":"RecipientGroupingKey2"
}
],
"statsId":"statsId"
}
[Response]
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":{
"requestId":"20180810100630ReZQ6KZzAH0",
"statusCode":"2",
"senderGroupingKey":"SenderGroupingKey",
"sendResultList":[
{
"recipientNo":"01000000000",
"resultCode":0,
"resultMessage":"SUCCESS",
"recipientSeq":1,
"recipientGroupingKey":"RecipientGroupingKey"
},
{
"recipientNo":"01000000001",
"resultCode":0,
"resultMessage":"SUCCESS",
"recipientSeq":2,
"recipientGroupingKey":"RecipientGroupingKey2"
}
]
}
}
}
Http metho | URL |
---|---|
POST | https://api-sms.cloud.toast.com/sms/v3.0/appKeys/{appKey}/sender/sms |
[Request body]
{
"body":"본문",
"sendNo":"15446859",
"senderGroupingKey":"SenderGroupingKey",
"recipientList":[
{
"internationalRecipientNo":"821000000000",
"recipientGroupingKey":"RecipientGroupingKey"
}
],
"userId":"",
"statsId":"statsId"
}
[Response]
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":{
"requestId":"20180810100630ReZQ6KZzAH0",
"statusCode":"2",
"senderGroupingKey":"SenderGroupingKey",
"sendResultList":[
{
"recipientNo":"01000000000",
"resultCode":0,
"resultMessage":"SUCCESS",
"recipientSeq":1,
"recipientGroupingKey":"RecipientGroupingKey"
}
]
}
}
}
[URL]
GET /sms/v3.0/appKeys/{appKey}/sender/sms
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter] * requestId 또는 startRequestDate + endRequestDate 또는 startCreateDate + endCreateDate는 필수입니다. * 등록 날짜/발송 날짜를 동시에 검색하는 경우, 발송 날짜는 무시됩니다.
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
requestId | String | 25 | 필수 | 요청 ID |
startRequestDate | String | - | 필수 | 발송 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endRequestDate | String | - | 필수 | 발송 날짜 종료값(yyyy-MM-dd HH:mm:ss) |
startCreateDate | String | - | 필수 | 등록 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endCreateDate | String | - | 필수 | 등록 날짜 종료값(yyyy-MM-dd HH:mm:ss) |
startResultDate | String | - | 옵션 | 수신 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endResultDate | String | - | 옵션 | 수신 날짜 종료값(yyyy-MM-dd HH:mm:ss) |
sendNo | String | 13 | 옵션 | 발신 번호 |
recipientNo | String | 20 | 옵션 | 수신 번호 |
templateId | String | 50 | 옵션 | 템플릿 번호 |
msgStatus | String | 1 | 옵션 | 메시지 상태 코드(0: 실패, 1: 요청, 2: 처리 중, 3:성공, 4:예약취소, 5:중복실패) |
resultCode | String | 10 | 옵션 | 수신 결과 코드 [검색 코드표] |
subResultCode | String | 10 | 옵션 | 수신 결과 상세 코드 [검색 코드표] |
senderGroupingKey | String | 100 | 옵션 | 발송자 그룹 키 |
recipientGroupingKey | String | 100 | 옵션 | 수신자 그룹 키 |
pageNum | Integer | - | 옵션 | 페이지 번호(기본값 : 1) |
pageSize | Integer | 1000 | 옵션 | 검색 수(기본값 : 15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/sms?startRequestDate='"${START_DATE}"'&endRequestDate='"${END_DATE}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"resultCode":0,
"resultMessage":"SUCCESS",
"isSuccessful":true
},
"body":{
"pageNum":1,
"pageSize":15,
"totalCount":1,
"data":[
{
"requestId":"20180810100630ReZQ6KZzAH0",
"requestDate":"2018-08-10 10:06:30.0",
"resultDate":"2018-08-10 10:06:42.0",
"templateId":"TemplateId",
"templateName":"템플릿명",
"categoryId":0,
"categoryName":"카테고리명",
"body":"단문 테스트",
"sendNo":"15446859",
"countryCode":"82",
"recipientNo":"01000000000",
"msgStatus":"3",
"msgStatusName":"성공",
"resultCode":"1000",
"resultCodeName":"성공",
"telecomCode":10001,
"telecomCodeName":"SKT",
"recipientSeq":1,
"sendType":"0",
"messageType":"SMS",
"userId":"tester",
"adYn":"N",
"resultMessage": "",
"senderGroupingKey":"SenderGroupingKey",
"recipientGroupingKey":"RecipientGroupingKey"
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.pageNum | Integer | 현재 페이지 번호 |
body.pageSize | Integer | 검색된 데이터 수 |
body.totalCount | Integer | 총 데이터 수 |
body.data[].requestId | String | 요청 ID |
body.data[].requestDate | String | 발신 일시 |
body.data[].resultDate | String | 수신 일시 |
body.data[].templateId | String | 템플릿 ID |
body.data[].templateName | String | 템플릿명 |
body.data[].categoryId | String | 카테고리 ID |
body.data[].categoryName | String | 카테고리명 |
body.data[].body | String | 본문 내용 |
body.data[].sendNo | String | 발신 번호 |
body.data[].countryCode | String | 국가 번호 |
body.data[].recipientNo | String | 수신 번호 |
body.data[].msgStatus | String | 메시지 상태 코드 |
body.data[].msgStatusName | String | 메시지 상태 코드명 |
body.data[].resultCode | String | 수신 결과 코드 [수신 결과 코드표] |
body.data[].resultCodeName | String | 수신 결과 코드명 |
body.data[].telecomCode | Integer | 통신사 코드 |
body.data[].telecomCodeName | String | 통신사명 |
body.data[].recipientSeq | Integer | 발송 상세 ID(상세 검색 시 필수)(구 mtPr) |
body.data[].sendType | String | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
body.data[].messageType | String | 메시지 타입(SMS/LMS/MMS/AUTH) |
body.data[].userId | String | 발송 요청 ID |
body.data[].adYn | String | 광고 여부 |
body.data[].senderGroupingKey | String | 발신자 그룹 키 |
body.data[].recipientGroupingKey | String | 수신자 그룹 키 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/sender/sms/{requestId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
requestId | String | 요청 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 필수 | 설명 |
---|---|---|---|
recipientSeq | Integer | 필수 | 발송 상세 ID |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/sms/'"${REQUEST_ID}"'?recipientSeq='"${RECIPIENT_SEQ}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"resultCode":0,
"resultMessage":"SUCCESS",
"isSuccessful":true
},
"body":{
"data":{
"requestId":"20180810100630ReZQ6KZzAH0",
"requestDate":"2018-08-10 10:06:30.0",
"resultDate":"2018-08-10 10:06:42.0",
"templateId":"TemplateId",
"templateName":"템플릿명",
"categoryId":0,
"categoryName":"카테고리명",
"body":"본문",
"sendNo":"15446859",
"countryCode":"82",
"recipientNo":"01000000000",
"msgStatus":"3",
"msgStatusName":"성공",
"resultCode":"1000",
"resultCodeName":"성공",
"telecomCode":10001,
"telecomCodeName":"SKT",
"recipientSeq":1,
"sendType":"0",
"messageType":"SMS",
"userId":"tester",
"adYn":"N",
"originCode":"123456789"
"resultMessage": "",
"senderGroupingKey":"SenderGroupingKey",
"recipientGroupingKey":"RecipientGroupingKey"
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestId | String | 요청 ID |
body.data.requestDate | String | 발신 일시 |
body.data.resultDate | String | 수신 일시 |
body.data.templateId | String | 템플릿 ID |
body.data.templateName | String | 템플릿명 |
body.data.categoryId | String | 카테고리 ID |
body.data.categoryName | String | 카테고리명 |
body.data.body | String | 본문 내용 |
body.data.sendNo | String | 발신 번호 |
body.data.countryCode | String | 국가 번호 |
body.data.recipientNo | String | 수신 번호 |
body.data.msgStatus | String | 메시지 상태 코드 |
body.data.msgStatusName | String | 메시지 상태 코드명 |
body.data.resultCode | String | 수신 결과 코드 [수신 결과 코드표] |
body.data.resultCodeName | String | 수신 결과 코드명 |
body.data.telecomCode | Integer | 통신사 코드 |
body.data.telecomCodeName | String | 통신사명 |
body.data.recipientSeq | Integer | 발송 상세 ID(상세 검색 시 필수)(구 mtPr) |
body.data.sendType | String | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
body.data.messageType | String | 메시지 타입(SMS/LMS/MMS/AUTH) |
body.data.userId | String | 발송 요청 ID |
body.data.adYn | String | 광고 여부 |
body.data.originCode | String | 10 |
body.data.senderGroupingKey | String | 발신자 그룹 키 |
body.data.recipientGroupingKey | String | 수신자 그룹 키 |
※ LMS/MMS는 해외 발송이 불가능합니다.
[URL]
POST /sms/v3.0/appKeys/{appKey}/sender/mms
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"templateId":"TemplateId",
"title":"Title",
"body":"Body",
"sendNo":"15446859",
"requestDate":"2018-08-10 10:00",
"senderGroupingKey":"SenderGroupingKey",
"recipientList":[
{
"recipientNo":"01000000000",
"countryCode":"82",
"internationalRecipientNo":"821000000000",
"templateParameter":{
"key":"value"
},
"recipientGroupingKey":"recipientGroupingKey"
}
],
"userId":"UserId",
"statsId":"statsId",
"originCode":"123456789"
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
templateId | String | 50 | X | 발송 템플릿 ID |
title | String | 120 | O | 제목 |
body | String | 4000 | O | 본문 |
sendNo | String | 13 | O | 발신 번호 |
requestDate | String | - | X | 예약 일시(yyyy-MM-dd HH:mm) |
senderGroupingKey | String | 100 | X | 발신자 그룹 키 |
recipientList[].recipientNo | String | 20 | O | 수신 번호 countryCode와 조합하여 사용 가능 |
recipientList[].countryCode | String | 8 | X | 국가 번호 [기본값: 82(한국)] MMS는 해외 발송 불가 |
recipientList[].internationalRecipientNo | String | 20 | X | 국가 번호가 포함된 수신 번호 예)821012345678 recipientNo가 있을 경우 이 값은 무시된다. |
recipientList[].templateParameter | Object | - | X | 템플릿 파라미터(템플릿 ID 입력 시) |
recipientList[].templateParameter.{key} | String | - | X | 치환 키(##key##) |
recipientList[].templateParameter.{value} | Object | - | X | 치환 키에 매핑되는 Value값 |
recipientList[].recipientGroupingKey | String | 1000 | X | 수신자 그룹 키 |
userId | String | 100 | X | 발송 구분자 ex)admin,system |
statsId | String | 10 | X | 통계 ID(발신 검색 조건에는 포함되지 않습니다) |
originCode | String | 10 | X | 식별 코드(특수한 유형의 부가통신사업자 등록증에 기재되어 있는 기호, 문자, 공백을 제외한 등록번호 9자리 숫자) 특수한 유형의 부가통신사업자가 아닌 경우 사용하지 않습니다. 기본적으로 NHN Cloud의 식별 코드가 삽입됩니다. |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/mms' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"title": "{제목}",
"body": "{본문 내용}",
"sendNo": "15446859",
"attachFileIdList": [0],
"recipientList": [{
"recipientNo": "01000000000",
"templateParameter": {}
}
],
"userId": ""
}'
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":{
"requestId":"20180810100630ReZQ6KZzAH0",
"statusCode":"2",
"senderGroupingKey":"SenderGroupingKey",
"sendResultList":[
{
"recipientNo":"01000000000",
"resultCode":0,
"resultMessage":"SUCCESS",
"recipientSeq":1,
"recipientGroupingKey":"RecipientGroupingKey"
}
]
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestId | String | 요청 ID |
body.data.statusCode | String | 요청 상태 코드(1:요청 중, 2:요청 완료, 3:요청 실패) |
body.data.senderGroupingKey | String | 발신자 그룹 키 |
body.data.sendResultList[].recipientNo | String | 수신 번호 |
body.data.sendResultList[].resultCode | Integer | 결과 코드 |
body.data.sendResultList[].resultMessage | String | 결과 메시지 |
body.data.sendResultList[].recipientSeq | Integer | 수신자 시퀀스(mtPr) |
body.data.sendResultList[].recipientGroupingKey | String | 수신자 그룹 키 |
Http metho | URL |
---|---|
POST | https://api-sms.cloud.toast.com/sms/v3.0/appKeys/{appKey}/sender/mms |
[Request body]
{
"title": "제목",
"body":"본문",
"sendNo":"15446859",
"senderGroupingKey":"SenderGroupingKey",
"recipientList":[
{
"recipientNo":"01000000000",
"recipientGroupingKey":"RecipientGroupingKey"
},
{
"recipientNo":"01000000001",
"recipientGroupingKey":"RecipientGroupingKey2"
}
],
"statsId":"statsId"
}
[Response]
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":{
"requestId":"20180810100630ReZQ6KZzAH0",
"statusCode":"2",
"senderGroupingKey":"SenderGroupingKey",
"sendResultList":[
{
"recipientNo":"01000000000",
"resultCode":0,
"resultMessage":"SUCCESS",
"recipientSeq":1,
"recipientGroupingKey":"RecipientGroupingKey"
},
{
"recipientNo":"01000000001",
"resultCode":0,
"resultMessage":"SUCCESS",
"recipientSeq":2,
"recipientGroupingKey":"RecipientGroupingKey2"
}
]
}
}
}
Http method | URL |
---|---|
POST | https://api-sms.cloud.toast.com/sms/v3.0/appKeys/{appKey}/sender/mms |
[Request body]
{
"title": "제목",
"body": "본문",
"sendNo": "15446859",
"senderGroupingKey": "SenderGrouping",
"attachFileIdList": [0],
"recipientList": [{
"recipientNo": "01010000000",
"recipientGroupingKey":"RecipientGroupingKey"
}],
"statsId":"statsId"
}
[Response]
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"requestId": "20180810100630ReZQ6KZzAH0",
"statusCode": "2",
"senderGroupingKey": "SenderGrouping",
"sendResultList" : [
{
"recipientNo" : {수신 번호},
"resultCode" : 0,
"resultMessage" : "SUCCESS"
"recipientSeq": 1,
"recipientGroupingKey":"RecipientGroupingKey"
}
]
}
}
}
[URL]
GET /sms/v3.0/appKeys/{appKey}/sender/mms
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter] * requestId 또는 startRequestDate + endRequestDate 또는 startCreateDate + endCreateDate는 필수입니다. * 등록 날짜/발송 날짜를 동시에 검색하는 경우, 발송 날짜는 무시됩니다.
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
requestId | String | 25 | 필수 | 요청 ID |
startRequestDate | String | - | 필수 | 발송 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endRequestDate | String | - | 필수 | 발송 날짜 종료값(yyyy-MM-dd HH:mm:ss) |
startCreateDate | String | - | 필수 | 등록 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endCreateDate | String | - | 필수 | 등록 날짜 종료값(yyyy-MM-dd HH:mm:ss) |
startResultDate | String | - | 옵션 | 수신 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endResultDate | String | - | 옵션 | 수신 날짜 종료값(yyyy-MM-dd HH:mm:ss) |
sendNo | String | 13 | 옵션 | 발신 번호 |
recipientNo | String | 20 | 옵션 | 수신 번호 |
templateId | String | 50 | 옵션 | 템플릿 번호 |
msgStatus | String | 1 | 옵션 | 메시지 상태 코드(0: 실패, 1: 요청, 2: 처리 중, 3:성공, 4:예약취소, 5:중복실패) |
resultCode | String | 10 | 옵션 | 수신 결과 코드 [검색 코드표] |
subResultCode | String | 10 | 옵션 | 수신 결과 상세 코드 [검색 코드표] |
senderGroupingKey | String | 100 | 옵션 | 발송자 그룹 키 |
recipientGroupingKey | String | 100 | 옵션 | 수신자 그룹 키 |
pageNum | Integer | - | 옵션 | 페이지 번호(기본값 : 1) |
pageSize | Integer | 1000 | 옵션 | 검색 수(기본값 : 15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/mms?startRequestDate='"${START_DATE}"'&endRequestDate='"${END_DATE}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"resultCode":0,
"resultMessage":"SUCCESS",
"isSuccessful":true
},
"body":{
"pageNum":1,
"pageSize":15,
"totalCount":1,
"data":[
{
"requestId":"20180810100630ReZQ6KZzAH0",
"requestDate":"2018-08-10 10:06:30.0",
"resultDate":"2018-08-10 10:06:42.0",
"templateId":"TemplateId",
"templateName":"템플릿명",
"categoryId":0,
"categoryName":"카테고리명",
"title":"제목",
"body":"본문",
"sendNo":"15446859",
"countryCode":"82",
"recipientNo":"01000000000",
"msgStatus":"3",
"msgStatusName":"성공",
"resultCode":"1000",
"resultCodeName":"성공",
"telecomCode":10001,
"telecomCodeName":"SKT",
"recipientSeq":1,
"sendType":"0",
"messageType":"LMS",
"userId":"tester",
"adYn":"N",
"attachFileList": [{
fileId: Integer,
filePath: String,
fileName: String,
saveFileName: String,
uploadType: String
}],
"resultMessage":"",
"senderGroupingKey":"SenderGroupingKey",
"recipientGroupingKey":"RecipientGroupingKey"
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body | Object | 본문 영역 |
body.pageNum | Integer | 현재 페이지 번호 |
body.pageSize | Integer | 검색된 데이터 수 |
body.totalCount | Integer | 총 데이터 수 |
body.data[].requestId | String | 요청 ID |
body.data[].requestDate | String | 발신 일시 |
body.data[].resultDate | String | 수신 일시 |
body.data[].templateId | String | 템플릿 ID |
body.data[].templateName | String | 템플릿명 |
body.data[].categoryId | String | 카테고리 ID |
body.data[].categoryName | String | 카테고리명 |
body.data[].body | String | 본문 내용 |
body.data[].sendNo | String | 발신 번호 |
body.data[].countryCode | String | 국가 번호 |
body.data[].recipientNo | String | 수신 번호 |
body.data[].msgStatus | String | 메시지 상태 코드 |
body.data[].msgStatusName | String | 메시지 상태 코드명 |
body.data[].resultCode | String | 수신 결과 코드 [수신 결과 코드표] |
body.data[].resultCodeName | String | 수신 결과 코드명 |
body.data[].telecomCode | Integer | 통신사 코드 |
body.data[].telecomCodeName | String | 통신사명 |
body.data[].recipientSeq | Integer | 발송 상세 ID(상세 검색 시 필수)(구 mtPr) |
body.data[].sendType | String | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
body.data[].messageType | String | 메시지 타입(SMS/LMS/MMS/AUTH) |
body.data[].userId | String | 발송 요청 ID |
body.data[].adYn | String | 광고 여부 |
body.data[].attachFileList[].fileId | Integer | 파일 ID |
body.data[].attachFileList[].filePath | String | 파일 저장경로(내부용) |
body.data[].attachFileList[].filename | String | 파일명 |
body.data[].attachFileList[].saveFileName | String | 저장된 첨부파일명 |
body.data[].attachFileList[].uploadType | String | 업로드 타입 |
body.data[].senderGroupingKey | String | 발신자 그룹 키 |
body.data[].recipientGroupingKey | String | 수신자 그룹 키 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/sender/mms/{requestId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
requestId | String | 요청 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 필수 | 설명 |
---|---|---|---|
recipientSeq | Integer | 필수 | 발송 상세 ID |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/mms/'"${REQUEST_ID}"'?recipientSeq='"${RECIPIENT_SEQ}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"resultCode":0,
"resultMessage":"SUCCESS",
"isSuccessful":true
},
"body":{
"data":{
"requestId":"20180810100630ReZQ6KZzAH0",
"requestDate":"2018-08-10 10:06:30.0",
"resultDate":"2018-08-10 10:06:42.0",
"templateId":"TemplateId",
"templateName":"템플릿명",
"categoryId":0,
"categoryName":"카테고리명",
"title":"제목",
"body":"본문",
"sendNo":"15446859",
"countryCode":"82",
"recipientNo":"01000000000",
"msgStatus":"3",
"msgStatusName":"성공",
"resultCode":"1000",
"resultCodeName":"성공",
"telecomCode":10001,
"telecomCodeName":"SKT",
"recipientSeq":1,
"sendType":"0",
"messageType":"MMS",
"userId":"tester",
"adYn":"N",
"originCode":"123456789",
"attachFileList": [{
fileId: Integer,
filePath: String,
fileName: String,
saveFileName: String,
uploadType: String
}],
"resultMessage":"",
"senderGroupingKey":"SenderGroupingKey",
"recipientGroupingKey":"RecipientGroupingKey"
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body | Object | 본문 영역 |
body.pageNum | Integer | 현재 페이지 번호 |
body.pageSize | Integer | 검색된 데이터 수 |
body.totalCount | Integer | 총 데이터 수 |
body.data.requestId | String | 요청 ID |
body.data.requestDate | String | 발신 일시 |
body.data.resultDate | String | 수신 일시 |
body.data.templateId | String | 템플릿 ID |
body.data.templateName | String | 템플릿명 |
body.data.categoryId | String | 카테고리 ID |
body.data.categoryName | String | 카테고리명 |
body.data.body | String | 본문 내용 |
body.data.sendNo | String | 발신 번호 |
body.data.countryCode | String | 국가 번호 |
body.data.recipientNo | String | 수신 번호 |
body.data.msgStatus | String | 메시지 상태 코드 |
body.data.msgStatusName | String | 메시지 상태 코드명 |
body.data.resultCode | String | 수신 결과 코드 [수신 결과 코드표] |
body.data.resultCodeName | String | 수신 결과 코드명 |
body.data.telecomCode | Integer | 통신사 코드 |
body.data.telecomCodeName | String | 통신사명 |
body.data.recipientSeq | Integer | 발송 상세 ID(상세 검색 시 필수) |
body.data.sendType | String | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
body.data.messageType | String | 메시지 타입(SMS/LMS/MMS/AUTH) |
body.data.userId | String | 발송 요청 ID |
body.data.adYn | String | 광고 여부 |
body.data.originCode | String | 10 |
body.data.attachFileList[].fileId | Integer | 파일 ID |
body.data.attachFileList[].filePath | String | 파일 저장경로(내부용) |
body.data.attachFileList[].filename | String | 파일명 |
body.data.attachFileList[].saveFileName | String | 저장된 첨부파일명 |
body.data.attachFileList[].uploadType | String | 업로드 타입 |
body.data.senderGroupingKey | String | 발신자 그룹 키 |
body.data.recipientGroupingKey | String | 수신자 그룹 키 |
1. 인증용 SMS 발송 시 본문 내 포함되어야 할 인증 문구 안내
구분 | 인증 문구 |
---|---|
인증용 SMS(긴급) | auth, password, verif, にんしょう, 認証, 비밀번호, 인증 |
[URL]
POST /sms/v3.0/appKeys/{appKey}/sender/auth/sms
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"templateId":"TemplateId",
"body":"본문",
"sendNo":"15446859",
"requestDate":"2018-08-10 10:00",
"senderGroupingKey":"SenderGroupingKey",
"recipientList":[
{
"recipientNo":"01000000000",
"countryCode":"82",
"internationalRecipientNo":"821000000000",
"templateParameter":{
"key":"value"
},
"recipientGroupingKey":"recipientGroupingKey"
}
],
"userId":"UserId",
"statsId":"statsId",
"originCode":"123456789"
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
templateId | String | 50 | X | 발송 템플릿 ID |
body | String | 표준: 90바이트, 최대: 255자(EUC-KR 기준) [주의사항] | O | 본문 내용 [주의사항] |
sendNo | String | 13 | O | 발신 번호 |
requestDate | String | - | X | 예약 일시(yyyy-MM-dd HH:mm) |
senderGroupingKey | String | 100 | X | 발신자 그룹 키 |
recipientList[].recipientNo | String | 20 | O | 수신 번호 countryCode와 조합하여 사용 가능 |
recipientList[].countryCode | String | 8 | X | 국가 번호 [기본값: 82(한국)] |
recipientList[].internationalRecipientNo | String | 20 | X | 국가 번호가 포함된 수신 번호 예)821012345678 recipientNo가 있을 경우 이 값은 무시 |
recipientList[].templateParameter | Object | - | X | 템플릿 파라미터(템플릿 ID 입력 시) |
recipientList[].templateParameter.{key} | String | - | X | 치환 키(##key##) |
recipientList[].templateParameter.{value} | Object | - | X | 치환 키에 매핑되는 Value값 |
recipientList[].recipientGroupingKey | String | 100 | X | 수신자 그룹 키 |
userId | String | 100 | X | 발송 구분자 ex)admin,system |
statsId | String | 10 | X | 통계 ID(발신 검색 조건에는 포함되지 않습니다) |
originCode | String | 10 | X | 식별 코드(특수한 유형의 부가통신사업자 등록증에 기재되어 있는 기호, 문자, 공백을 제외한 등록번호 9자리 숫자) 특수한 유형의 부가통신사업자가 아닌 경우 사용하지 않습니다. 기본적으로 NHN Cloud의 식별 코드가 삽입됩니다. |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/auth/sms' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"body": "인증 테스트",
"sendNo": "15446859",
"recipientList": [{
"recipientNo": "01000000000",
"templateParameter": {}
}
],
"userId": ""
}'
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":{
"requestId":"20180810100630ReZQ6KZzAH0",
"statusCode":"2",
"senderGroupingKey":"SenderGroupingKey",
"sendResultList":[
{
"recipientNo":"01000000000",
"resultCode":0,
"resultMessage":"SUCCESS",
"recipientSeq":1,
"recipientGroupingKey":"RecipientGroupingKey"
}
]
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestId | String | 요청 ID |
body.data.statusCode | String | 요청 상태 코드(1:요청 중, 2:요청 완료, 3:요청 실패) |
body.data.senderGroupingKey | String | 발신자 그룹 키 |
body.data.sendResultList[].recipientNo | String | 수신 번호 |
body.data.sendResultList[].resultCode | Integer | 결과 코드 |
body.data.sendResultList[].resultMessage | String | 결과 메시지 |
body.data.sendResultList[].recipientSeq | Integer | 수신자 시퀀스(mtPr) |
body.data.sendResultList[].recipientGroupingKey | String | 수신자 그룹 키 |
Http metho | URL |
---|---|
POST | https://api-sms.cloud.toast.com/sms/v3.0/appKeys/{appKey}/sender/auth/sms |
[Request body]
{
"body":"본문",
"sendNo":"15446859",
"senderGroupingKey":"SenderGroupingKey",
"recipientList":[
{
"recipientNo":"01000000000",
"recipientGroupingKey":"RecipientGroupingKey"
},
{
"recipientNo":"01000000001",
"recipientGroupingKey":"RecipientGroupingKey2"
}
],
"statsId":"statsId"
}
[Response]
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":{
"requestId":"20180810100630ReZQ6KZzAH0",
"statusCode":"2",
"senderGroupingKey":"SenderGroupingKey",
"sendResultList":[
{
"recipientNo":"01000000000",
"resultCode":0,
"resultMessage":"SUCCESS",
"recipientSeq":1,
"recipientGroupingKey":"RecipientGroupingKey"
},
{
"recipientNo":"01000000001",
"resultCode":0,
"resultMessage":"SUCCESS",
"recipientSeq":2,
"recipientGroupingKey":"RecipientGroupingKey2"
}
]
}
}
}
[URL]
GET /sms/v3.0/appKeys/{appKey}/sender/auth/sms
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter] * requestId 또는 startRequestDate + endRequestDate 또는 startCreateDate + endCreateDate는 필수입니다. * 등록 날짜/발송 날짜를 동시에 검색하는 경우, 발송 날짜는 무시됩니다.
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
requestId | String | 25 | 필수 | 요청 ID |
startRequestDate | String | - | 필수 | 발송 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endRequestDate | String | - | 필수 | 발송 날짜 종료값(yyyy-MM-dd HH:mm:ss) |
startCreateDate | String | - | 필수 | 등록 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endCreateDate | String | - | 필수 | 등록 날짜 종료값(yyyy-MM-dd HH:mm:ss) |
startResultDate | String | - | 옵션 | 수신 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endResultDate | String | - | 옵션 | 수신 날짜 종료값(yyyy-MM-dd HH:mm:ss) |
sendNo | String | 13 | 옵션 | 발신 번호 |
recipientNo | String | 20 | 옵션 | 수신 번호 |
templateId | String | 50 | 옵션 | 템플릿 번호 |
msgStatus | String | 1 | 옵션 | 메시지 상태 코드(0: 실패, 1: 요청, 2: 처리 중, 3:성공, 4:예약취소, 5:중복실패) |
resultCode | String | 10 | 옵션 | 수신 결과 코드 [검색 코드표] |
subResultCode | String | 10 | 옵션 | 수신 결과 상세 코드 [검색 코드표] |
senderGroupingKey | String | 100 | 옵션 | 발송자 그룹 키 |
recipientGroupingKey | String | 100 | 옵션 | 수신자 그룹 키 |
pageNum | Integer | - | 옵션 | 페이지 번호(기본값 : 1) |
pageSize | Integer | 1000 | 옵션 | 검색 수(기본값 : 15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/auth/sms?startRequestDate='"${START_DATE}"'&endRequestDate='"${END_DATE}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"resultCode":0,
"resultMessage":"SUCCESS",
"isSuccessful":true
},
"body":{
"pageNum":1,
"pageSize":15,
"totalCount":1,
"data":[
{
"requestId":"20180810100630ReZQ6KZzAH0",
"requestDate":"2018-08-10 10:06:30.0",
"resultDate":"2018-08-10 10:06:42.0",
"templateId":"TemplateId",
"templateName":"템플릿명",
"categoryId":0,
"categoryName":"카테고리명",
"body":"단문 테스트",
"sendNo":"15446859",
"countryCode":"82",
"recipientNo":"01000000000",
"msgStatus":"3",
"msgStatusName":"성공",
"resultCode":"1000",
"resultCodeName":"성공",
"telecomCode":10001,
"telecomCodeName":"SKT",
"recipientSeq":1,
"sendType":"0",
"messageType":"AUTH",
"userId":"tester",
"adYn":"N",
"resultMessage": "",
"senderGroupingKey":"SenderGroupingKey",
"recipientGroupingKey":"RecipientGroupingKey"
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.pageNum | Integer | 현재 페이지 번호 |
body.pageSize | Integer | 검색된 데이터 수 |
body.totalCount | Integer | 총 데이터 수 |
body.data[].requestId | String | 요청 ID |
body.data[].requestDate | String | 발신 일시 |
body.data[].resultDate | String | 수신 일시 |
body.data[].templateId | String | 템플릿 ID |
body.data[].templateName | String | 템플릿명 |
body.data[].categoryId | String | 카테고리 ID |
body.data[].categoryName | String | 카테고리명 |
body.data[].body | String | 본문 내용 |
body.data[].sendNo | String | 발신 번호 |
body.data[].countryCode | String | 국가 번호 |
body.data[].recipientNo | String | 수신 번호 |
body.data[].msgStatus | String | 메시지 상태 코드 |
body.data[].msgStatusName | String | 메시지 상태 코드명 |
body.data[].resultCode | String | 수신 결과 코드 [수신 결과 코드표] |
body.data[].resultCodeName | String | 수신 결과 코드명 |
body.data[].telecomCode | Integer | 통신사 코드 |
body.data[].telecomCodeName | String | 통신사명 |
body.data[].recipientSeq | Integer | 발송 상세 ID(상세 검색 시 필수)(구 mtPr) |
body.data[].sendType | String | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
body.data[].messageType | String | 메시지 타입(SMS/LMS/MMS/AUTH) |
body.data[].userId | String | 발송 요청 ID |
body.data[].adYn | String | 광고 여부 |
body.data[].senderGroupingKey | String | 발신자 그룹 키 |
body.data[].recipientGroupingKey | String | 수신자 그룹 키 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/sender/auth/sms/{requestId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
requestId | String | 요청 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 필수 | 설명 |
---|---|---|---|
recipientSeq | Integer | 필수 | 발송 상세 ID |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/auth/sms/'"${REQUEST_ID}"'?recipientSeq='"${RECIPIENT_SEQ}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"resultCode":0,
"resultMessage":"SUCCESS",
"isSuccessful":true
},
"body":{
"data":{
"requestId":"20180810100630ReZQ6KZzAH0",
"requestDate":"2018-08-10 10:06:30.0",
"resultDate":"2018-08-10 10:06:42.0",
"templateId":"TemplateId",
"templateName":"템플릿명",
"categoryId":0,
"categoryName":"카테고리명",
"body":"본문",
"sendNo":"15446859",
"countryCode":"82",
"recipientNo":"01000000000",
"msgStatus":"3",
"msgStatusName":"성공",
"resultCode":"1000",
"resultCodeName":"성공",
"telecomCode":10001,
"telecomCodeName":"SKT",
"recipientSeq":1,
"sendType":"0",
"messageType":"AUTH",
"userId":"tester",
"adYn":"N",
"originCode":"123456789",
"resultMessage": "",
"senderGroupingKey":"SenderGroupingKey",
"recipientGroupingKey":"RecipientGroupingKey"
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestId | String | 요청 ID |
body.data.requestDate | String | 발신 일시 |
body.data.resultDate | String | 수신 일시 |
body.data.templateId | String | 템플릿 ID |
body.data.templateName | String | 템플릿명 |
body.data.categoryId | String | 카테고리 ID |
body.data.categoryName | String | 카테고리명 |
body.data.body | String | 본문 내용 |
body.data.sendNo | String | 발신 번호 |
body.data.countryCode | String | 국가 번호 |
body.data.recipientNo | String | 수신 번호 |
body.data.msgStatus | String | 메시지 상태 코드 |
body.data.msgStatusName | String | 메시지 상태 코드명 |
body.data.resultCode | String | 수신 결과 코드 [수신 결과 코드표] |
body.data.resultCodeName | String | 수신 결과 코드명 |
body.data.telecomCode | Integer | 통신사 코드 |
body.data.telecomCodeName | String | 통신사명 |
body.data.recipientSeq | Integer | 발송 상세 ID(상세 검색 시 필수)(구 mtPr) |
body.data.sendType | String | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
body.data.messageType | String | 메시지 타입(SMS/LMS/MMS/AUTH) |
body.data.userId | String | 발송 요청 ID |
body.data.adYn | String | 광고 여부 |
body.data.originCode | String | 10 |
body.data.senderGroupingKey | String | 발신자 그룹 키 |
body.data.recipientGroupingKey | String | 수신자 그룹 키 |
[URL]
POST /sms/v3.0/appKeys/{appKey}/sender/ad-sms
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request Body] 위에 SMS 발송과 동일. [Request Body 참고]
단, 본문에 아래 문구가 필수로 들어가야 합니다.
080 번호는 콘솔의 080 수신 거부 설정 탭에서 확인할 수 있습니다.
(광고)
[무료 수신 거부]080XXXXXXX
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/ad-sms' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"body": "(광고) 테스트\n [무료 수신 거부]0808880327",
"sendNo": "15446859",
"recipientList": [{
"recipientNo": "01000000000",
"templateParameter": {}
}
],
"userId": ""
}'
※ LMS/MMS는 해외 발송이 불가능합니다.
[URL]
POST /sms/v3.0/appKeys/{appKey}/sender/ad-mms
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Request Body] 위에 MMS 발송과 동일. [Request Body 참고]
단, 본문에 아래 문구가 필수로 들어가야 합니다.
080 번호는 콘솔의 080 수신 거부 설정 탭에서 확인할 수 있습니다.
(광고)
[무료 수신 거부]080XXXXXXX
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/ad-mms' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
-d '{
"title": "{제목}",
"body": "(광고) 테스트\n [무료 수신 거부]0808880327",
"sendNo": "15446859",
"recipientList": [{
"recipientNo": "01000000000",
"templateParameter": {}
}
],
"userId": ""
}'
[URL]
GET /sms/v3.0/appKeys/{appKey}/message-results?startUpdateDate={startUpdateDate}&endUpdateDate={endUpdateDate}&messageType={messageType}&pageNum={pageNum}&pageSize={pageSize}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter] * 검색 시작 시간과 검색 종료 시간의 범위는 하루로 제한됩니다.
값 | 타입 | 필수 | 설명 |
---|---|---|---|
startUpdateDate | String | 필수 | 결과 업데이트 검색 시작 시간 yyyy-MM-dd HH:mm:ss |
endUpdateDate | String | 필수 | 결과 업데이트 검색 종료 시간 yyyy-MM-dd HH:mm:ss |
messageType | String | 옵션 | 메시지 타입(SMS/LMS/MMS/AUTH) |
pageNum | Integer | 옵션 | 페이지 번호(기본값:1) |
pageSize | Integer | 옵션 | 검색 수(기본값:15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/message-results?startRequestDate='"${START_DATE}"'&endRequestDate='"${END_DATE}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"Success."
},
"body":{
"pageNum":1,
"pageSize":15,
"totalCount":1,
"data":[
{
"messageType":"SMS",
"requestId":"",
"recipientSeq":0,
"resultCode":"1000",
"resultCodeName":"성공",
"requestDate":"2018-10-04 16:16:00.0",
"resultDate":"2018-10-04 16:17:10.0",
"updateDate":"2018-10-04 16:17:15.0",
"telecomCode": "10003",
"telecomCodeName": "LGU",
"senderGroupingKey":"senderGroupingKey",
"recipientGroupingKey":"recipientGroupingKey"
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.resultUpdateList[].messageType | String | 메시지 타입(SMS/LMS/MMS/AUTH) |
body.data.resultUpdateList[].requestId | String | 요청 ID |
body.data.resultUpdateList[].recipientSeq | Integer | 수신자 시퀀스 |
body.data.resultUpdateList[].resultCode | String | 결과 코드 |
body.data.resultUpdateList[].resultCodeName | String | 결과 코드명 |
body.data.resultUpdateList[].requestDate | String | 요청 일시(yyyy-MM-dd HH:mm:ss.S) |
body.data.resultUpdateList[].resultDate | String | 수신 일시(yyyy-MM-dd HH:mm:ss.S) |
body.data.resultUpdateList[].updateDate | String | 결과 업데이트 일시(yyyy-MM-dd HH:mm:ss.S) |
body.data.resultUpdateList[].telecomCode | String | 통신사 코드 |
body.data.resultUpdateList[].telecomCodeName | String | 통신사 코드명 |
body.data.resultUpdateList[].senderGroupingKey | String | 발신자 그룹 키 |
body.data.resultUpdateList[].recipientGroupingKey | String | 수신자 그룹 키 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/mass-sender/
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter] * requestId 또는 startRequestDate + endRequestDate 또는 startCreateDate + endCreateDate는 필수입니다.
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
sendType | required, String | 1 | O | 발송 유형 SMS : "0", MMS : "1" |
requestId | String | - | O | 요청 ID |
startRequestDate | String | - | O | 발송 날짜 시작 |
endRequestDate | String | - | O | 발송 날짜 종료 |
startCreateDate | String | - | O | 등록 날짜 시작 |
endCreateDate | String | - | O | 등록 날짜 종료 |
statusCode | String | 10 | X | 발송 상태 코드 WAIT : "MAS00" READY : "MAS01" SENDREADY : "MAS09" SENDWAIT : "MAS10" SENDING : "MAS11" COMPLETE : "MAS19" CANCEL : "MAS91" FAIL : "MAS99" |
pageNum | optional, Integer | - | X | 페이지 번호 |
pageSize | optional, Integer | 1000 | X | 검색 수 |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/mass-sender?requestId='"${REQUEST_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"pageNum": 1,
"pageSize": 15,
"totalCount": 1,
"data": [
{
"requestId": "20210901033436ZLdZtl8GWZ0",
"requestDate": "2021-09-01 03:34:36.0",
"sendType": "0",
"messageType": "SMS",
"templateId": "",
"masterStatusCode": "MAS19",
"masterStatus" : "COMPLETED",
"sendNo": "01012345000",
"title": null,
"body": "test",
"adYn": "N",
"autoSendYn": "N",
"sendErrorCount": 0,
"createDate": "2021-09-01 03:34:36.0",
"createUser": "63b813a0-f664-11e7-9edb-005056ac7022",
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data[].requestId | String | 요청 ID |
body.data[].requestDate | String | 요청 시간 |
body.data[].masterStatusCode | String | 대량 발송 상태 코드 |
body.data[].masterStatus | String | 대량 발송 상태 |
body.data[].templateId | String | 템플릿 ID |
body.data[].sendNo | String | 발신자 번호 |
body.data[].title | String | 제목 |
body.data[].body | String | 내용 |
body.data[].adYn | String | 광고 여부 |
body.data[].autoSendYn | String | 자동 발송 여부 |
body.data[].sendErrorCount | Integer | 에러 수신자 건수 |
body.data[].createUser | String | 생성자 |
body.data[].createDate | String | 생성 일시 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/mass-sender/receive/{requestId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
requestId | String | 요청 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter] * requestId 또는 startRequestDate + endRequestDate는 필수입니다.
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
recipientNo | String | 20 | X | 수신자 번호 |
startRequestDate | String | - | O | 발송 요청 시작 날짜 |
endRequestDate | String | - | O | 발송 요청 종료 날짜 |
startResultDate | String | - | X | 수신 시작 날짜 |
endResultDate | String | - | X | 수신 종료 날짜 |
msgStatusName | String | 10 | X | 메시지 상태 코드 - READY:준비 - SENDING:발송 요청 중 - COMPLETED : 발송요청 완료 - FAILED : 발송 실패 |
resultCode | String | 10 | X | 수신 결과 코드 |
pageNum | Integer | - | X | 페이지 번호 |
pageSize | Integer | 1000 | X | 검색 수 |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/mass-sender/requestId='"${REQUEST_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"pageNum": 1,
"pageSize": 15,
"totalCount": 1,
"data": [
{
"requestId": "20210901033436ZLdZtl8GWZ0",
"recipientSeq": 1,
"countryCode": "82",
"recipientNo": "01020060836",
"requestDate": "2021-09-01 03:34:36.0",
"msgStatus": "3",
"msgStatusName": "COMPLETED",
"resultCode": null,
"receiveDate": null,
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestId | String | 요청 ID |
body.data.recipientSeq | Integer | 수신자 시퀀스 |
body.data.countryCode | String | 수신자 국가코드 |
body.data.recipientNo | String | 수신자 번호 |
body.data.requestDate | String | 요청 일시 |
body.data.msgStatus | String | 메시지 상태 코드 |
body.data.msgStatusName | String | 메시지 상태 코드명 |
body.data.resultCode | String | 수신 결과 코드[수신 결과 코드표] |
body.data.receiveDate | String | 수신 일시 |
body.data.createDate | String | 등록 일시 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/mass-sender/receive/{requestId}/{recipientSeq}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
requestId | String | 요청 ID |
recipientSeq | String | 시퀀스 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/mass-sender/'"${REQUEST_ID}"'/'"${RECIPIENT_SEQ}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"requestId": "20210901033436ZLdZtl8GWZ0",
"recipientSeq": 1,
"sendType": "0",
"messageType": "SMS",
"templateId": "",
"templateName": null,
"sendNo": "01012345000",
"title": null,
"body": "test",
"recipientNo": "01020060836",
"countryCode": "82",
"requestDate": "2021-09-01 03:34:36.0",
"msgStatus" : "3",
"msgStatusName": "COMPLETED",
"resultCode": null,
"receiveDate": null,
"createDate": null,
"attachFileList": []
}
}
}
값 | 타입 | 설명 |
---|---|---|
header | Object | 헤더 영역 |
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestId | String | 요청 ID |
body.data.recipientSeq | Integer | 수신자 시퀀스 |
body.data.sendType | String | 발송 유형 |
body.data.messageType | String | 메시지 타입 |
body.data.templateId | String | 템플릿 ID |
body.data.templateName | String | 템플릿명 |
body.data.sendNo | String | 발신 번호 |
body.data.title | String | 제목 |
body.data.body | String | 내용 |
body.data.recipientNo | String | 수신자 번호 |
body.data.countryCode | String | 수신자 국가코드 |
body.data.requestDate | String | 요청 일시 |
body.data.msgStatus | String | 메시지 상태 |
body.data.msgStatusName | String | 메시지 상태 이름 |
body.data.resultCode | String | 수신 결과 코드[수신 결과 코드표] |
body.data.receiveDate | String | 수신 일시 |
body.data.createDate | String | 등록 일시 |
body.data.attachFileList[].filePath | String | 첨부 파일 - 경로 |
body.data.attachFileList[].fileName | String | 첨부 파일 - 파일명 |
body.data.attachFileList[].fileSize | Long | 첨부 파일 - 사이즈 |
body.data.attachFileList[].fileSequence | Integer | 첨부 파일 - 파일 번호 |
body.data.attachFileList[].createDate | String | 첨부 파일 - 생성 일시 |
body.data.attachFileList[].updateDate | String | 첨부 파일 - 수정 날짜 |
[URL]
POST /sms/v3.0/appKeys/{appKey}/tag-sender/sms
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"body":"본문",
"sendNo":"15446859",
"requestDate":"2018-03-22 10:00",
"templateId":"TemplateId",
"templateParameter" : {
"key" : "value"
},
"tagExpression":[
"tag1",
"AND",
"tag2"
],
"userId":"user_id",
"adYn":"N",
"autoSendYn":"N",
"statsId":"statsId"
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
body | String | 표준: 90바이트, 최대: 255자(EUC-KR 기준) [주의사항] | O | 본문 내용 |
sendNo | String | 13 | O | 발신 번호 |
requestDate | String | - | X | 예약 일시(yyyy-MM-dd HH:mm) |
templateId | String | 50 | X | 템플릿 ID |
templateParameter | Map |
- | X | 템플릿 파라미터 |
tagExpression | List |
- | O | 태그 표현식 ex) ["tagA","AND","tabB"] |
userId | String | 100 | X | 요청한 유저 ID |
adYn | String | 1 | X | 광고 여부(기본값: N) |
autoSendYn | String | 1 | X | 자동 발송(즉시 발송) 여부(기본값: Y) |
statsId | String | 10 | X | 통계 ID(발신 검색 조건에는 포함되지 않습니다) |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/tag-sender/sms' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"body": "본문",
"sendNo": "15446859",
"templateParameter": {
"key": "value"
},
"tagExpression": ["TsNuyRPF"],
"userId": "user_id",
"adYn": "N",
"autoSendYn": "N",
"statsId": "statsId"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"requestId": "201808130914102Y94ABMNF30"
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestId | String | 요청 ID |
※ LMS/MMS는 해외 발송이 불가능합니다.
[URL]
POST /sms/v3.0/appKeys/{appKey}/tag-sender/mms
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"body":"본문",
"sendNo":"15446859",
"requestDate":"2018-03-22 10:00",
"templateId":"TemplateId",
"templateParameter" : {
"key" : "value"
},
"attachFileIdList" : [
1,
2,
3
],
"tagExpression":[
"tag1",
"AND",
"tag2"
],
"userId":"user_id",
"adYn":"N",
"autoSendYn":"N",
"statsId":"statsId"
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
title | String | 120 | O | 문자 제목 |
body | String | 4000 | O | 문자 내용 |
sendNo | String | 13 | O | 발신 번호 |
requestDate | String | - | X | 예약 일시(yyyy-MM-dd HH:mm) |
templateId | String | 50 | X | 템플릿 ID |
templateParameter | Map |
- | X | 템플릿 파라미터 |
tagExpression | List |
- | O | 태그 표현식 ex) ["tagA","AND","tabB"] |
attachFileIdList | List |
- | X | 첨부 파일 ID(fileId) |
userId | String | 100 | X | 요청한 유저 ID |
adYn | String | 1 | X | 광고 여부(기본값: N) |
autoSendYn | String | 1 | X | 자동 발송(즉시 발송) 여부(기본 Y) |
statsId | String | 10 | X | 통계 ID(발신 검색 조건에는 포함되지 않습니다) |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/tag-sender/mms' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"title": "제목",
"body": "본문",
"sendNo": "15446859",
"templateParameter": {
"key": "value"
},
"tagExpression": ["TsNuyRPF"],
"userId": "user_id",
"adYn": "N",
"autoSendYn": "Y"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"requestId": "201808130914102Y94ABMNF30"
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestId | String | 요청 ID |
[URL]
GET /sms/v3.0/appKeys/{appKey}/tag-sender
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter] * requestId 또는 startRequestDate + endRequestDate 또는 startCreateDate + endCreateDate는 필수입니다.
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
appKey | String | - | O | 앱키 |
sendType | required, String | 1 | O | 발송 유형 SMS : "0", MMS : "1" |
requestId | String | - | O | 요청 ID |
startRequestDate | String | - | O | 발송 날짜 시작 |
endRequestDate | String | - | O | 발송 날짜 종료 |
startCreateDate | String | - | O | 등록 날짜 시작 |
endCreateDate | String | - | O | 등록 날짜 종료 |
statusCode | String | 10 | X | 발송 상태 코드 WAIT : "MAS00" READY : "MAS01" SENDREADY : "MAS09" SENDWAIT : "MAS10" SENDING : "MAS11" COMPLETE : "MAS19" CANCEL : "MAS91" FAIL : "MAS99" |
pageNum | optional, Integer | - | X | 페이지 번호 |
pageSize | optional, Integer | 1000 | X | 검색 수 |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/tag-sender?requestId='"${REQUEST_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "."
},
"body":{
"pageNum":0,
"pageSize":0,
"totalCount":0,
"data" :[{
"requestId": "20171220141558eonMsyDI6P0",
"requestIp": "127.0.0.1",
"sendType": "0",
"templateId": "TemplateId",
"templateName": "템플릿명",
"masterStatusCode": "READY",
"sendNo": "15446859",
"requestDate": "2017-12-20 14:15:58",
"tagExpression": [
"Kb6BjCY1"
],
"title": "제목",
"body": "본문",
"adYn": "N",
"autoSendYn": "Y",
"sendErrorCount": 0,
"createUser": "CreateUser",
"createDate": "2017-12-20 14:15:58.0",
"updateUser": "UpdateUser",
"updateDate": "2017-12-20 14:15:58.0"
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data[].requestId | String | 요청 ID |
body.data[].requestIp | String | 요청 IP |
body.data[].requestDate | String | 요청 시간 |
body.data[].tagSendStatus | String | 태그 발송 상태 |
body.data[].tagExpression[] | List |
태그 표현식 |
body.data[].templateId | String | 템플릿 ID |
body.data[].templateName | String | 템플릿명 |
body.data[].senderName | String | 발신자명 |
body.data[].senderMail | String | 발신자 주소 |
body.data[].title | String | 제목 |
body.data[].body | String | 내용 |
body.data[].adYn | String | 광고 여부 |
body.data[].autoSendYn | String | 자동 발송 여부 |
body.data[].sendErrorCount | Integer | 에러 수신자 건수 |
body.data[].createUser | String | 생성자 |
body.data[].createDate | String | 생성 일시 |
body.data[].updateUser | String | 수정한 사용자 |
body.data[].updateDate | String | 수정 날짜 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/tag-sender/{requestId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
requestId | String | 요청 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter] * requestId 또는 startRequestDate + endRequestDate는 필수입니다.
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
recipientNum | String | 20 | X | 수신자 번호 |
startRequestDate | String | - | O | 발송 요청 시작 날짜 |
endRequestDate | String | - | O | 발송 요청 종료 날짜 |
startResultDate | String | - | X | 수신 시작 날짜 |
endResultDate | String | - | X | 수신 종료 날짜 |
msgStatusName | String | 10 | X | 메시지 상태 코드 - READY:준비 - SENDING:발송 요청 중 - COMPLETED : 발송요청 완료 - FAILED : 발송 실패 |
resultCode | String | 10 | X | 수신 결과 코드 |
pageNum | Integer | - | X | 페이지 번호 |
pageSize | Integer | 1000 | X | 검색 수 |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/tag-sender/'"${REQUEST_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "."
},
"body":{
"pageNum":0,
"pageSize":0,
"totalCount":0,
"data" :[
{
"requestId": "20180813022044Jps2xJ1qsv0",
"recipientSeq": 99,
"countryCode": "82",
"recipientNo": "01000000000",
"requestDate": "2018-08-13 02:20:44.0",
"msgStatus": "3",
"msgStatusName": "COMPLETED",
"resultCode": "3015",
"receiveDate": "2018-08-13 02:20:53.0",
"createDate": "2018-08-13 02:20:46.0",
"updateDate": "2018-08-13 02:27:00.0"
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestId | String | 요청 ID |
body.data.recipientSeq | Integer | 수신자 시퀀스 |
body.data.countryCode | String | 수신자 국가코드 |
body.data.recipientNo | String | 수신자 번호 |
body.data.requestDate | String | 요청 일시 |
body.data.msgStatus | String | 메시지 상태 코드 |
body.data.msgStatusName | String | 메시지 상태 코드명 |
body.data.resultCode | String | 수신 결과 코드[수신 결과 코드표] |
body.data.receiveDate | String | 수신 일시 |
body.data.createDate | String | 등록 일시 |
body.data.updateDate | String | 수정 날짜 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/tag-sender/{requestId}/{recipientSeq}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
requestId | String | 요청 ID |
recipientSeq | String | 시퀀스 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
X
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/tag-sender/'"${REQUEST_ID}"'/'"${RECIPIENT_SEQ}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"requestId": "20180813022044Jps2xJ1qsv0",
"recipientSeq": 14,
"sendType": "0",
"messageType": "SMS",
"templateId": "TemplateId",
"templateName": "템플릿명",
"sendNo": "15446859",
"recipientNum": "01000000000",
"countryCode": "82",
"title": "제목",
"body": "본문",
"requestDate": "2018-08-13 02:20:44.0",
"msgStatusName": "COMPLETED",
"msgStatus": "3",
"resultCode": "3015",
"receiveDate": "2018-08-13 02:20:48.0",
"attachFileList": []
}
}
}
값 | 타입 | 설명 |
---|---|---|
header | Object | 헤더 영역 |
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestId | String | 요청 ID |
body.data.recipientSeq | Integer | 수신자 시퀀스 |
body.data.sendType | String | 발송 유형 |
body.data.messageType | String | 메시지 타입 |
body.data.templateId | String | 템플릿 ID |
body.data.templateName | String | 템플릿명 |
body.data.sendNo | String | 발신 번호 |
body.data.title | String | 제목 |
body.data.body | String | 내용 |
body.data.recipientNum | String | 수신자 번호 |
body.data.requestDate | String | 요청 일시 |
body.data.msgStatusName | String | 메시지 상태 이름 |
body.data.resultCode | String | 수신 결과 코드[수신 결과 코드표] |
body.data.receiveDate | String | 수신 일시 |
body.data.attachFileList[].filePath | String | 첨부 파일 - 경로 |
body.data.attachFileList[].fileName | String | 첨부 파일 - 파일명 |
body.data.attachFileList[].fileSize | Long | 첨부 파일 - 사이즈 |
body.data.attachFileList[].fileSequence | Integer | 첨부 파일 - 파일 번호 |
body.data.attachFileList[].createDate | String | 첨부 파일 - 생성 일시 |
body.data.attachFileList[].updateDate | String | 첨부 파일 - 수정 날짜 |
[URL]
POST /sms/v3.0/appKeys/{appKey}/attachfile/binaryUpload
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"fileName": "attachment.jpg",
"createUser": "CreateUser",
// "fileBody": [0,10,16]
"fileBody": "{byte[] -> Base64 인코딩한 값}"
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
fileName | String | 45 | 필수 | 파일 이름(확장자는 jpg, jpeg(소문자)만 가능) |
fileBody | Byte[] | 300K | 필수 | 파일 byte[]를 Base64로 인코딩한 값. * 또는 바이트 배열 값 |
createUser | String | 100 | 필수 | 파일 업로드 사용자 정보 |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/attachfile/binaryUpload' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"fileName": "attachement.jpg",
"createUser": "API Guide",
"fileBody": "1234567890"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"fileId": 0,
"fileName": "attachment.jpg",
"filePath": "0/toast-mt-2018-08-10/1609/178576"
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.fileId | Integer | 파일 ID |
body.data.fileName | String | 파일명 |
body.data.filePath | String | 첨부 파일 기본 경로 (https://domain/attachFile/filePath/fileName) |
Http method | URL |
---|---|
POST | https://api-sms.cloud.toast.com/sms/v3.0/appKeys/{appKey}/attachfile/binaryUpload |
[Request body]
{
"fileName": "attachement.jpg",
"createUser": "CreateUser",
"fileBody": "/9j/4AAQSkZJRgABAQEAYABgAAD/4RDSRXhpZgAATU0AKgAAAAgABAE7AAIAAAAESkdHAIdpAAQAAAABAAAISpydAAEAAAAIAAAQwuocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFkAMAAgAAABQAABCYkAQAAgAAABQAABCskpEAAgAAAAM1MgAAkpIAAgAAAAM1MgAA6hwABwAACAwAAAiMAAAAABzqAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAxODowMjowOCAxNjoyOTo0MQAyMDE4OjAyOjA4IDE2OjI5OjQxAAAASgBHAEcAAAD/4QsWaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIvPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj48eG1wOkNyZWF0ZURhdGU+MjAxOC0wMi0wOFQxNjoyOTo0MS41MTc8L3htcDpDcmVhdGVEYXRlPjwvcmRmOkRlc2NyaXB0aW9uPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj48ZGM6Y3JlYXRvcj48cmRmOlNlcSB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6bGk+SkdHPC9yZGY6bGk+PC9yZGY6U2VxPg0KCQkJPC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0ndyc/Pv/bAEMABwUFBgUEBwYFBggHBwgKEQsKCQkKFQ8QDBEYFRoZGBUYFxseJyEbHSUdFxgiLiIlKCkrLCsaIC8zLyoyJyorKv/bAEMBBwgICgkKFAsLFCocGBwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKv/AABEIABoAHQMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APD6K6e88IxWemTamdQaSx+zW8trJ5GDPJLkGMjd8u0pKCcn7nTmq/jDTbHSvH2qadao1vY2940aqmZGRAe24/MQPU8+tVs7ev4f8OT0uYFFdvrmhWmo/Ee30wXVpp9rcWlvIs0FmIAQbZXX90ZCPMbgY34LHqM1zes6bbaXq81mHv18rAK3tiLeZWxyGj3tt/M5HpTWrsGyv/Wpb1bXIp/DekaLYzXEsFj5kztcRhP3shGVUBmyq44ORksxwM1JrfiyLXtSa/u/DmkpdSXHnzyRPdDz/VWBmIAPfaFPoRXO0UgOk1Pxemq6vb3914d0jMMAgeFftBjmRYxGgbMpYFVUYKlTnqTWfruuz69dQSTW8FrFa26W1vb24bZFGucKC7Mx5JOWYnn0wKy6KAP/2Q=="
}
[Response]
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"fileId": 0,
"fileName": "attachment.jpg",
"filePath": "0/toast-mt-2018-08-10/1609/178576"
}
}
}
[URL]
POST /sms/v3.0/appKeys/{appKey}/categories
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"categoryParentId" : 0,
"categoryName" : "",
"categoryDesc" : "",
"useYn" : "",
"createUser" : ""
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
categoryParentId | Integer | - | 옵션 | 부모 카테고리 ID [기본값: 최상위 카테고리] |
categoryName | String | 50 | 필수 | 카테고리 ID |
categoryDesc | String | 100 | 옵션 | 카테고리명 |
useYn | String | 1 | 필수 | 사용 여부(Y/N) |
createUser | String | 100 | 옵션 | 등록한 사용자 |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/categories' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"categoryParentId": 0,
"categoryName": "API Guide",
"categoryDesc": "API 가이드 테스트",
"useYn": "Y",
"createUser": "API Guide"
}'
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":{
"categoryId":0,
"categoryParentId":0,
"depth":0,
"sort" :0,
"categoryName":"",
"categoryDesc":"",
"useYn":"",
"createUser":""
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data[].categoryId | Integer | 카테고리 ID |
body.data[].categoryParentId | Integer | 부모 카테고리 ID |
body.data[].depth | Integer | 카테고리 깊이 |
body.data[].sort | Integer | 카테고리 정렬 순서 |
body.data[].categoryName | String | 카테고리명 |
body.data[].categorycategoryDescame | String | 카테고리 설명 |
body.data[].useYn | String | 사용 여부 |
body.data[].createUser | String | 등록한 사용자 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/categories
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
pageNum | Integer | - | 옵션 | 페이지 번호(기본값 : 1) |
pageSize | Integer | 1000 | 옵션 | 검색 수(기본값 : 15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/categories' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"pageNum":1,
"pageSize":15,
"totalCount":1,
"data":[
{
"categoryId":137612,
"categoryParentId":0,
"depth":0,
"sort" :0,
"categoryName":"카테고리",
"categoryDesc":"최상위 카테고리",
"useYn":"Y",
"createDate":"2018-04-17 15:39:56.0",
"createUser":"bb076dc0-ef5e-11e7-9ede-005056ac7022",
"updateDate":"2018-04-17 15:39:56.0",
"updateUser":"bb076dc0-ef5e-11e7-9ede-005056ac7022"
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.pageNum | Integer | 현재 페이지 번호 |
body.pageSize | Integer | 검색된 데이터 수 |
body.totalCount | Integer | 총 데이터 수 |
body.data[].categoryId | Integer | 카테고리 ID |
body.data[].categoryParentId | Integer | 부모 카테고리 ID |
body.data[].depth | Integer | 카테고리 깊이 |
body.data[].sort | Integer | 카테고리 정렬 순서 |
body.data[].categoryName | String | 카테고리명 |
body.data[].categorycategoryDescame | String | 카테고리 설명 |
body.data[].useYn | String | 사용 여부 |
body.data[].createDate | String | 등록 날짜 |
body.data[].createUser | String | 등록한 사용자 |
body.data[].updateDate | String | 수정 날짜 |
body.data[].updateUser | String | 수정한 사용자 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/categories/{categoryId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
categoryId | String | 카테고리 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/categories/'"${CATEGORY_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":[
{
"categoryId":137612,
"categoryParentId":0,
"depth":0,
"sort":0,
"categoryName":"카테고리",
"categoryDesc":"최상위 카테고리",
"useYn":"Y",
"createDate":"2018-04-17 15:39:56.0",
"createUser":"bb076dc0-ef5e-11e7-9ede-005056ac7022",
"updateDate":"2018-04-17 15:39:56.0",
"updateUser":"bb076dc0-ef5e-11e7-9ede-005056ac7022"
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data[].categoryId | Integer | 카테고리 ID |
body.data[].categoryParentId | Integer | 부모 카테고리 ID |
body.data[].depth | Integer | 카테고리 깊이 |
body.data[].sort | Integer | 카테고리 정렬 순서 |
body.data[].categoryName | String | 카테고리명 |
body.data[].categorycategoryDescame | String | 카테고리 설명 |
body.data[].useYn | String | 사용 여부 |
body.data[].createDate | String | 등록 날짜 |
body.data[].createUser | String | 등록한 사용자 |
body.data[].updateDate | String | 수정 날짜 |
body.data[].updateUser | String | 수정한 사용자 |
[URL]
PUT /sms/v3.0/appKeys/{appKey}/categories/{categoryId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
categoryId | String | 카테고리 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"categoryName" : "",
"categoryDesc" : "",
"useYn" : "",
"updateUser" : ""
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
categoryName | String | 50 | 필수 | 카테고리 ID |
categoryDesc | String | 100 | 옵션 | 카테고리명 |
useYn | String | 1 | 필수 | 사용 여부(Y/N) |
updateUser | String | 100 | 옵션 | 수정한 사용자 |
curl -X PUT \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/categories/'"${C_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"categoryParentId": 788,
"categoryName": "secondMMS",
"categoryDesc": "second category MMS",
"useYn": "Y",
"createUser": "467d9790-ea74-11e5-9ad3-005056ac76e8"
}'
{
"header" : {
"isSuccessful" : true,
"resultCode" : "",
"resultMessage" : ""
}
}
[URL]
DELETE /sms/v3.0/appKeys/{appKey}/categories/{categoryId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
categoryId | String | 카테고리 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
curl -X DELETE \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/categories/'"${CATEGORY_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header" : {
"isSuccessful" : true,
"resultCode" : "",
"resultMessage" : ""
}
}
[URL]
POST /sms/v3.0/appKeys/{appKey}/templates
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"categoryId" : 0,
"templateId" : "",
"templateName" : "",
"templateDesc" : "",
"sendNo" : "",
"sendType" : "",
"title" : "",
"body" : "",
"useYn" : "",
"attachFileIdList" : [
0,
1
]
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
categoryId | Integer | - | 필수 | 카테고리 ID |
templateId | String | 50 | 필수 | 템플릿 ID |
templateName | String | 50 | 필수 | 템플릿명 |
templateDesc | String | 100 | 옵션 | 템플릿 설명 |
sendNo | String | 13 | 필수 | 발신 번호 |
sendType | String | 1 | 필수 | 발송 유형(0:Sms, 1:Lms/Mms) |
title | String | 120 | 옵션 | 문자 제목(발송 유형이 Lms/MmS인 경우 필수) |
body | String | 4000 | 필수 | 문자 내용 |
useYn | String | 1 | 필수 | 사용 여부(Y/N) |
attachFileIdList | List |
- | X | 첨부 파일 ID(fileId) |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/templates' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"categoryId": 199376,
"templateId": "TemplateId",
"templateName": "템플릿 발송 예시",
"templateDesc": "템플릿 발송 예시",
"sendNo": "01012341234",
"sendType": "1",
"title": "example",
"body": "일반 발송 테스트용 입니다.\r\n##key1## 님 안녕하세요.\r\n##key2## 입니다.",
"useYn": "Y"
}'
{
"header" : {
"isSuccessful" : true,
"resultCode" : "",
"resultMessage" : ""
}
}
Http method | URL |
---|---|
POST | https://api-sms.cloud.toast.com/sms/v3.0/appKeys/{appKey}/templates |
[Request body]
{
"categoryId" : 199376 ,
"templateId" : "TemplateId",
"templateName" : "템플릿 발송 예시",
"templateDesc" : "템플릿 발송 예시",
"sendNo" : "01012341234",
"sendType" : "1",
"title" : "example",
"body" : "일반 발송 테스트용 입니다.\r\n##key1## 님 안녕하세요.\r\n##key2## 입니다.",
"useYn" : "Y",
"attachFileIdList" : [
123123,
456456
]
}
[Response]
{
"header" : {
"isSuccessful" : true,
"resultCode" : "",
"resultMessage" : ""
}
}
Http method | 종류 | URL |
---|---|---|
POST | SMS | https://api-sms.cloud.toast.com/sms/v3.0/appKeys/{appKey}/sender/sms |
POST | MMS | https://api-sms.cloud.toast.com/sms/v3.0/appKeys/{appKey}/sender/mms |
Request URL은 템플릿 등록시 선택한 발송 유형으로 선택하여 발송합니다.
Request parameter body 안의 값이 공란이면 해당 templateId의 body 내용으로 치환합니다.
[Request body] 치환하고자 하는 키와 값을 key,value로 대입.
{
"templateId": "TemplateId",
"senderGroupingKey": "SenderGroupingKey",
"recipientList": [{
"recipientNo": "01000000000",
"templateParameter": {
"key1" : "Toast Cloud",
"key2" : "SMS"
},
"recipientGroupingKey": "RecipientGroupingKey"
}]
}
[Response]
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"body": {
"data": {
"requestId": "20180813095534I4VcVuPBpd0",
"statusCode": "2",
"senderGroupingKey": "SenderGroupingKey",
"sendResultList": [
{
"recipientNo": "01000000000",
"resultCode": 0,
"resultMessage": "SUCCESS",
"recipientSeq": 1,
"recipientGroupingKey": "RecipientGroupingKey"
}
]
}
}
}
Http method | 종류 | URL |
---|---|---|
POST | SMS | https://api-sms.cloud.toast.com/sms/v3.0/appKeys/{appKey}/sender/sms |
POST | MMS | https://api-sms.cloud.toast.com/sms/v3.0/appKeys/{appKey}/sender/mms |
Request URL은 템플릿 등록 시 선택한 발송 유형으로 선택하여 발송합니다.
템플릿 ID와 Request parameter body 안의 값이 있을 경우, 발신 번호와 발신 내용이 템플릿 내용으로 치환되지 않습니다.
단, 템플릿 ID를 입력했을 경우, 해당 템플릿으로 검색할 수 있습니다.
위와 같은 경우는 템플릿을 검색한 뒤, 템플릿의 내용을 수정하고 싶을 때 사용할 수 있습니다.
[Request body]
{
"templateId": "TemplateId",
"body":"본문",
"sendNo":"15446859",
"senderGroupingKey": "SenderGroupingKey",
"recipientList": [{
"recipientNo": "01000000000",
"templateParameter": {
"key1" : "Toast Cloud",
"key2" : "SMS"
},
"recipientGroupingKey": "RecipientGroupingKey"
}]
}
[Response]
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"body": {
"data": {
"requestId": "20180813095534I4VcVuPBpd0",
"statusCode": "2",
"senderGroupingKey": "SenderGroupingKey",
"sendResultList": [
{
"recipientNo": "01000000000",
"resultCode": 0,
"resultMessage": "SUCCESS",
"recipientSeq": 1,
"recipientGroupingKey": "RecipientGroupingKey"
}
]
}
}
}
[URL]
GET /sms/v3.0/appKeys/{appKey}/templates
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 필수 | 설명 |
---|---|---|---|
categoryId | Integer | 옵션 | 카테고리 ID |
useYn | String | 옵션 | 사용 여부(Y/N) |
pageNum | Integer | 옵션 | 페이지 번호(기본값 : 1) |
pageSize | Integer | 옵션 | 검색 수(기본값 : 15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/templates' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": Boolean,
"resultCode": Integer,
"resultMessage": String
},
"body": {
"pageNum": Integer,
"pageSize": Integer,
"totalCount": Integer,
"data": [{
"templateId": "TemplateId",
"serviceId": 0,
"categoryId": 0,
"categoryName": "카테고리명",
"sort": 0,
"templateName": "템플릿명",
"templateDesc": "템플릿 설명",
"useYn": "Y",
"priority": "S",
"sendNo": ""15446859String"",
"sendType": "0",
"sendTypeName": "SMS 발송",
"title": "제목",
"body": "본문",
"attachFileYn": "N",
"delYn": "N",
"createDate": "2018-01-28 17:50:55.0,
"createUser": "CreateUser",
"updateDate": "2018-01-28 17:50:55.0",
"updateUser": "UpdateUser",
"attachFileList": [{
"fileId": 0,
"serviceId": 0,
"attachType": 0,
"templateId": "TemplateId",
"filePath": "26606/toast-mt-2018-01-29/1427/105316",
"fileName": "attachment.jpg",
"fileSize": 0,
"createDate": "2018-01-28 17:50:55.0",
"createUser": "CreateUser"
}]
}]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.pageNum | Integer | 현재 페이지 번호 |
body.pageSize | Integer | 검색된 데이터 수 |
body.totalCount | Integer | 총 데이터 수 |
body.data[].templateId | String | 템플릿 ID |
body.data[].serviceId | Integer | 서비스 ID(내부용, 미사용값) |
body.data[].categoryId | Integer | 카테고리 ID |
body.data[].categoryName | String | 카테고리명 |
body.data[].sort | Integer | 정렬값 |
body.data[].templateName | String | 템플릿명 |
body.data[].templateDesc | String | 템플릿 설명 |
body.data[].useYn | String | 사용 여부 |
body.data[].priority | String | 우선순위값(미사용값) |
body.data[].sendNo | String | 발신 번호 |
body.data[].sendType | String | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
body.data[].sendTypeName | String | 발송 유형명 |
body.data[].title | String | 제목 |
body.data[].body | String | 본문 내용 |
body.data[].attachFileYn | String | 첨부 파일 여부(Y/N) |
body.data[].delYn | String | 삭제여부(Y/N), 현재 상태 표기용으로만 사용 |
body.data[].createDate | String | 등록 날짜 |
body.data[].createUser | String | 등록한 사용자 |
body.data[].updateDate | String | 수정 날짜 |
body.data[].updateUser | String | 수정한 사용자 |
body.data[].attachFileList[].fileId | Integer | 첨부 파일 ID |
body.data[].attachFileList[].serviceId | Integer | 서비스 ID(내부용, 미사용값) |
body.data[].attachFileList[].attachType | Integer | 첨부 파일 업로드 타입(0:임시,1:업로드,2:템플릿) |
body.data[].attachFileList[].templateId | String | 템플릿 ID |
body.data[].attachFileList[].filePath | String | 첨부 파일 경로 |
body.data[].attachFileList[].fileName | String | 첨부 파일명 |
body.data[].attachFileList[].fileSize | Integer | 파일 사이즈 |
body.data[].attachFileList[].createDate | String | 첨부 파일 등록 날짜 |
body.data[].attachFileList[].createUser | String | 첨부 파일 등록 사용자 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/templates/{templateId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
templateId | String | 템플릿 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/templates/'"${TEMPLATE_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": Boolean,
"resultCode": Integer,
"resultMessage": String
},
"body": {
"pageNum": Integer,
"pageSize": Integer,
"totalCount": Integer,
"data": {
"templateId": "TemplateId",
"serviceId": 0,
"categoryId": 0,
"categoryName": "카테고리명",
"sort": 0,
"templateName": "템플릿명",
"templateDesc": "템플릿 설명",
"useYn": "Y",
"priority": "S",
"sendNo": ""15446859String"",
"sendType": "0",
"sendTypeName": "SMS 발송",
"title": "제목",
"body": "본문",
"attachFileYn": "N",
"delYn": "N",
"createDate": "2018-01-28 17:50:55.0,
"createUser": "CreateUser",
"updateDate": "2018-01-28 17:50:55.0",
"updateUser": "UpdateUser",
"attachFileList": [{
"fileId": 0,
"serviceId": 0,
"attachType": 0,
"templateId": "TemplateId",
"filePath": "26606/toast-mt-2018-01-29/1427/105316",
"fileName": "attachment.jpg",
"fileSize": 0,
"createDate": "2018-01-28 17:50:55.0",
"createUser": "CreateUser"
}]
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.pageNum | Integer | 현재 페이지 번호 |
body.pageSize | Integer | 검색된 데이터 수 |
body.totalCount | Integer | 총 데이터 수 |
body.data.templateId | String | 템플릿 ID |
body.data.serviceId | Integer | 서비스 ID(내부용, 미사용값) |
body.data.categoryId | Integer | 카테고리 ID |
body.data.categoryName | String | 카테고리명 |
body.data.sort | Integer | 정렬값 |
body.data.templateName | String | 템플릿명 |
body.data.templateDesc | String | 템플릿 설명 |
body.data.useYn | String | 사용 여부 |
body.data.priority | String | 우선순위값(미사용값) |
body.data.sendNo | String | 발신 번호 |
body.data.sendType | String | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
body.data.sendTypeName | String | 발송 유형명 |
body.data.title | String | 제목 |
body.data.body | String | 본문 내용 |
body.data.attachFileYn | String | 첨부 파일 여부(Y/N) |
body.data.delYn | String | 삭제여부(Y/N), 현재 상태 표기용으로만 사용 |
body.data.createDate | String | 등록 날짜 |
body.data.createUser | String | 등록한 사용자 |
body.data.updateDate | String | 수정 날짜 |
body.data.updateUser | String | 수정한 사용자 |
body.data.attachFileList[].fileId | Integer | 첨부 파일 ID |
body.data.attachFileList[].serviceId | Integer | 서비스 ID(내부용, 미사용값) |
body.data.attachFileList[].attachType | Integer | 첨부 파일 업로드 타입(0:임시,1:업로드,2:템플릿) |
body.data.attachFileList[].templateId | String | 템플릿 ID |
body.data.attachFileList[].filePath | String | 첨부 파일 경로 |
body.data.attachFileList[].fileName | String | 첨부 파일명 |
body.data.attachFileList[].fileSize | Integer | 파일 사이즈 |
body.data.attachFileList[].createDate | String | 첨부 파일 등록 날짜 |
body.data.attachFileList[].createUser | String | 첨부 파일 등록 사용자 |
[URL]
PUT /sms/v3.0/appKeys/{appKey}/templates/{templateId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"templateName" : "",
"templateDesc" : "",
"sendNo" : "",
"sendType" : "",
"title" : "",
"body" : "",
"useYn" : "",
"attachFileIdList" : [
0,
1
]
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
templateName | String | 50 | 필수 | 템플릿명 |
templateDesc | String | 100 | 옵션 | 템플릿 설명 |
sendNo | String | 13 | 필수 | 발신 번호 |
sendType | String | 1 | 필수 | 발송 유형(0:Sms, 1:Lms/Mms) |
title | String | 120 | 옵션 | 문자 제목(발송 유형이 Lms/MmS인 경우 필수) |
body | String | 4000 | 필수 | 문자 내용 |
useYn | String | 1 | 필수 | 사용 여부(Y/N) |
attachFileIdList | List |
- | X | 첨부 파일 ID(fileId) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/templates/'"${TEMPLATE_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header" : {
"isSuccessful" : true,
"resultCode" : "",
"resultMessage" : ""
}
}
[URL]
DELETE /sms/v3.0/appKeys/{appKey}/templates/{templateId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
templateId | String | 템플릿 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
curl -X DELETE \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/templates/'"${TEMPLATE_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header" : {
"isSuccessful" : true,
"resultCode" : "",
"resultMessage" : ""
}
}
[URL]
POST /sms/v3.0/appKeys/{appKey}/blockservice/recipients
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"unsubscribeNo":"0800000000",
"recipientNoList":["0100000000", "0100000001"]
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
unsubscribeNo | String | 25 | O | 080 수신거부번호 |
recipientNoList | List |
10 | O | 수신 거부 대상자 번호 |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/blockservice/recipients' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"unsubscribeNo": "0800000000",
"recipientNoList": ["0100000000", "0100000001"]
}'
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"Success"
}
}
[URL]
GET /sms/v3.0/appKeys/{appKey}/blockservice/recipients
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
unsubscribeNo | String | 25 | 필수 | 080 수신 거부 번호 |
recipientNo | String | 25 | 옵션 | 수신 거부 대상자 번호 |
startRequestDate | String | - | 옵션 | 수신 거부 요청 시작값(yyyy-MM-dd HH:mm:ss) |
endRequestDate | String | - | 옵션 | 수신 거부 요청 종료값(yyyy-MM-dd HH:mm:ss) |
pageNum | Integer | - | 옵션 | 페이지 번호(기본값 : 1) |
pageSize | Integer | 1000 | 옵션 | 검색 수(기본값 : 15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/blockservice/recipients' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"pageNum": 1,
"pageSize": 15,
"totalCount": 1,
"data": [
{
"unsubscribeNo": "0808888888",
"recipientNo": "01000000000",
"requestDate": "2018-05-14 17:07:29.0"
}
]
}
}
[URL]
DELETE /sms/v3.0/appKeys/{appKey}/blockservice/recipients/removes?unsubscribeNo={unsubscribeNo}&updateUser={updateUser}&recipientNoList={recipientNo},{recipientNo}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
unsubscribeNo | String | 20 | 필수 | 080 수신 거부 번호 |
updateUser | String | 100 | 필수 | 수신 거부 삭제자 |
recipientNo | String | 20 | 필수 | 삭제할 수신 거부 번호 |
curl -X DELETE \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/blockservice/recipients/removes?unsubscribeNo='"${UNSUB_NO}"'&updateUser='"${UPDATE_USER}"'&recipientNoList='"${RECIPIENT_NO}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": boolean,
"resultCode": Integer,
"resultMessage": String
},
"body": null
}
[URL]
Http method | URI |
---|---|
GET | /sms/v3.0/appKeys/{appKey}/sendNos?sendNo={sendNo}&useYn={useYn}&blockYn={blockYn}&pageNum={pageNum}&pageSize={pageSize} |
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 설명 |
---|---|---|
sendNo | String | 발신 번호 |
useYn | String | 사용 여부 |
blockYn | String | 차단 여부 |
pageNum | Integer | 페이지 번호(기본값 : 1) |
pageSize | Integer | 검색 수(기본값 : 15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sendNos' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : ""
},
"body" : {
"pageNum" : 0,
"pageSize" : 0,
"totalCount" : 0,
"data" : [
{
"serviceId" : 0,
"sendNo" : "",
"useYn" : "",
"blockYn" : "",
"blockReason" : "",
"createDate" : "",
"createUser" : "",
"updateDate" : "",
"updateUser" : ""
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.pageNum | Integer | 페이지 번호 |
body.pageSize | Integer | 검색된 데이터 수 |
body.totalCount | Integer | 총 데이터 수 |
body.data[].serviceId | Integer | 서비스 ID |
body.data[].sendNo | String | 발신 번호 |
body.data[].useYn | String | 사용 여부 |
body.data[].blockYn | String | 차단여부 |
body.data[].blockReason | String | 차단 사유 |
body.data[].createDate | String | 생성 일시 |
body.data[].createUser | String | 생성자 |
body.data[].updateDate | String | 수정 날짜 |
body.data[].updateUser | String | 수정한 사용자 |
[URL]
Http method | URI |
---|---|
GET | /sms/v3.0/appKeys/{appKey}/stats |
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
statisticsType | String | - | 필수 | 통계 구분 NORMAL:기본, MINUTELY:분별, HOURLY:시간별, DAILY:일별, BY_DAY:요일별 |
from | String | - | 필수 | 통계 검색 시작 날짜 yyyy-MM-dd HH:mm:ss |
to | String | - | 필수 | 통계 검색 종료 날짜 yyyy-MM-dd HH:mm:ss |
statsIds | List |
- | 옵션 | 통계 ID 목록 |
messageType | String | - | 옵션 | 메시지 타입 SMS, LMS, MMS, AUTH |
isAd | Boolean | - | 옵션 | 광고 여부 true/false |
templateIds | List |
- | 옵션 | 템플릿 ID 목록 |
requestIds | List |
5 | 옵션 | 요청 ID 목록 |
statsCriteria | List |
옵션 | 통계 기준 - EVENT: 이벤트(기본 값) - TEMPLATE_ID,EVENT: 템플릿, 이벤트 - EXTRA_1,EVENT: 메시지 타입, 이벤트 - EXTRA_2,EVENT: 광고여부, 이벤트 - EXTRA_3,EVENT: 발신 번호, 이벤트 |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/stats?statisticsType='"${STATISTICS_TYPE}"'&from='"${FROM}"'&to='"${TO}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "SUCCESS""
},
"body" : {
"data" :
[
{
"eventDateTime" : "",
"events" :
{
"{statsCriteriaValue}.requested" : 10,
"{statsCriteriaValue}.sent" : 10,
"{statsCriteriaValue}.sentFailed" : 0,
"{statsCriteriaValue}.received" : 0
}
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.eventDateTime | String | 표시 이름 분별, 시간별, 요일별, 월별 |
body.data.events[].{statsCriteriaValue} | List | statsCriteria에 해당 하는 값 메시지 타입/광고 유형/발신 번호 값이 올 수 있음 statsCriteria를 EVENT로만 설정한 경우 {statsCriteriaValue}는 생략됨 |
body.data.events[].{statsCriteriaValue}.requested | Integer | 요청 개수 |
body.data.events[].{statsCriteriaValue}.sent | Integer | 발송 개수 |
body.data.events[].{statsCriteriaValue}.sentFailed | Integer | 실패 개수 |
body.data.events[].{statsCriteriaValue}.received | Integer | 성공 개수 |
[URL]
Http method | URI |
---|---|
GET | /sms/v3.0/appKeys/{appKey}/stats/legacy |
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
statisticsType | String | - | 필수 | 통계 구분 NORMAL:기본, MINUTELY:분별, HOURLY:시간별, DAILY:일별, BY_DAY:요일별 |
from | String | - | 필수 | 통계 검색 시작 날짜 yyyy-MM-dd HH:mm:ss |
to | String | - | 필수 | 통계 검색 종료 날짜 yyyy-MM-dd HH:mm:ss |
statsIds | List |
- | 옵션 | 통계 ID 목록 |
messageType | String | - | 옵션 | 메시지 타입 SMS, LMS, MMS, AUTH |
isAd | Boolean | - | 옵션 | 광고 여부 true/false |
templateIds | List |
- | 옵션 | 템플릿 ID 목록 |
requestIds | List |
5 | 옵션 | 요청 ID 목록 |
statsCriteria | List |
옵션 | 통계 기준 - EVENT: 이벤트(기본 값) - TEMPLATE_ID,EVENT: 템플릿, 이벤트 - EXTRA_1,EVENT: 메시지 타입, 이벤트 - EXTRA_2,EVENT: 광고여부, 이벤트 - EXTRA_3,EVENT: 발신 번호, 이벤트 |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "SUCCESS""
},
"body" : {
"data" :
[
{
"eventDateTime" : "",
"events" :
{
"{statsCriteriaValue}.requested" : 10,
"{statsCriteriaValue}.sent" : 10,
"{statsCriteriaValue}.sentFailed" : 0,
"{statsCriteriaValue}.received" : 0,
"{statsCriteriaValue}.pending" : 0
}
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.eventDateTime | String | 표시 이름 분별, 시간별, 요일별, 월별 |
body.data.events[].{statsCriteriaValue} | List | statsCriteria에 해당 하는 값 메시지 타입/광고 유형/발신 번호 값이 올 수 있음 statsCriteria를 EVENT로만 설정한 경우 {statsCriteriaValue}는 생략됨 |
body.data.events[].{statsCriteriaValue}.requested | Integer | 요청 개수 |
body.data.events[].{statsCriteriaValue}.sent | Integer | 발송 개수 |
body.data.events[].{statsCriteriaValue}.sentFailed | Integer | 실패 개수 |
body.data.events[].{statsCriteriaValue}.received | Integer | 성공 개수 |
body.data.events[].{statsCriteriaValue}.pending | Integer | 발송 중 개수 |
[URL]
Http method | URI |
---|---|
GET | /sms/v3.0/appKeys/{appKey}/statistics/view?searchType={searchType}&from={from}&to={to}&messageTypes={messageType}&contentTypes={contentType}&templateId={templateId} |
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
searchType | String | 10 | O | 통계 구분 DATE:날짜별, TIME:시간별, DAY:요일별 |
from | String | - | O | 통계 검색 시작 날짜 yyyy-MM-dd HH:mm |
to | String | - | O | 통계 검색 종료 날짜 yyyy-MM-dd HH:mm |
messageType | String | 10 | X | 메시지 타입 SMS:단문, LMS:장문, MMS:첨부 파일, AUTH:인증용 |
contentType | String | 10 | X | 콘텐츠 타입 NORMAL: 일반, AD: 광고 |
templateId | String | 50 | X | 템플릿 ID |
{
"header" : {
"isSuccessful" : true,
"resultCode" : 0,
"resultMessage" : "SUCCESS""
},
"body" : {
"data" :
[
{
"divisionName" : "2018-06-01",
"statisticsView" :
{
"requestedCount" : 10,
"succeedCount" : 10,
"failedCount" : 0,
"pendingCount" : 0,
"succeedRate" : "100.00",
"failedRate" : "0.00",
"pendingRate" : "0.00"
}
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data[].divisionName | String | 표시이름 날짜, 시간, 요일 |
body.data[].statisticsView | Object | |
body.data[].requestedCount | Integer | 요청 개수 |
body.data[].succeedCount | Integer | 성공 개수 |
body.data[].failedCount | Integer | 실패 개수 |
body.data[].pendingCount | Integer | 발송 중 개수 |
body.data[].succeedRate | String | 성공 비율 |
body.data[].failedRate | String | 실패 비율 |
body.data[].pendingRate | String | 발송 중 비율 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/reservations
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
sendType | String | 1 | 옵션 | 발송 유형 (0:SMS, 1:LMS/MMS, 2:AUTH) |
requestId | String | 25 | 옵션 | 요청 ID |
startRequestDate | String | - | 옵션 | 발송 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endRequestDate | String | - | 옵션 | 발송 날짜 종료값(yyyy-MM-dd HH:mm:ss) |
startCreateDate | String | - | 옵션 | 등록 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endCreateDate | String | - | 옵션 | 등록 날짜 종료값(yyyy-MM-dd HH:mm:ss) |
sendNo | String | 13 | 옵션 | 발신 번호 |
recipientNo | String | 20 | 옵션 | 수신 번호 |
templateId | String | 50 | 옵션 | 템플릿 번호 |
messageStatus | String | 10 | 옵션 | 메시지 상태 (RESERVED:예약 대기, SENDING:발송 중, COMPLETED:발송 완료, FAILED:발송 실패,CANCEL:예약 취소,DUPLICATED:중복 발송) |
pageNum | Integer | - | 옵션 | 페이지 번호(기본값 : 1) |
pageSize | Integer | 1000 | 옵션 | 검색 수(기본값 : 15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/reservations' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"resultCode":0,
"resultMessage":"success",
"isSuccessful":true
},
"body":{
"pageNum":1,
"pageSize":15,
"totalCount":15,
"data":[
{
"requestId":"{요청 ID}",
"recipientSeq":1,
"requestDate":"{예약 날짜}",
"sendNo":"{발신 번호}",
"recipientNo":"{수신 번호}",
"countryCode":"{국가코드}",
"sendType":"{발송 유형}",
"messageType":"{메시지타입}",
"adYn":"{광고 여부}",
"templateId":"{템플릿 ID}",
"templateParameter":"{템플릿 파라미터}",
"templateName":"{템플릿 명}",
"title":"{제목}",
"body":"{내용}",
"messageStatus":"{메시지 상태}",
"createUser":"{등록한 사용자}",
"createDate":"{등록 일시}",
"updateDate":"{수정 날짜}"
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.pageNum | Integer | 현재 페이지 번호 |
body.pageSize | Integer | 검색된 데이터 수 |
body.totalCount | Integer | 총 데이터 수 |
body.data[].requestId | String | 요청 ID |
body.data[].recipientSeq | Integer | 수신자 시퀀스 |
body.data[].requestDate | String | 발신 일시 |
body.data[].sendNo | String | 발신 번호 |
body.data[].recipientNo | String | 수신 번호 |
body.data[].countryCode | String | 국가 번호 |
body.data[].sendType | String | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
body.data[].messageType | String | 메시지타입 (SMS,LMS,MMS,AUTH) |
body.data[].adYn | String | 광고 여부 |
body.data[].templateId | String | 템플릿 ID |
body.data[].templateParameter | String(json) | 템플릿 파라미터 |
body.data[].templateName | String | 템플릿명 |
body.data[].title | String | 제목 |
body.data[].body | String | 본문 내용 |
body.data[].messageStatus | String | 메시지 상태 (RESERVED:예약 대기,SENDING:발송 중,COMPLETED:발송 완료,FAILED:발송 실패,CANCEL:예약 취소,DUPLICATED:중복 발송) |
body.data[].createUser | String | 등록한 사용자 |
body.data[].createDate | String | 등록 날짜 |
body.data[].updateDate | String | 수정 날짜 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/reservations/{requestId}/{recipientSeq}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
requestId | String | 요청 ID |
recipientSeq | Integer | 수신자 시퀀스 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/reservations/'"${R_ID}"'/'"${R_SEQ}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"resultCode":0,
"resultMessage":"success",
"isSuccessful":true
},
"body":{
"data":{
"requestId":"{요청 ID}",
"recipientSeq":1,
"requestDate":"{예약 날짜}",
"sendNo":"{발신 번호}",
"recipientNo":"{수신 번호}",
"countryCode":"{국가코드}",
"sendType":"{발송 유형}",
"messageType":"{메시지타입}",
"adYn":"{광고 여부}",
"templateId":"{템플릿 ID}",
"templateParameter":"{템플릿 파라미터}",
"templateName":"{템플릿 명}",
"title":"{제목}",
"body":"{내용}",
"messageStatus":"{메시지 상태}",
"createUser":"{등록한 사용자}",
"createDate":"{등록 일시}",
"updateDate":"{수정 날짜}",
"attachFileList":[
{
"fileId":0,
"filePath":"26606/toast-mt-2018-02-07/1555/105887/",
"fileName":"file_attach_test.jpg"
}
]
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.pageNum | Integer | 현재 페이지 번호 |
body.pageSize | Integer | 검색된 데이터 수 |
body.totalCount | Integer | 총 데이터 수 |
body.data.requestId | String | 요청 ID |
body.data.recipientSeq | Integer | 수신자 시퀀스 |
body.data.requestDate | String | 발신 일시 |
body.data.sendNo | String | 발신 번호 |
body.data.recipientNo | String | 수신 번호 |
body.data.countryCode | String | 국가 번호 |
body.data.sendType | String | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
body.data.messageType | String | 메시지타입 (SMS,LMS,MMS,AUTH) |
body.data.adYn | String | 광고 여부 |
body.data.templateId | String | 템플릿 ID |
body.data.templateParameter | String(json) | 템플릿 파라미터 |
body.data.templateName | String | 템플릿명 |
body.data.title | String | 제목 |
body.data.body | String | 본문 내용 |
body.data.messageStatus | String | 메시지 상태 (RESERVED:예약 대기,SENDING:발송 중,COMPLETED:발송 완료,FAILED:발송 실패,CANCEL:예약 취소,DUPLICATED:중복 발송) |
body.data.createUser | String | 등록한 사용자 |
body.data.createDate | String | 등록 날짜 |
body.data.attachFileList[].fileId | Integer | 파일 ID |
body.data.attachFileList[].filePath | String | 파일경로(내부용) |
body.data.attachFileList[].fileName | String | 파일명 |
[URL]
PUT /sms/v3.0/appKeys/{appKey}/reservations/cancel
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"reservationList":[
{
"requestId":"{requestId}",
"recipientSeq":1
}
],
"updateUser":"{updateUser}"
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
reservationList[].requestId | String | 25 | O | 요청 ID |
reservationList[].recipientSeq | Integer | - | O | 수신자 시퀀스 |
updateUser | String | 100 | O | 취소 요청자 |
curl -X PUT \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/reservations/cancel' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"reservationList": [{
"requestId": "1",
"recipientSeq": 1
}
],
"updateUser": "API Guide"
}'
{
"header":{
"resultCode":0,
"resultMessage":"success",
"isSuccessful":true
},
"body":{
"data":{
"requestedCount":1,
"canceledCount":1
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.requestedCount | Integer | 취소 요청 건수 |
body.data.canceledCount | Integer | 취소 성공 건수 |
[URL]
PUT /sms/v3.0/appKeys/{appKey}/reservations/search-cancels
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"searchParameter" : {
"sendType" : "0",
"startRequestDate" : "2020-02-01 00:00",
"endRequestDate" : "2020-02-01 10:00",
"startCreateDate" : "2020-02-01 00:00",
"endCreateDate" : "2020-02-01 10:00",
"sendNo" : "15880000",
"recipientNo" : "0100000000",
"templateId" : "TemplateId",
"requestId" : "20200201010630ReZQ6KZzAH0",
"createUser" : "CreateUser",
"senderGroupingKey" : "SenderGroupingKey"
},
"updateUser" : "UpdateUser"
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
searchParameter.sendType | String | 1 | 필수 | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
searchParameter.startRequestDate | String | - | 필수 | 예약 날짜 시작 |
searchParameter.endRequestDate | String | - | 필수 | 예약 날짜 종료 |
searchParameter.startCreateDate | String | - | 필수 | 등록 날짜 시작 |
searchParameter.endCreateDate | String | - | 필수 | 등록 날짜 종료 |
searchParameter.sendNo | String | 20 | 옵션 | 발신 번호 |
searchParameter.recipientNo | String | 20 | 옵션 | 수신 번호 |
searchParameter.templateId | String | 50 | 옵션 | 템플릿 ID |
searchParameter.requestId | String | 25 | 옵션 | 요청 아이디 |
searchParameter.createUser | String | 100 | 옵션 | 예약 발송 생성자 |
searchParameter.senderGroupingKey | String | 100 | 옵션 | 발신자 그룹 키 |
searchParameter.recipientGroupingKey | String | 100 | 옵션 | 수신자 그룹 키 |
updateUser | String | 100 | 필수 | 예약 취소 요청자 |
curl -X PUT \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/reservations/search-cancels' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"searchParameter": {
"sendType": "0",
"startRequestDate": "2020-02-01 00:00",
"endRequestDate": "2020-02-01 10:00",
"startCreateDate": "2020-02-01 00:00",
"endCreateDate": "2020-02-01 10:00",
"sendNo": "15880000",
"recipientNo": "0100000000",
"templateId": "TemplateId",
"requestId": "20200201010630ReZQ6KZzAH0",
"createUser": "CreateUser",
"senderGroupingKey": "SenderGroupingKey"
},
"updateUser": "API Guide"
}'
{
"header":{
"resultCode":0,
"resultMessage":"success",
"isSuccessful":true
},
"body":{
"data":{
"reservationCancelId":"20200210113330OepQ1sAzSDa",
"requestedDateTime":"2020-02-10 11:33:30",
"reservationCancelStatus":"READY"
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.reservationCancelId | Integer | 예약 취소 ID |
body.data.requestedDateTime | String | 예약 취소 시간(yyyy-MM-dd HH:mm:ss) |
body.data.reservationCancelStatus | String | 예약 취소 상태 - READY : 예약 준비 - PROCESSING : 예약 취소 중 - COMPLETED : 예약 취소 완료 - FAILED : 예약 취소 실패 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/reservations/search-cancels?startRequestedDateTime={startRequestedDateTime}&endRequestedDateTime={endRequestedDateTime}&reservationCancelId={reservationCancelId}&pageNum={pageNum}&pageSize={pageSize}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
startRequestedDateTime | String | - | 옵션 | 예약 취소 요청 시작 시간(yyyy-MM-dd HH:mm:ss) |
endRequestedDateTime | String | - | 옵션 | 예약 취소 요청 종료 시간(yyyy-MM-dd HH:mm:ss) |
reservationCancelId | String | 25 | 옵션 | 예약 취소 ID |
pageNum | Integer | - | 옵션 | 페이지 번호(기본값 : 1) |
pageSize | Integer | 1000 | 옵션 | 검색 수(기본값 : 15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/reservations/search-cancels' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"resultCode":0,
"resultMessage":"success",
"isSuccessful":true
},
"body":{
"data":[
{
"reservationCancelId":"",
"searchParameter":{
},
"requestedDateTime":"",
"completedDateTime":"",
"reservationCancelStatus":"",
"totalCount":0,
"successCount":0,
"createUser":"",
"createdDateTime":"",
"updatedDateTime":""
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data[].reservationCancelId | String | 예약 취소 ID |
body.data[].searchParameter | Map |
예약 취소 요청 파라미터 |
body.data[].requestedDateTime | String | 예약 취소 요청 시간 |
body.data[].completedDateTime | String | 예약 취소 완료 시간 |
body.data[].reservationCancelStatus | String | 예약 취소 상태 - READY : 예약 준비 - PROCESSING : 예약 취소 중 - COMPLETED : 예약 취소 완료 - FAILED : 예약 취소 실패 |
body.data[].totalCount | Integer | 예약 취소 대상 건수 |
body.data[].successCount | Integer | 예약 취소 성공 건수 |
body.data[].createUser | String | 예약 취소 요청자 |
body.data[].createdDateTime | String | 예약 취소 요청 생성 시간 |
body.data[].updatedDateTime | String | 예약 취소 수정 시간 |
[URL]
POST /sms/v3.0/appKeys/{appKey}/sender/download-reservations
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body] * requestId 또는 startRequestDate + endRequestDate 또는 startCreateDate + endCreateDate는 필수입니다. * 등록 날짜/발송 날짜를 동시에 검색하는 경우, 발송 날짜는 무시됩니다.
{
"sendType":"1",
"requestId":"20190601100630ReZQ6KZzAH0",
"startRequestDate":"2019-06-01 00:00:00",
"endRequestDate":"2019-06-08 00:00:00",
"startCreateDate":"2019-06-01 00:00:00",
"endCreateDate":"2019-06-08 00:00:00",
"startResultDate":"2019-06-01 00:00:00",
"endResultDate":"2019-06-08 00:00:00",
"sendNo":"15446859",
"recipientNo":"01000000000",
"templateId":"TemplateId",
"msgStatus":"3",
"resultCode":"MTR2",
"subResultCode":"MTR2_3",
"senderGroupingKey":"{발송자 그룹 키}",
"recipientGroupingKey":"{수신자 그룹 키}",
"isIncludeTitleAndBody":true
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
sendType | String | 1 | 필수 | 발송 유형(0:Sms, 1:Lms/Mms, 2:Auth) |
requestId | String | 25 | 필수 | 요청 ID |
startRequestDate | String | - | 필수 | 발송 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endRequestDate | String | - | 필수 | 발송 날짜 종룟값(yyyy-MM-dd HH:mm:ss) |
startCreateDate | String | - | 필수 | 등록 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endCreateDate | String | - | 필수 | 등록 날짜 종룟값(yyyy-MM-dd HH:mm:ss) |
startResultDate | String | - | 옵션 | 수신 날짜 시작값(yyyy-MM-dd HH:mm:ss) |
endResultDate | String | - | 옵션 | 수신 날짜 종룟값(yyyy-MM-dd HH:mm:ss) |
sendNo | String | 13 | 옵션 | 발신 번호 |
recipientNo | String | 20 | 옵션 | 수신 번호 |
templateId | String | 50 | 옵션 | 템플릿 번호 |
msgStatus | String | 1 | 옵션 | 메시지 상태 코드(0: 실패, 1: 요청, 2: 처리 중, 3:성공, 4:예약취소, 5:중복실패) |
resultCode | String | 10 | 옵션 | 수신 결과 코드 [검색 코드표] |
subResultCode | String | 10 | 옵션 | 수신 결과 상세 코드 [검색 코드표] |
senderGroupingKey | String | 100 | 옵션 | 발송자 그룹 키 |
recipientGroupingKey | String | 100 | 옵션 | 수신자 그룹 키 |
isIncludeTitleAndBody | Boolean | - | 옵션 | 제목, 본문 포함 여부 |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/sender/download-reservations' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"sendType": "1",
"startRequestDate": "2020-08-01T00:00:00",
"endRequestDate": "2020-08-08T00:00:00"
}'
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"data":{
"donwloadId":"20190610100630ReZQ6KZzAH0",
"downloadType":"NORMAL",
"fileType":"CSV",
"downloadStatusCode":"COMPLETED",
"expiredDate":"2019-07-09 10:06:00.0"
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.donwloadId | String | 다운로드 ID |
body.data.downloadType | String | 다운로드 유형 - BLOCK: 수신거부 - NORMAL: 일반 발송 - MASS: 대량 발송 - TAG: 태그 발송 |
body.data.fileType | String | 파일 타입(현재 csv만 지원) |
body.data.downloadStatusCode | String | 파일 생성 상태 - READY: 생성 준비 - MAKING: 생성 중 - COMPLETED: 생성 완료 - FAILED: 생성 실패 - EXPIRED: 다운로드 기간 만료 |
body.data.expiredDate | String | 다운로드 기간 만료 일시 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/download-reservations
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
downloadId | String | 25 | 옵션 | 다운로드 아이디 |
downloadStatusCode | String | 10 | 옵션 | 다운로드 파일 상태 코드 |
pageNum | Integer | - | 옵션 | 페이지 번호(기본값: 1) |
pageSize | Integer | 1000 | 옵션 | 검색 수(기본값: 15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/download-reservations' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header":{
"isSuccessful":true,
"resultCode":0,
"resultMessage":"SUCCESS"
},
"body":{
"totalCount":0,
"data":[
{
"downloadId":"",
"downloadType":"",
"fileType":"",
"parameter":"",
"size":0,
"downloadStatusCode":"",
"resultMessage":"",
"expiredDate":"",
"createUser":"",
"createDate":"",
"updateDate":""
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.totalCount | Integer | 전체 건수 |
body.data[].downloadId | String | 다운로드 ID |
body.data[].downloadType | String | 다운로드 유형 - BLOCK: 수신 거부 - NORMAL: 일반 발송 - MASS: 대량 발송 - TAG: 태그 발송 |
body.data[].fileType | String | 파일 타입 |
body.data[].parameter | String | 요청 파라미터 |
body.data[].size | Integer | 검색 데이터 크기 |
body.data[].downloadStatusCode | String | 파일 생성 상태 - READY: 생성 준비 - MAKING: 생성 중 - COMPLETED: 생성 완료 - FAILED: 생성 실패 - EXPIRED: 다운로드 기간 만료 |
body.data[].resultMessage | String | 결과 메시지(실패 시 응답) |
body.data[].expiredDate | String | 파일 만료 일시 |
body.data[].createUser | String | 파일 생성 요청자 |
body.data[].createDate | String | 파일 생성 요청 일시 |
body.data[].updateDate | String | 파일 생성 완료, 실패 일시 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/download-reservations/{downloadId}/download
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
downloadId | String | 다운로드 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/download-reservations/'"${DOWNLOAD_RESERVATION_ID}"'/download' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
file byte
[URL]
GET /sms/v3.0/appKeys/{appKey}/tags?pageNum={pageNum}&pageSize={pageSize}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
pageNum | Integer | - | 옵션 | 페이지 번호(기본값: 1) |
pageSize | Integer | 1000 | 옵션 | 검색 수(기본값: 15) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/tags' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"pageNum": 1,
"pageSize": 1,
"totalCount": 1,
"data": [
{
"tagId": "ABCD1234",
"tagName": "TAG",
"createdDate": "2019-01-01 00:00:00",
"updatedDate": "2019-01-01 00:00:00"
}
]
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.pageNum | Integer | 현재 페이지 번호 |
body.pageSize | Integer | 검색된 데이터 수 |
body.totalCount | Integer | 총 데이터 수 |
body.data[].tagId | String | 태그 ID |
body.data[].tagName | String | 태그 이름 |
body.data[].createdDate | String | 생성 일시 |
body.data[].tagId | String | 수정 일시 |
[URL]
POST /sms/v3.0/appKeys/{appKey}/tags
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"tagName": "TAG"
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
tagName | String | 30 | 필수 | 태그 이름 |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/tags' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"tagName": "API-Guide"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"tagId": "ABCD1234"
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.tagId | String | 태그 ID |
[URL]
PUT /sms/v3.0/appKeys/{appKey}/tags/{tagId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
tagId | String | 태그 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"tagName": "TAG"
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
tagName | String | 30 | 필수 | 태그 이름 |
curl -X PUT \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/tags/'"${TAG_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"tagName": "API-Guide2"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
[URL]
DELETE /sms/v3.0/appKeys/{appKey}/tags/{tagId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
tagId | String | 태그 ID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
curl -X DELETE \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/tags/'"${TAG_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/uids?wheres={wheres}&offsetUid={offsetUid}&offset={offset}&limit={limit}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Query parameter]
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
wheres | List |
- | 옵션 | 검색 조건. 알파뱃, 숫자, 괄호로 이루어진 문자열 배열. 괄호는 1개, AND/OR은 3개까지 사용 가능 (예시) tagId1,AND,tagId2 |
offsetUid | String | - | 옵션 | 검색을 시작할 uid |
offset | Integer | - | 옵션 | offset 0(기본값) |
limit | Integer | 1000 | 옵션 | 검색 건수 15(기본값) |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/uids' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"uids": [
{
"uid": "UID",
"tags": [
{
"tagId": "ABCD1234",
"tagName": "TAG",
"createdDate": "2019-01-01 00:00:00",
"updatedDate": "2019-01-01 00:00:00"
}
],
"contacts": [
{
"contactType": "PHONE_NUMBER",
"contact": "test@nhn.com",
"createdDate": "2019-01-01 00:00:00"
}
]
}
],
"isLast": false,
"totalCount": 5
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.uids[].uid | String | UID |
body.data.uids[].tags[].tagId | String | 태그 ID |
body.data.uids[].tags[].tagName | String | 태그 이름 |
body.data.uids[].tags[].createdDate | String | 태그 생성 일시 |
body.data.uids[].tags[].updatedDate | String | 태그 수정 일시 |
body.data.uids[].contacts[].contactType | String | 연락처 타입 |
body.data.uids[].contacts[].contact | String | 연락처(휴대폰 번호) |
body.data.uids[].contacts[].createdDate | String | 연락처 생성 일시 |
body.data.uids[].isLast | Boolean | 마지막 목록 여부 |
body.data.uids[].totalCount | Integer | 총 데이터 건수 |
[URL]
GET /sms/v3.0/appKeys/{appKey}/uids/{uid}
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
uid | String | UID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
curl -X GET \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/uids/'"${USER_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": {
"data": {
"uid": "UID",
"tags": [
{
"tagId": "ABCD1234",
"tagName": "TAG",
"createdDate": "2019-01-01 00:00:00",
"updatedDate": "2019-01-01 00:00:00"
}
],
"contacts": [
{
"contactType": "PHONE_NUMBER",
"contact": "0100000000",
"createdDate": "2019-01-01 00:00:00"
}
]
}
}
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
body.data.uid | String | UID |
body.data.tags[].tagId | String | 태그 ID |
body.data.tags[].tagName | String | 태그 이름 |
body.data.tags[].createdDate | String | 태그 생성 일시 |
body.data.tags[].updatedDate | String | 태그 수정 일시 |
body.data.contacts[].contactType | String | 연락처 타입 |
body.data.contacts[].contact | String | 연락처(휴대폰 번호) |
body.data.contacts[].createdDate | String | 연락처 생성 일시 |
[URL]
POST /sms/v3.0/appKeys/{appKey}/uids
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"uids": [
{
"uid": "UID",
"tagIds": ["ABCD1234"],
"contacts": [
{
"contactType": "PHONE_NUMBER",
"contact": "0100000000"
}
]
}]
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
uid | String | - | 필수 | UID |
tagIds[] | String | - | 필수 | 태그 ID 목록 |
contacts[].contactType | String | - | 필수 | 연락처 타입(PHONE_NUMBER) |
contacts[].contact | String | - | 필수 | 연락처(휴대폰 번호) |
[주의] * tagIds가 주어지는 경우 contacts는 필수 값이 아닙니다. * contacts가 주어지는 경우 tagIds는 필수 값이 아닙니다. * 본 상품의 경우, contactType은 반드시 "PHONE_NUMBER" 값으로 요청해야 합니다.
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/uids/' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"uids": [{
"uid": "USER ID",
"contacts": [{
"contactType": "PHONE_NUMBER",
"contact": "0100000000"
}
]
}
]
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
[URL]
DELETE /sms/v3.0/appKeys/{appKey}/uids/{uid}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
uid | String | UID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
curl -X DELETE \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/uids/'"${USER_ID}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
[URL]
POST /sms/v3.0/appKeys/{appKey}/uids/{uid}/phone-numbers
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
uid | String | UID |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
[Request body]
{
"phoneNumber": "0100000000"
}
값 | 타입 | 최대 길이 | 필수 | 설명 |
---|---|---|---|---|
phoneNumber | String | - | 필수 | 휴대폰 번호 |
curl -X POST \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/uids/'"${USER_ID}/phone-numbers" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}' \
-d '{
"phoneNumber": "0100000000"
}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
[URL]
DELETE /sms/v3.0/appKeys/{appKey}/uids/{uid}/phone-numbers/{phoneNumber}
Content-Type: application/json;charset=UTF-8
[Path parameter]
값 | 타입 | 설명 |
---|---|---|
appKey | String | 고유의 앱키 |
uid | String | UID |
phoneNumber | String | 휴대폰 번호 |
[Header]
{
"X-Secret-Key": String
}
값 | 타입 | 설명 |
---|---|---|
X-Secret-Key | String | 고유의 시크릿 키 |
curl -X DELETE \
'https://api-sms.cloud.toast.com/sms/v3.0/appKeys/'"${APP_KEY}"'/uids/'"${USER_ID}"'/phone-numbers/'"${P_NO}" \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Secret-Key:{secretkey}'
{
"header": {
"isSuccessful": true,
"resultCode": 0,
"resultMessage": "SUCCESS"
},
"body": null
}
값 | 타입 | 설명 |
---|---|---|
header.isSuccessful | Boolean | 성공 여부 |
header.resultCode | Integer | 실패 코드 |
header.resultMessage | String | 실패 메시지 |
SMS 서비스 내 특정 이벤트가 발생하면 웹훅 설정에 정의된 URL로 POST 요청을 생성합니다.
생성된 POST 요청에 대한 API 문서입니다.
[URL]
Http method | URI |
---|---|
POST | 웹훅 설정에 정의한 대상 URL |
[Header]
값 | 타입 | 설명 |
---|---|---|
X-Toast-Webhook-Signature | String | 웹훅 설정 시 입력한 서명 |
[Request body]
{
"hooksId":"202007271010101010sadasdavas",
"webhookConfigId":"String",
"productName":"SMS",
"appKey":"akb3dukdmdjsdSvgk",
"event":"UNSUBSCRIBE",
"hooks":[
{
"hookId":"202007271010101010sadasdavas",
"recipientNo":"01012341234",
"unsubscribeNo":"08012341234",
"enterpriseName":"NHN Cloud",
"createdDateTime":"2020-09-09T11:25:10.000+09:00"
}
]
}
값 | 타입 | 설명 |
---|---|---|
hooksId | String | 웹훅 설정에 정의된 URL로 POST 요청을 할 때마다 고유하게 생성되는 ID |
webhookConfigId | String | 웹훅 설정 ID |
productName | String | 웹훅 이벤트가 발생한 서비스명 |
appKey | String | 웹훅 이벤트가 발생한 서비스 앱키 |
event | String | 웹훅 이벤트명 * UNSUBSCRIBE: 광고 문자 수신 번호 등록 |
hooks[].hookId | String | 서비스에서 이벤트 발생 시 생성되는 고유 ID |
hooks[].recipientNo | String | 수신 거부된 휴대폰 번호 |
hooks[].unsubscribeNo | String | 수신 거부 서비스에 등록된 080 번호 |
hooks[].enterpriseName | String | 수신 거부 서비스에 등록된 업체명 |
hooks[].createdDateTime | String | 수신 거부 요청 일시 * yyyy-MM-dd'T'HH:mm:ss.SSSXXX |
curl -X POST \
'{TargetUrl}' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'X-Toast-Webhook-Signature: application/json;charset=UTF-8' \
-d '{
"hooksId":"202007271010101010sadasdavas",
"webhookConfigId":"String",
"productName":"Sms",
"appKey":"akb3dukdmdjsdSvgk",
"event":"UNSUBSCRIBE",
"hooks":[
{
"hookId":"202007271010101010sadasdavas",
"recipientNo":"01012341234",
"unsubscribeNo":"08012341234",
"enterpriseName":"NHN Cloud",
"createdDateTime":"2020-09-09T11:25:10.000+09:00"
}
]
}
'