유틸리티
리딩 외 엔드포인트
아래 호출은 분당 한도에 세지 않고 월 포함량도 쓰지 않습니다. Free 가 분당 1회라, 카탈로그를 한 번 부르는 것만으로 첫 리딩이 막히면 연동 자체가 되지 않기 때문입니다.
GET /v2/saju/topics
지금 쓸 수 있는 토픽과 각 토픽의 모듈 구성. 모듈이 준비되는 대로 토픽이 열리므로, 하드코딩하지 말고 이 목록을 읽으십시오.
curl https://api.supasaju.com/v2/saju/topics -H "x-api-key: $SAJU_API_KEY"
GET /v2/saju/samples
Free 키가 전체 모듈 구성으로 받을 수 있는 샘플 프로필 5종. 입력값을 그대로 복사해 쓰시면 됩니다.
curl https://api.supasaju.com/v2/saju/samples -H "x-api-key: $SAJU_API_KEY"
GET /v2/saju/modules
지금 인도된 모듈 목록. meta.pendingModules 에 담기는 것과 같은 기준입니다.
GET /v2/cities
진태양시 보정에 쓰는 출생 도시 목록과 경도. 정적 파일로도 받을 수 있습니다 — birth-cities.json.
목록에 없는 도시는 거절합니다.
전에는 서울로 대신 계산하고 경고만 냈는데, 그러면
다른 사람의 사주가 200 으로 나갑니다 — 부르는 쪽이 timezone.cityResolved 를
검사한다는 것을 알아야만 안전했습니다. 지금은 400 UNSUPPORTED_CITY 로
거절하고 어느 값이 문제인지 알려 드립니다.
모르는 도시는 시간대조차 알 수 없어, 표준시 관행 모드라 해도 같은 답이라고 말할 수 없습니다. 그래서 대신 계산하지 않습니다.
GET /v2/cities/resolve?q=…
도시 하나가 유효한지만 묻습니다. 월 포함량과 분당 한도에 세지 않습니다 — 출생정보를 저장하는 화면에서 타이핑할 때마다 부르셔도 됩니다.
응답의 fuzzy: true 는 부분 일치로 찾았다는 뜻입니다
(“서울특별시 강남구” → “서울”). wouldReject: true 면 그 값으로 계산을 부르면
400 이 납니다.
{
"success": true,
"data": {
"query": "서울특별시 강남구",
"resolved": true,
"fuzzy": true,
"city": {
"id": "seoul",
"ko": "서울",
"en": "Seoul",
"region": "korea",
"utcOffsetMinutes": 540,
"longitude": 126.978
},
"wouldReject": false
},
"meta": {}
}
GET /v2/me
키 상태와 잔여 한도. 한도는 모든 응답 헤더로도 오므로, 보통 따로 부를 필요가 없습니다.
curl https://api.supasaju.com/v2/me -H "x-api-key: $SAJU_API_KEY"
GET /v2/me/errors
이 키에서 최근에 난 에러. 연동 중 무엇이 막혔는지 확인할 때 씁니다.
판정 기준
어느 전통을 따르는지와 무엇으로 검증했는지를 적어 두었습니다. 키가 필요 없습니다 — 판정 기준 보기.