四柱推命・運勢APIドキュメント
v5.0 Sandbox提供中 · 新規有料料金は2026年12月1日適用予定
商品条件は2026年10月12日改訂の韓国語顧客紹介書v5.0を基準とします。新規のお客様は、v5.0の商品範囲・テスト条件に基づく審査制Sandboxを現在お申し込みいただけます。新規の有料契約は2026年12月1日より前は受付保留です。新規の有料料金は2026年12月1日適用予定で、従来の料金プランでは新規契約を受け付けません。既存のお客様の利用条件と移行は個別契約・別途案内に従います。本技術文書のAPIパスとリクエスト・レスポンス例は既存v2基準です。
製品とキー権限を確認し、認証、リクエスト、レスポンス、Callbackの順にご覧ください。予定仕様と一般呼び出し可能なAPIを区別して連携を進めます。
製品紹介資料は文書v5.0です。実際のAPI URLは既存の/api/v2/を維持します。文書バージョンとAPIバージョンは別です。
万年暦・四柱推命・相性・命名・画像系占いAPIをアプリやWebサービスに連携するための開発者向けドキュメントです。認証、リクエストパラメータ、JSONレスポンス、v2 add-on API、callback flow、error code、rate limit、APIキー発行手順を案内します。
可用性、サポート時間、障害対応の範囲は、契約ごとのSLAで定めます。
万年暦・四柱推命API v2連携基準
- このガイドで説明するAPIの呼び出しにはv2を使用します。新規テストキーと本番キーは
/api/v2/...パス基準で発行されます。 - 同期endpointはJSONを即時返却します。非同期分析endpointは
POSTとX-Callback-URLを使用します。 - 相性、命名、画像系分析はpayload構造が異なります。例示されたキー名をそのまま使用してください。
- v1 pathは終了しているため、この文書では案内しません。
クイックスタート
最初のAPI呼び出しを確認する
サーバー側で管理するAPIキーを準備し、基本の万年暦endpointをGETで呼び出します。相性、命名、年運、愛情運、財運のような生成時間が必要な分析はPOST + callbackで連携します。
1. APIキーを準備
すべてのリクエストは Authorization: Bearer <API_KEY> を使用します。キー発行後、キー保有者は API Dashboard に登録し、使用量、サブスクリプション状態、API照会を確認できます。
2. 単一照会はGET
基本の四柱推命endpointは命式と公開構造化フィールドをJSONで即時返却します。
3. 分析系はcallback
相性、命名、財運・愛情運・年運、画像系モジュールはリクエスト受付後、callback endpointへ結果を送信します。
基本の万年暦照会
curl -X GET \
"https://api.ablecity.kr/api/v2/saju/fortune?birth=1990-01-01T01:00:00&gender=male&city=Seoul&calendar=solar&midnightType=0" \
-H "Authorization: Bearer <API_KEY>" \
-H "Accept: application/json"Fortune API Platform
製品範囲とキー権限
以下はv5.0基準の商品データ範囲です。万年暦Core(四柱推命計算データ)は命式・五行・通変星・十二運・大運などの計算データを返します。専門万年暦+SISはCore全項目に身強弱・格局・用神・地支関係・空亡と54種類の神殺の位置・状態・影響度を追加します。 既存のお客様は、現在の契約と新製品のデータを比較したうえで個別に移行をご案内します。既存Core契約の専門分析項目は、新しいCoreに含まれる項目と区別して確認します。
両製品は既存のGET /api/v2/saju/fortuneを共用し、APIキーの権限で提供範囲を区分します。以下の統合フィールド・応答例は承認済み権限に対応する構造であり、Coreにすべての専門項目が含まれることを意味しません。SISの相対強度は統計的確率ではなく内部指標です。
Fortune API Platform
30日間・審査制Sandbox
新規のお客様は、v5.0基準の審査制Sandboxを現在お申し込みいただけます。30日間の利用枠はコンテンツ100回、Core/専門万年暦+SIS合計1,000回、標準結果合計20件、生成型Callbackの完了結果5件です。新規の有料契約は2026年12月1日より前は受付保留です。テスト専用で、商用利用やエンドユーザーへの提供はできません。実際の期間・製品・上限は審査後のキー発行案内で確認してください。内部テスト製品は別途承認範囲を確認します。
提出後1営業日以内に一次審査結果と発行対象範囲をメールでご案内します。APIキーは承認された製品・利用範囲に限り、別途メールで発行します。
2026年12月1日適用予定のPAYGは、コンテンツ・リテンション20P/件、万年暦Core90P/件、専門万年暦+SIS150P/件です。1P=1KRW、VAT別で、韓国語の標準提供範囲を基準とします。Starterは月500件でCore30,000KRW、専門万年暦+SIS50,000KRWです。専門万年暦+SISのLaunchは月2,000件で89,000KRWです。全プランと解説・結果商品の単価は料金ページで確認してください。
超過単価・利用上限・未使用枠の繰越、プラン変更・解約の適用日、支払日と日割り計算は、Liveキー発行前の見積書・契約書で定めます。記載のPAYG単価が月額プランの超過料金に自動適用されるわけではありません。
Sandboxキー発行後、Dashboardに登録して利用量を確認できます。新規の有料契約は2026年12月1日より前は受付保留で、Sandboxキーの発行は有料契約やポイントチャージの開始を意味しません。チャージと有料利用は正式な利用段階でご案内します。既存の有料契約は現在の契約条件に従います。
Sandboxキーは自動でLiveキーに切り替わりません。本番利用やエンドユーザーへの提供前に、API・料金・利用画面・想定利用量・公開日を確認し、別途Liveキーの発行を受けてください。
Fortune API Platform
既存APIと内部テスト製品
既存のカスタム解説はPOST+Callbackの連携仕様を維持します。標準解説は内部テスト中で、審査制PoCとしてご相談いただけます。標準解説の即時応答はテスト製品の提供方式であり、既存のCallback経路を同期APIに変更するものではありません。
内部テスト中・審査制PoCのご相談
以下は製品検討用の予定仕様で、実行可能な公開API例ではありません。承認後に実際のパス・入力・応答範囲をご案内します。既存の命名パスは維持しますが、命名製品は内部テストとして案内します。
| 製品 | パス | 状況 |
|---|---|---|
| 標準解説 | /api/v2/saju/fortune/standard/{product} | 予定パス・変更の可能性あり・一般呼び出し不可 |
| 土亭秘訣 | /api/v2/saju/fortune/tojeong | 予定パス・変更の可能性あり・一般呼び出し不可 |
| 個別の吉日・時間選定 | /api/v2/saju/fortune/request-analysis/date-selection | 予定パス・変更の可能性あり・一般呼び出し不可 |
| 標準・プレミアム命名 内部テスト中・審査制PoCのご相談 | /api/v2/saju/fortune/request-analysis/naming | 既存パスを維持・内部テスト・要承認 |
| 星座別日運 | /api/v2/saju/fortune/star-sign-luck | 予定パス・変更の可能性あり・一般呼び出し不可 |
| バイオリズム | /api/v2/saju/fortune/biorhythm | 予定パス・変更の可能性あり・一般呼び出し不可 |
標準解説の予定サブパス:week-luck、this-year-luck、telling、match、love-luck、rich-luck。
1. 認証
すべてのリクエストはHTTP headerにBearer tokenを含める必要があります。APIキーはサーバー側で管理し、クライアントアプリに埋め込まず、連携担当者が変わる場合はローテーションしてください。
Authorization: Bearer <API_KEY>2. 共通レスポンス形式
すべてのendpointはREST JSON envelopeを返します。エラー時も同じtop-level構造を維持するため、クライアント側で成功・失敗を一貫して処理できます。
{
"status": "success",
"message": "Request completed.",
"data": {}
}3. 運用基準
Ablecity APIは単発計算だけでなく、実サービス連携を前提に設計されています。認証、使用量管理、課金範囲、モニタリング、SLAオプションを導入時にまとめて整理します。
| Area | 連携時の確認項目 | Ablecity standard |
|---|---|---|
| Response structure | 構造化レスポンスの確認 | REST JSON envelope |
| Usage control | キー別の呼び出し量と利用状況 | Key-based request and monthly usage tracking |
| Domain fields | 必要なフィールドとキー権限 | Structured chart, elements, relations, void branches and approved SIS fields |
| Integration mode | 同期応答とCallback結果の受信 | Synchronous GET + asynchronous POST/callback |
| Support | 契約で定めるサポート範囲 | Contract-defined SLA option |
この表は連携時の確認項目です。提供フィールドはAPIキーの権限、サポート条件は個別契約で確認します。
4. GET /api/v2/saju/fortune
現行標準生年月日、性別、任意の出生地、子時処理方式、暦種別を基に、公開v2万年暦payloadを計算します。公開フィールドには四柱命式、五行、運勢cycle、干支相性、空亡、承認済みキーで利用可能なSIS関連構造が含まれます。
以下はv5.0基準の商品データ範囲です。万年暦Core(四柱推命計算データ)は命式・五行・通変星・十二運・大運などの計算データを返します。専門万年暦+SISはCore全項目に身強弱・格局・用神・地支関係・空亡と54種類の神殺の位置・状態・影響度を追加します。 既存のお客様は、現在の契約と新製品のデータを比較したうえで個別に移行をご案内します。既存Core契約の専門分析項目は、新しいCoreに含まれる項目と区別して確認します。
両製品は既存のGET /api/v2/saju/fortuneを共用し、APIキーの権限で提供範囲を区分します。以下の統合フィールド・応答例は承認済み権限に対応する構造であり、Coreにすべての専門項目が含まれることを意味しません。SISの相対強度は統計的確率ではなく内部指標です。
v2使用基準
- すべての新規キーは
GET /api/v2/saju/fortune基準で発行されます。 - top-levelの
status,message,data構造はクライアント処理のため安定して維持されます。 - 内部debug fieldと独自判断ロジックは公開文書から意図的に除外しています。
SIS add-on案内
- 基本照会ではfull SIS add-onをデフォルト公開しません。
- 承認済みAPIキーでは
sinsal,relations_ui,gongmangなどのフィールドを含めることができます。 - 実サービス連携に必要な公開フィールドのみ文書化しています。
コード例
curl -X GET \
"https://api.ablecity.kr/api/v2/saju/fortune?birth=1990-01-01T01:00:00&gender=male&city=Seoul&calendar=solar&midnightType=0" \
-H "Authorization: Bearer <API_KEY>" \
-H "Accept: application/json"import requests
url = "https://api.ablecity.kr/api/v2/saju/fortune"
params = {
"birth": "1990-01-01T01:00:00",
"gender": "male",
"city": "Seoul",
"calendar": "solar",
"midnightType": 0,
}
headers = {"Authorization": "Bearer <API_KEY>"}
print(requests.get(url, params=params, headers=headers).json())const axios = require("axios");
const res = await axios.get("https://api.ablecity.kr/api/v2/saju/fortune", {
params: {
birth: "1990-01-01T01:00:00",
gender: "male",
city: "Seoul",
calendar: "solar",
midnightType: 0
},
headers: { Authorization: "Bearer <API_KEY>" }
});
console.log(res.data);OkHttpClient client = new OkHttpClient();
HttpUrl url = HttpUrl.parse("https://api.ablecity.kr/api/v2/saju/fortune").newBuilder()
.addQueryParameter("birth", "1990-01-01T01:00:00")
.addQueryParameter("gender", "male")
.addQueryParameter("city", "Seoul")
.addQueryParameter("calendar", "solar")
.addQueryParameter("midnightType", "0")
.build();
Request request = new Request.Builder()
.url(url)
.addHeader("Authorization", "Bearer <API_KEY>")
.build();クエリパラメータ
| Name | Type | Required | Description |
|---|---|---|---|
| birth | string | Yes | 生年月日と出生時刻は YYYY-MM-DDTHH:mm:ss 形式で指定します。日付と時刻の間には大文字のTのみを使用し、空白や小文字のtは使用できません。 |
| gender | string | Yes | male or female. |
| city | string | Optional | Birth city for local mean time correction. If omitted, Seoul is used as the default basis. |
| midnightType | integer | Optional | 0: split late/early midnight, default. 1: treat 23:00-00:59 as next-day midnight branch. |
| calendar | string | Optional | solar, lunar, or leap. |
対応都市例
正確な本番連携のため、可能な場合は韓国の行政区域名を使用してください。例: 서울특별시, 부산광역시, 대구광역시, 인천광역시, 광주광역시, 대전광역시, 울산광역시, 세종특별자치시, 수원시, 고양시, 용인시, 성남시, 태안군. 海外向けサービスでは導入時にcity値の正規化方針を確認します。
5. 公開レスポンスフィールド
レスポンスは連携向け公開フィールドを返します。内部score logic、private rule table、debug fieldは公開文書に含めません。
{
"status": "success",
"message": "Request completed.",
"data": {
"saju": {
"year": { "heaven": "庚", "earth": "午" },
"month": { "heaven": "戊", "earth": "子" },
"day": { "heaven": "丙", "earth": "寅" },
"hour": { "heaven": "己", "earth": "丑" }
},
"five_elements": { "wood": 2, "fire": 2, "earth": 2, "metal": 1, "water": 1 },
"ten_gods": [],
"daeun": [],
"gongmang": [],
"zodiac_compat": [],
"sinsal": []
}
}命式フィールド
saju、天干・地支、表示用の命式データを、四柱推命の画面に使います。
五行・関係フィールド
five_elements、ten_gods、関係データを、五行バランスの図や関係性の説明に使います。
運勢cycleフィールド
daeun、年・月の運勢フィールド、luck-flowアドオンを、時系列表示に使います。
承認済みSISフィールド
sinsal、gongmang、relations_uiは、承認されたAPIキーと連携範囲でのみ提供できます。
6. v2 add-ons と分析API
基本の万年暦照会に加えて、v2は日運、luck-flow、詳細分析モジュールを提供します。fortune/request-analysis/ 配下のendpointはPOST + callback方式です。
- GET:
/fortune,/daily,/zodiac-luck,/luck-flowreturn immediately. - POST:
/fortune/request-analysis/...returns an accepted response first and sends final content toX-Callback-URL. - CHECK: Compatibility, naming and image modules use distinct payload shapes.
| Method | Endpoint | Use |
|---|---|---|
| GET | /api/v2/saju/fortune/daily | Daily fortune |
| GET | /api/v2/saju/fortune/zodiac-luck | Daily zodiac-style luck |
| GET | /api/v2/saju/fortune/luck-flow | Major, yearly and monthly flow data |
| POST | /api/v2/saju/fortune/request-analysis/this-year-luck | This-year fortune, callback required |
| POST | /api/v2/saju/fortune/request-analysis/telling | Traditional Saju reading, callback required |
| POST | /api/v2/saju/fortune/request-analysis/match | Two-person compatibility, callback required |
| POST | /api/v2/saju/fortune/request-analysis/week-luck | Weekly fortune, callback required |
| POST | /api/v2/saju/fortune/request-analysis/love-luck | This-year love luck, callback required |
| POST | /api/v2/saju/fortune/request-analysis/rich-luck | This-year wealth luck, callback required |
| POST 内部テスト中・審査制PoCのご相談 | /api/v2/saju/fortune/request-analysis/naming | Naming recommendation and interpretation, callback required |
| POST | /api/v2/saju/fortune/request-analysis/face | Face image analysis, callback required |
| POST | /api/v2/saju/fortune/request-analysis/palmistry | Palm image analysis, callback required |
POST + Callback Recipe
7. 相性API例
相性APIは一人分の命式照会より難しく、male と female の二つのnested objectが必要です。また、最終分析結果は即時返却ではなくcallback URLへ送信されます。
1. Callback URLを準備
結果payloadを受信できるHTTPS endpointを作成します。
2. 相性リクエスト送信
male, female, X-Callback-URL を一緒に送信します。
3. 結果受信
最初のレスポンスは受付確認です。最終結果はcallbackで到着します。
完成形cURL例
curl -X POST \
"https://api.ablecity.kr/api/v2/saju/fortune/request-analysis/match" \
-H "Authorization: Bearer <API_KEY>" \
-H "X-Callback-URL: https://your-server.com/webhook/saju-match" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"male": {
"birth": "1999-04-10T00:30:00",
"gender": "male",
"midnightType": 0,
"city": "서울특별시",
"calendar": "solar"
},
"female": {
"birth": "1998-03-10T00:10:00",
"gender": "female",
"midnightType": 0,
"city": "태안군",
"calendar": "solar"
}
}'ペイロードフィールド
| Field | Required | Description |
|---|---|---|
| male | Yes | Birth-data object for the male user or first person. |
| female | Yes | Birth-data object for the female user or second person. |
| birth | Yes | YYYY-MM-DDTHH:mm:ss 形式の生年月日と出生時刻です。日付と時刻の間には大文字のTのみを使用し、空白や小文字のtは使用できません。 |
| gender | Yes | male or female. |
| midnightType | Yes | Midnight handling. Start with 0 for standard integration. |
| city | Yes | Birth city, such as 서울특별시 or 태안군. |
| calendar | Yes | solar for solar calendar. |
受付レスポンス
{
"status": "success",
"message": "Analysis request accepted.",
"data": {
"request_id": "match_20260409_000001",
"service": "match",
"callback_status": "queued",
"callback_url": "https://your-server.com/webhook/saju-match"
}
}Node.js callback受信例
app.post("/webhook/saju-match", express.json(), (req, res) => {
console.log("Compatibility result:", req.body);
res.status(200).json({ ok: true });
});Callback結果構造
{
"request_id": "match_20260409_000001",
"service": "match",
"status": "success",
"data": {
"summary": "二人の関係傾向と補完ポイント。",
"score": 82,
"sections": [
{ "title": "相性傾向", "content": "関係の流れを説明します。" },
{ "title": "注意点", "content": "衝突しやすいポイントを説明します。" }
]
}
}よくある失敗
X-Callback-URL: https://...のコロンを省略しないでください。maleとfemaleのキー名を変更しないでください。- JSON bodyを送信する場合は
Content-Type: application/jsonを指定してください。 - 外部から到達可能なHTTPS callback endpointを使用してください。
汎用POST/callback例
curl -X POST \
"https://api.ablecity.kr/api/v2/saju/fortune/request-analysis/rich-luck" \
-H "Authorization: Bearer <API_KEY>" \
-H "X-Callback-URL: https://your-server.com/webhook/result" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"birth": "1990-01-01T00:00:00",
"gender": "male",
"city": "서울특별시",
"calendar": "solar",
"midnightType": 0
}'8. 占星術API draft
今後の拡張に備えて占星術API専用ページを準備しています。製品仕様が確定するまではnoindexで運用し、本番ドキュメントではなく設計用のページとして扱います。
Draftページを見る9. エラーコード
| HTTP | Code | Description |
|---|---|---|
| 400 | INVALID_REQUEST | Malformed request or missing required fields. |
| 401 | UNAUTHORIZED | Authentication failed or token expired. |
| 404 | NOT_FOUND | Requested resource or endpoint was not found. |
| 429 | RATE_LIMIT | Request limit exceeded. |
| 500 | SERVER_ERROR | Internal server error. |
Common messages
Request completed.Server processing error occurred.Service not found.
Auth / rate messages
Invalid API Key.Per-minute request limit exceeded.Daily request limit exceeded.Service is not allowed for this key.
Saju-specific messages
invalid birth date format:YYYY-MM-DDTHH:mm:ss形式で指定してください。日付と時刻の間には大文字のTのみを使用し、空白や小文字のtは使用できません。gender must be 'male' or 'female'invalid timezone
10. レート制限
本番サービスを安定させるため、発行されたAPIキー単位でリクエスト量を制限します。より高い上限は事業規模と契約範囲に応じて相談できます。
Per Minute
60 requests
Per Day
50,000 requests
上限を超過した場合、APIはHTTP 429 Too Many Requests とレート制限関連メッセージを返します。
以下の呼び出し頻度制限とSandboxの総利用枠は別です。製品と上限は発行キーの承認範囲に従います。
11. FAQ
どのAPI versionで連携すべきですか?
v2のみを使用してください。新規テストキーと本番キーは /api/v2/... パス基準で発行されます。
相性APIが基本照会より難しい理由は?
male と female の二つのnested birth-data objectが必要で、最終分析結果は X-Callback-URL に送信されるためです。
X-Callback-URLには何を入れますか?
分析結果を受信するHTTPS endpointを指定します。例: https://your-server.com/webhook/saju-match。header syntaxは X-Callback-URL: https://... のように指定してください。
料金はどうなりますか?
新規のお客様は、v5.0基準の審査制Sandboxを現在お申し込みいただけます。30日間の利用枠はコンテンツ100回、Core/専門万年暦+SIS合計1,000回、標準結果合計20件、生成型Callbackの完了結果5件です。新規の有料契約は2026年12月1日より前は受付保留です。テスト専用で、商用利用やエンドユーザーへの提供はできません。実際の期間・製品・上限は審査後のキー発行案内で確認してください。内部テスト製品は別途承認範囲を確認します。
2026年12月1日適用予定のPAYGは、コンテンツ・リテンション20P/件、万年暦Core90P/件、専門万年暦+SIS150P/件です。1P=1KRW、VAT別で、韓国語の標準提供範囲を基準とします。Starterは月500件でCore30,000KRW、専門万年暦+SIS50,000KRWです。専門万年暦+SISのLaunchは月2,000件で89,000KRWです。全プランと解説・結果商品の単価は料金ページで確認してください。
どのプログラミング言語で利用できますか?
HTTP clientを使える言語・プラットフォームであれば利用できます。Python、JavaScript/Node.js、Java、PHP、Goなどに対応可能です。
API Dashboardはいつ使いますか?
APIキー発行後、キー保有者は API Dashboard に登録し、使用量、サブスクリプション状態、API照会を確認できます。
Sandboxはどのように申請しますか?
提出後1営業日以内に一次審査結果と発行対象範囲をメールでご案内します。APIキーは承認された製品・利用範囲に限り、別途メールで発行します。
新規のお客様は、v5.0基準の審査制Sandboxを現在お申し込みいただけます。30日間の利用枠はコンテンツ100回、Core/専門万年暦+SIS合計1,000回、標準結果合計20件、生成型Callbackの完了結果5件です。新規の有料契約は2026年12月1日より前は受付保留です。テスト専用で、商用利用やエンドユーザーへの提供はできません。実際の期間・製品・上限は審査後のキー発行案内で確認してください。内部テスト製品は別途承認範囲を確認します。
12. サポート
連携前の問い合わせはメールでご連絡ください。キー発行後はAPI Dashboardで使用量、サブスクリプション、API照会を確認できます。
連携前に確認する運用条件
想定呼び出し量、応答フィールド、エラー処理をサンプルで確認し、Callback受信・重複処理・再試行を検討します。キー権限、支援時間、障害対応、データ保存・削除、バージョン変更通知は技術検討と契約で定義します。