문자 API 연동 안내
- PI는 Full rest api 방식으로 제공되므로 별도 모듈 설치를 필요로 하지 않습니다.
- API 사용을 위해 [API 토큰 관리] 페이지에서 token 발급을 해야 합니다.
- API 토큰 관리에 등록된 토큰과 서버 ip에서만 발송 가능합니다.
API Request 공통사항
Request URL
https://ssodaa.com/api{API POST URL}
아래 제공되는 api 호출시 사용되는 URL 입니다. api별 POST URL을 조합하여 request 합니다.
발송하기
단문은 80byte 까지 가능합니다.
장문은 2,000byte 까지 가능합니다.
mms시 첨부파일이 여러개인 경우 각각의 mms로 나뉘어 발송됩니다. (ex: 2개 첨부시 mms 2건 발송)
https://ssodaa.com/api{API POST URL} 아래 제공되는 api 호출시 사용되는 URL 입니다. api별 POST URL을 조합하여 request 합니다.
POST URL | /sms/send/sms |
---|---|
Content-Type | application/json; charset=utf-8 |
Request
키 | 타입 | 필수 | 설명 |
---|---|---|---|
token_key | String | O | 회원 토큰 |
msg_type | String | O | 메시지 타입 sms: 단문 (본문 내용이 80byte를 초과하는 경우 자동으로 장문 문자로 발송. 파일 첨부 불가) mms: 멀티 (mms로 설정하여 이미지 미첨부 발송시 자동으로 일반 문자(단문 or 장문)로 발송) |
dest_phone | String | O | 수신번호 (파이프로 구분하여 다량 발송 가능) |
send_phone | String | O | 발신번호 (등록된 발신번호만 사용 가능) |
subject | String | X | mms인 경우 메시지 제목 |
msg_body | String | O | 메시지 내용 |
send_time | String | X | 예약 발송시 발송 원하는 시간 입력 (ex: 2023-04-09 16:30:00) |
msg_ad | String | X | 광고성 문자 발송 여부 (Y/N) 'Y'로 설정시 문자 내용에 '(광고)', '무료거부번호' 자동 기입됨. msg_ad 가 'Y'인 경우 msg_body 는 51 byte 로 제한하며, 초과시 lms로 자동 발송 |
unsub_phone | String | X | msg_ad 가 'Y'인 경우(광고성 문자 발송) 무료거부번호 입력 (ex: 080-0000-0000) |
attached_file | String | X | mms인 경우 이미지 URL (파이프로 구분하여 다량 첨부 가능.) |
Response
키 | 타입 | 설명 | ||
---|---|---|---|---|
code | String | 결과 코드 (성공시: 200) | ||
error | String | 실패시 오류 메시지 | ||
content | message | String | API Request 성공 메시지 | |
sent_messages | Array | 수신 메시지 정보 | ||
msg_id | String | 발송된 메시지 고유 코드 | ||
dest_phone | String | 메시지 수신 번호 | ||
reserv | String | 예약여부 (Y/N) | ||
sent_time | String | 예약시간 | ||
send_phone | String | 발신번호 (등록된 발신번호만 사용 가능) |
잔여 포인트 조회
POST URL | /sms/remaining/amount |
---|---|
Content-Type | application/json; charset=utf-8 |
Request
키 | 타입 | 필수 | 설명 |
---|---|---|---|
token_key | String | O | 회원 토큰 |
Response
키 | 타입 | 설명 | |
---|---|---|---|
code | String | 결과 코드 (성공시: 200) | |
error | String | 실패시 오류 메시지 | |
content | message | String | API Request 성공 메시지 |
point | Int | 현재 보유 포인트 | |
sms_amount | Int | sms 발송 가능 건수 | |
lms_amount | Int | lms 발송 가능 건수 | |
mms_amount | Int | mms 발송 가능 건수 |
발송 내역 리스트
POST URL | /sms/sent/list |
---|---|
Content-Type | application/json; charset=utf-8 |
Request
키 | 타입 | 필수 | 설명 |
---|---|---|---|
token_key | String | O | 회원 토큰 |
page | String | X | 노출 페이지 번호 (기본값: 1) |
msg_type | String | X | 조회할 문자메시지 타입 (sms / mms) |
status | Int | X | 상태값 (0: 대기 / 1: 성공 / 2: 실패) |
where | String | X | 검색 조건 설정 (dest_phone: 수신번호 / send_phone: 발송번호 / msg_body: 내용) |
keyword | String | X | 검색 키워드 |
start_date | String | X | 조회 시작일 (yyyy-mm-dd) |
end_date | String | X | 조회 종료일 (yyyy-mm-dd) |
limit | Int | X | 페이지당 노출 개수 (기본값: 15) |
Response
키 | 타입 | 설명 | ||
---|---|---|---|---|
code | String | 결과 코드 (성공시: 200) | ||
error | String | 실패시 오류 메시지 | ||
content | message | String | API Request 성공 메시지 | |
totalResult | Int | 확인된 전체 발송 수 | ||
paging | Object | 페이징 정보 | ||
thisPageTotalResult | Int | 현재 페이지의 전체 데이터 개수 | ||
displayPageAnchor | String | 하단 페이징에 노출될 페이지 번호 (','로 구분된 String) | ||
nowPage | Int | 현재 페이지 번호 | ||
totalPage | Int | 전체 페이지 번호 | ||
firstPage | Int | 첫번째 페이지 번호 | ||
prevPage | Int | 이전 페이지 번호 | ||
nextPage | Int | 다음 페이지 번호 | ||
lastPage | Int | 마지막 페이지 번호 | ||
result | Array | 발송 목록 | ||
number | String | 노출될 데이터의 고유 번호 | ||
msg_id | String | 메시지의 고유 코드 | ||
datetime | String | 발송 요청일 | ||
msg_type | String | 메시지 타입 (sms / lms / mms) | ||
status | String | 상태 (대기중 / 성공 / 실패) | ||
error_msg | String | 발송 실패한 경우 오류 메시지 | ||
dest_phone | String | 수신 번호 | ||
send_phone | String | 발신 번호 | ||
subject | String | lms / mms인 경우 제목 | ||
msg_body | String | 메시지 본문 | ||
attached_file | String | 첨부된 파일 (다수의 파일인 경우 파이프로 구분하여 반환) |
예약 발송 내역 리스트
POST URL | /sms/sent/reserved/list |
---|---|
Content-Type | application/json; charset=utf-8 |
Request
키 | 타입 | 필수 | 설명 |
---|---|---|---|
token_key | String | O | 회원 토큰 |
page | String | X | 노출 페이지 번호 |
msg_type | String | X | 조회할 문자메시지 타입 (sms / mms) |
status | Int | X | 상태값 (0: 대기 / 1: 성공 / 2: 실패) |
where | String | X | 검색 조건 설정 (dest_phone: 수신번호 / send_phone: 발송번호 / msg_body: 내용) |
keyword | String | X | 검색 키워드 |
start_date | String | X | 조회 시작일 (yyyy-mm-dd) |
end_date | String | X | 조회 종료일 (yyyy-mm-dd) |
limit | Int | X | 페이지당 노출 개수 (기본값: 15) |
Response
키 | 타입 | 설명 | ||
---|---|---|---|---|
code | String | 결과 코드 (성공시: 200) | ||
error | String | 실패시 오류 메시지 | ||
content | message | String | API Request 성공 메시지 | |
totalResult | Int | 확인된 전체 발송 수 | ||
paging | Object | 페이징 정보 | ||
thisPageTotalResult | Int | 현재 페이지의 전체 데이터 개수 | ||
displayPageAnchor | String | 하단 페이징에 노출될 페이지 번호 (','로 구분된 String) | ||
nowPage | Int | 현재 페이지 번호 | ||
totalPage | Int | 전체 페이지 번호 | ||
firstPage | Int | 첫번째 페이지 번호 | ||
prevPage | Int | 이전 페이지 번호 | ||
nextPage | Int | 다음 페이지 번호 | ||
lastPage | Int | 마지막 페이지 번호 | ||
result | Array | 발송 목록 | ||
number | String | 노출될 데이터의 고유 번호 | ||
msg_id | String | 메시지의 고유 코드 | ||
datetime | String | 발송 요청일 | ||
msg_type | String | 메시지 타입 (sms / lms / mms) | ||
sendtime | String | 발송 예약 시간 | ||
status | String | 상태 (대기중 / 성공 / 실패) | ||
error_msg | String | 발송 실패한 경우 오류 메시지 | ||
dest_phone | String | 수신 번호 | ||
send_phone | String | 발신 번호 | ||
subject | String | lms / mms인 경우 제목 | ||
msg_body | String | 메시지 본문 | ||
attached_file | String | 첨부된 파일 (다수의 파일인 경우 파이프로 구분하여 반환) |