시작하기 · 빠른 시작
빠른 시작
스튜디오 API로 워크스페이스 상태를 조회합니다. 회원가입부터 첫 응답까지 5분이면 충분합니다.
1
회원가입
오른쪽 상단 "더블스튜디오 콘솔 접속"을 통해 로그인/회원가입을 진행해주세요.
2
KEY 확인
"API KEY 관리" 메뉴에서 Accesskey와 Secretkey를 확인해주세요.
3
인증 헤더
모든 요청에 두 키를 HTTP 헤더로 첨부합니다.
Base URL
모든 API는 아래 호스트를 기준으로 합니다.
https://api.doublestudio.co.kr
인증
워크스페이스에서 발급한 Accesskey와 Secretkey를 헤더에 담아 보냅니다. 별도의 토큰 교환 과정은 없습니다.
| 헤더 | 필수 | 설명 |
|---|---|---|
Accesskey |
필수 | 워크스페이스 액세스 키(공개 식별자) |
Secretkey |
필수 | 워크스페이스 시크릿 키 · 절대 외부 노출 금지 |
요청을 보내는 서버 IP는 워크스페이스 허용 IP 목록에 등록돼 있어야 합니다. 미등록 IP의 요청은 거부됩니다.
첫 요청
워크스페이스 상태를 조회해 인증이 정상인지 확인합니다. 사용하는 언어의 예제를 그대로 복사해 키만 교체하세요.
curl https://api.doublestudio.co.kr/common/v1/workspace/status \
-H "Accesskey: {YOUR_ACCESS_KEY}" \
-H "Secretkey: {YOUR_SECRET_KEY}"
응답 형식
모든 응답은 JSON이며, 공통 필드에 엔드포인트별 데이터가 더해집니다. 아래는 워크스페이스 상태 조회 성공 예시입니다.
{
"traceId": "9f2c1a7b-4e0d-4b1a-8c2e-1f3a5d7b9c0e",
"code": "000000",
"message": "성공",
"workspace_key": "a1b2c3d4e5f6a7b8c9d0",
"name": "더블스튜디오",
"is_active": true,
"services": []
}
| 필드 | 타입 | 설명 |
|---|---|---|
traceId |
string | 요청 추적 ID. 문의 시 로그 대조에 사용 |
code |
string | 6자리 결과 코드. 000000 = 성공 |
message |
string | 결과 메시지 |
data |
— | 엔드포인트별 응답 필드(위 예시의 workspace_key 등) |
에러 코드
실패하면 code가 000000이 아니며, HTTP 상태 코드가 함께 내려갑니다.
공통
| 코드 | HTTP | 메시지 |
|---|---|---|
000400 |
400 | 잘못된 요청입니다. |
000401 |
401 | 인증에 실패했습니다. Access/Secret Key를 확인하세요. |
000403 |
403 | 허용되지 않은 IP입니다. 허용 IP를 등록하세요. |
000404 |
404 | 대상을 찾을 수 없습니다. |
000405 |
403 | 접근 권한이 없는 API입니다. |
000406 |
405 | 허용되지 않은 메서드입니다. |
000423 |
403 | 현재 허용되지 않은 워크스페이스입니다. |
000429 |
429 | 잦은 호출로 제한되었습니다. |
000500 |
500 | 서버 오류가 발생했습니다. |
페이 스튜디오
| 코드 | HTTP | 메시지 |
|---|---|---|
200001 |
400 | 현재 링크결제를 사용할 수 없습니다. |
200002 |
400 | 필수값을 확인해주세요. |
200003 |
400 | 결제금액을 확인해주세요. |
200004 |
404 | 결제링크를 찾을 수 없습니다. |
200005 |
400 | 수정할 수 없는 결제링크입니다. |
200006 |
404 | 상품을 찾을 수 없습니다. |
200007 |
400 | 만료일시를 확인해주세요. |
200008 |
400 | 조회 기간을 확인해주세요. |
200009 |
400 | 환불할 수 없는 결제입니다. |
200010 |
400 | 환불 금액을 확인해주세요. |
200011 |
400 | 환불 처리에 실패했습니다. |
200012 |
400 | 현재 정기결제를 사용할 수 없습니다. |
200013 |
404 | 정기결제 요청을 찾을 수 없습니다. |
200014 |
400 | 정기결제 주기를 확인해주세요. |
200015 |
400 | 정기결제일을 확인해주세요. |
톡 스튜디오
| 코드 | HTTP | 메시지 |
|---|---|---|
300001 |
400 | 등록된 발신번호가 없습니다. |
300002 |
400 | 템플릿을 찾을 수 없습니다. |
300003 |
402 | 포인트가 부족합니다. |
300004 |
400 | 발신프로필을 찾을 수 없습니다. |
300005 |
400 | 수신거부된 번호입니다. |
300006 |
400 | 지원하지 않는 메시지 타입입니다. |
300101 |
400 | 워크스페이스를 찾을 수 없습니다. |
300102 |
400 | 발송 단계 순서가 올바르지 않습니다. |
300103 |
400 | 발신번호 형식이 올바르지 않습니다. |
300104 |
400 | 승인된 발신번호만 사용할 수 있습니다. |
300105 |
400 | 수신번호가 필요합니다. |
300106 |
400 | 동보 발송은 1회 최대 200명까지 가능합니다. |
300107 |
400 | 수신번호 형식이 올바르지 않습니다. |
300108 |
400 | 주소록에 발송 가능한 수신자가 없습니다. |
300109 |
400 | 주소록을 찾을 수 없습니다. |
300110 |
400 | 발송 내용을 입력해주세요. |
300111 |
400 | SMS는 90바이트 이하만 발송할 수 있습니다. |
300112 |
400 | LMS는 2,000바이트 이하만 발송할 수 있습니다. |
300113 |
400 | 승인된 템플릿만 발송할 수 있습니다. |
300114 |
400 | 템플릿 변수 값을 모두 입력해주세요. |
300115 |
400 | 광고 문자는 08시부터 20시까지만 발송할 수 있습니다. |
300116 |
400 | 무료수신거부 080 번호를 확인해주세요. |
300117 |
400 | 광고 문구 부착 후 허용 길이를 초과했습니다. |
300118 |
400 | (광고)·무료수신거부 문구가 본문에 이미 있습니다. |
300119 |
400 | 금칙어가 검출되어 발송할 수 없습니다. |
300120 |
400 | 금지된 URL이 검출되어 발송할 수 없습니다. |
300121 |
400 | 대체문자에는 광고 문구((광고)·무료수신거부)를 넣을 수 없습니다. |
300122 |
400 | 발신프로필과 템플릿이 일치하지 않습니다. |
300800 |
400 | 수신거부 고객(발송 제외) |
300801 |
400 | 발송 예정시간이 지나 발송하지 못했습니다 |
310101 |
502 | 결번 또는 미가입 번호 |
310102 |
502 | 단말 전원꺼짐 |
310103 |
502 | 음영지역(수신 불가) |
310104 |
502 | 단말 메시지함 가득 |
310105 |
502 | 통화중 또는 무응답 |
310106 |
502 | 번호이동 처리중(재발송 권장) |
310107 |
502 | 수신자 착신거부 |
310108 |
502 | 미지원 단말 |
310201 |
502 | 발신번호 스팸 차단 — 고객센터 문의 |
310202 |
502 | 회신번호 스팸 차단 — 고객센터 문의 |
310203 |
502 | 회신번호 도용/변작 차단 — 번호 확인 필요 |
310204 |
502 | 발신번호를 먼저 등록해주세요 |
310205 |
502 | 발신번호 형식(세칙) 오류 |
310206 |
502 | 발신/회신번호를 확인해주세요 |
310207 |
502 | 수신자가 수신거부(080)한 번호 |
310301 |
502 | 메시지 형식을 확인해주세요 |
310302 |
502 | 메시지 길이를 확인해주세요 |
310303 |
502 | 수신번호를 확인해주세요 |
310304 |
502 | 메시지 내용이 스팸으로 분류됨 |
310305 |
502 | 첨부파일을 확인해주세요 |
310306 |
502 | 한 번에 보낼 수 있는 수를 초과 |
310307 |
502 | 동일 내용/번호 반복 제한 |
310501 |
502 | 일시적인 발송 지연 |
310502 |
502 | 일시적인 발송 지연 |
310590 |
502 | 발송에 실패했습니다 |
310601 |
502 | 발송 설정을 확인해주세요 |
310602 |
502 | 발송 설정을 확인해주세요 |
310603 |
502 | 발송 설정을 확인해주세요 |
310604 |
502 | 발송 설정을 확인해주세요 |
310701 |
502 | 일시적인 발송 오류 |
310702 |
502 | 일시적인 발송 오류 |
310703 |
502 | 발송 처리 시간 초과 |
319999 |
502 | 발송 처리 오류 |
320101 |
502 | 카카오톡 미사용 또는 수신거부 |
320201 |
502 | 발신프로필을 확인해주세요 |
320202 |
502 | 발신프로필 설정을 확인해주세요 |
320203 |
502 | 발신번호를 확인해주세요 |
320301 |
502 | 템플릿을 확인해주세요 |
320302 |
502 | 템플릿 형식을 확인해주세요 |
320303 |
502 | 메시지 내용을 확인해주세요 |
320304 |
502 | 수신번호를 확인해주세요 |
320401 |
502 | 발송 가능 시간이 아닙니다 |
320501 |
502 | 일시적인 발송 지연 |
320590 |
502 | 발송에 실패했습니다 |
320601 |
502 | 발송 설정을 확인해주세요 |
320701 |
502 | 일시적인 발송 오류 |
329999 |
502 | 발송 처리 오류 |
330101 |
502 | 카카오톡 미사용 또는 수신거부 |
330201 |
502 | 발신프로필을 확인해주세요 |
330202 |
502 | 발신프로필 설정을 확인해주세요 |
330203 |
502 | 발신번호를 확인해주세요 |
330301 |
502 | 템플릿을 확인해주세요 |
330302 |
502 | 템플릿 형식을 확인해주세요 |
330303 |
502 | 메시지 내용을 확인해주세요 |
330304 |
502 | 수신번호를 확인해주세요 |
330401 |
502 | 발송 가능 시간이 아닙니다 |
330501 |
502 | 일시적인 발송 지연 |
330590 |
502 | 발송에 실패했습니다 |
330601 |
502 | 발송 설정을 확인해주세요 |
330701 |
502 | 일시적인 발송 오류 |