SOLAPI REST API 소개
이 문서는 SOLAPI의 REST API Reference를 제공합니다.
Representational State Transfer의 약자로, API 연동 규격을 명확하게 정의하고 쉽게 구현할 수 있는 아키텍처 스타일입니다.
자세한 내용은 Wikipedia를 참고하세요.
API 요청 규격 및 보안
대부분의 SOLAPI REST API 는 사용하기 위해서 인증 과정이 필요합니다.
| Content-Type | 데이터 형식 | 문자 인코딩 | Authorization | 
|---|---|---|---|
| application/json | JSON | UTF-8 | HMAC_SHA256 | 
Resource URL 구성
https://api.solapi.com/<ServiceName>/<Version>/<ResourcePath></ResourcePath>
URL 구성 요소
| 구성 요소 | 예시 | 설명 | 
|---|---|---|
| ServiceName | messages, balance, images | 서비스 종류 | 
| Version | v4 | API 버전 | 
| ResourcePath | /send, /list, ... | 특정 리소스 경로 | 
Query Operator 가이드
Operator(오퍼레이터) 는 SOLAPI의 고급 검색 기능으로, URL Query Parameter를 사용할 때 정교한 필터링을 가능하게 합니다.
- API를 통해 SOLAPI 서비스를 효과적으로 활용하려면 오퍼레이터 사용법 숙지해야합니다.
- eq오퍼레이터가 지원되지 않는 필드에서는 기본 오퍼레이터도 사용할 수 없습니다.
오퍼레이터 종류
| 오퍼레이터[?] | 기능 | 주요 사용 케이스 | 설명 | 
|---|---|---|---|
| *(기본값) | Equal | 정확한 값 매칭 | eq와 동일한 동작 | 
| eq | Equal | 상태, ID 검색 | 값과 정확히 일치 | 
| ne | Not Equal | 특정 값 제외 | 값과 일치하지 않음 | 
| like | Like | 텍스트 검색 | 값을 포함 | 
| gte | Greater Than or Equal | 날짜 범위 (시작) | 크거나 같음 | 
| lte | Less Than or Equal | 날짜 범위 (끝) | 작거나 같음 | 
| gt | Greater Than | 날짜 이후 | 초과 | 
| lt | Less Than | 날짜 이전 | 미만 | 
| in | In | 다중 선택 | 여러 값 중 하나와 일치 | 
기능별 오퍼레이터 사용법이 상이할 수 있습니다. 메시지 조회시 여기를 참조하세요.
실제 사용 예시
https://api.solapi.com/messages/v4/list?
  title[like]=공지&
  title[ne]=공지사항&
  status=COMPLETE&
  dateCreated[gte]=2024-01-01&
  dateCreated[lt]=2024-02-01&
  type[in]=["SMS","LMS"]
위 쿼리의 의미
| 쿼리 파라미터 | 오퍼레이터[?] | 설명 | 
|---|---|---|
| title[like]=공지 | like | 제목에 '공지'가 포함된 메시지 | 
| title[ne]=공지사항 | ne | 제목이 '공지사항'이 아닌 메시지 | 
| status=COMPLETE | eq | 발송 완료된 메시지 | 
| dateCreated[gte]=2024-01-01 | gte | 2024년 1월 1일 이후 생성 | 
| dateCreated[lt]=2024-02-01 | lt | 2024년 2월 1일 이전 생성 | 
| type[in]=["SMS","LMS"] | in | SMS 또는 LMS 타입 | 
오류 처리
HTTP Status Code: 200
{
  "statusCode": "2000",
  "statusMessage": "정상 발송",
  "data": {}
}
HTTP Status Code: 4xx / 5xx
{
  "errorCode": "4000",
  "errorMessage": "잘못된 요청입니다."
}
각 API별 상세한 오류 코드는 Message Status Codes 문서를 참고하세요.