Developer API · Beta
Thai Astrology API
Public Calculation API v1 เปิดให้เรียกเครื่องคำนวณชุดเดียวกับที่ใช้บนเว็บไซต์ ผลลัพธ์เป็นข้อมูลตัวเลขจาก engine ที่ตรวจกับ golden vectors ของแอปหลัก พร้อม trace ขั้นตอนการคำนวณ — ไม่มีคำทำนายหรือข้อความพยากรณ์ประกอบ
การยืนยันตัวตน (API key)
ทุกคำขอต้องแนบ API key ผ่าน header Authorization: Bearer <key> หรือ x-api-key — key ขึ้นต้นด้วย jsd_ และแสดงให้เห็นครั้งเดียวตอนออก (ระบบเก็บเฉพาะ hash) ช่วง beta ยังไม่เปิดสมัครเอง: ติดต่อขอ key ได้ทางหน้า ติดต่อเรา
- เรียกจากฝั่ง server ของคุณเท่านั้น — อย่าฝัง key ในโค้ดหน้าเว็บ/แอปที่แจกให้ผู้ใช้
- เพดานต่อนาทีและโควตารายเดือนขึ้นกับแพ็กเกจของ key (ค่าเริ่มต้น 60 คำขอ/นาที) — เดือนโควตานับตามเวลาไทย
- key อาจมีวันหมดอายุตามรอบที่ตกลงกัน — ต่ออายุได้โดยไม่ต้องเปลี่ยน key
- key ที่หลุดสามารถเพิกถอนได้ทันที — แจ้งเราแล้วออกใบใหม่
Endpoint ที่เปิดใช้
| Method | Path | หน้าที่ |
|---|---|---|
| GET | /health | สถานะระบบ + รายชื่อเครื่องคำนวณ |
| POST | /calculations/seven-number-four-base | ผูกดวงเลข 7 ตัว 4 ฐาน จากวัน–เวลาเกิด (รองรับปีเกิด ค.ศ. 1932–2027) |
| POST | /calculations/mahathaksa | วงมหาทักษาพื้นดวง — ดาวประจำวันเกิด (กฎรุ่งอรุณ · พุธกลางคืน = ราหู) + ภูมิ 8 ตำแหน่ง (รองรับปีเกิด ค.ศ. 1900–2100) |
| POST | /calculations/suriyayat | พื้นดวงสุริยยาตร์ — ดาว 10 ดวง (ราศี/องศา/ลิปดา, เรือน whole-sign, เกษตร/อุจจ์/ประ/นิจ) + ลัคนา + ตนุเศษ พร้อม reliability tier กำกับ (รองรับปีเกิด ค.ศ. 1857–2057 = พ.ศ. 2400–2600) |
| POST | /calculations/suriyayat-transit | ดาวจร ณ เวลาเป้าหมายเทียบพื้นดวง — ตำแหน่ง 10 ดวง + เรือนเทียบลัคน์กำเนิด + กระทบ (ร่วมราศี/เล็ง) · รับ birthDate/birthTime + transitDate/transitTime (ช่วงปีเดียวกับพื้นดวง) |
| POST | /calculations/suriyayat-ingress | ดาวย้าย — จังหวะย้ายราศีครั้งถัดไปของดาวแต่ละดวง ละเอียดระดับนาที · รับ fromDate (+ fromTime, ค่าเริ่มต้น 00:00 · horizonDays 1–400, ค่าเริ่มต้น 400) |
| POST | /calculations/auspicious-days | ฤกษ์รายเดือนตามประเภทงาน (8 หมวด) — เกณฑ์รายวันตามตำรา (กาลโยค · ฤกษ์บน · ดิถี) + 3 วันเด่น · รับ workType, yearBe (พ.ศ.), month · เปิดช่วงเดียวกับหน้าเว็บฟรี: เดือนปัจจุบัน ±3 เดือน |
| POST | /calculations/lucky-number | เลขมงคล 1–8 จากวันเกิด — ดาวของเลข ภูมิในวงทักษา และชั้น (มงคลมาก / ใช้ได้ / ควรหลีกเลี่ยง ตามกฎ R1–R4) · รับ birthDate/birthTime (ปีเกิด ค.ศ. 1932–2027) |
| POST | /calculations/lucky-color | สีมงคลประจำปีจากวงทักษาจร — ภูมิศรีให้สีหลัก ภูมิเดชให้สีเสริม (พร้อม hex) · รับ birthDate/birthTime + asOfDate (วันอ้างอิงอายุย่าง · ปี ค.ศ. 1900–2100) |
| POST | /calculations/graha-ayu | พระเคราะห์เสวยอายุ–แทรก ณ วันอ้างอิง — ดาวเสวย (ruler) ดาวแทรก (interleaver) และอายุย่าง · รับ birthDate/birthTime + asOfDate (ปี ค.ศ. 1900–2100) |
| POST | /calculations/life-guidance | คำทำนายพื้นดวง 6 ด้าน (การเงิน การงาน ความรัก สุขภาพ ครอบครัว สังคม) จากเลข 7 ตัว — ข้อความ verbatim จากคลังคำทำนายของเรา พร้อม predictionId/patternId ตรวจย้อนได้ · รับ birthDate/birthTime (ปีเกิด ค.ศ. 1932–2027) |
| POST | /calculations/kali | กาลชะตา (เดินกาลีรายปี) — เลขอายุหลังรวมหลัก ดาวตก ดาวกาลีของรอบ พร้อมแนวทางรับมือช่วงกาลี · รับ birthDate/birthTime + asOfDate (ปี ค.ศ. 1900–2100) |
| POST | /calculations/sompong | สมพงศ์ (เทียบดวงคู่ ภาค 1) — 4 ชั้นตามลำดับตำรา: วันเกิด · เดือนเกิด · ปีนักษัตร (ธาตุ/ชาติ) · นามอัฏฐจักร · รับ male/female ฝ่ายละ birthDate + birthTime (ปีเกิด ค.ศ. 1932–2027) |
Base URL: https://jedsada-annual-map.baejita9199.chatgpt.site/api/public/v1
ตัวอย่างคำขอ
ทุกเครื่องคำนวณใช้ contract เดียวกัน: วันเกิดตามปฏิทินสุริยคติ (ค.ศ.) และเวลาเกิดแบบ 24 ชั่วโมง โซนเวลาไทย (ช่วงปีที่รองรับดูตารางด้านบน):
curl -X POST \
https://jedsada-annual-map.baejita9199.chatgpt.site/api/public/v1/calculations/seven-number-four-base \
-H "Authorization: Bearer jsd_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-d '{"birthDate": "1991-11-14", "birthTime": "00:15"}'โครงผลลัพธ์
result คือผลจาก engine ตรง ๆ · trace อธิบายขั้นตอนคำนวณทีละชั้น (กฎรุ่งอรุณ → ฐานวัน/เดือน/ปี → ตาราง 4 ฐาน) สำหรับแสดงหน้า “รายละเอียดการคำนวณ” ฝั่งคุณ:
{
"calculator": "seven-number-four-base",
"apiVersion": "v1",
"input": { "birthDate": "1991-11-14", "birthTime": "00:15" },
"result": {
"intermediate": {
"thaiWeekday": 4, "isNight": true, "lunarMonth": 12,
"zodiacAnimal": 8, "dayBase": 4, "monthBase": 5,
"yearBase": 1, "isRahuBorn": true, "row4": [10, 13, 16, ...]
},
"cells": [ ... ],
"isRahuBorn": true
},
"trace": [ { "id": "seven_number.calendar", "title": "...", ... } ]
}ส่วน /calculations/mahathaksa คืนดาวประจำวันเกิดกับวงภูมิ 8 ตำแหน่ง (บริวาร → กาลกิณี) พร้อมชื่อไทย และกำลังดาวของแต่ละตำแหน่ง:
{
"calculator": "mahathaksa",
"apiVersion": "v1",
"input": { "birthDate": "1991-11-14", "birthTime": "00:15" },
"result": {
"birthPlanet": "rahu",
"birthPlanetNameTh": "ราหู",
"wheel": [
{ "bhumiName": "บริวาร", "planet": "rahu", "planetNameTh": "ราหู", "power": 12 },
{ "bhumiName": "อายุ", "planet": "venus", "planetNameTh": "ศุกร์", "power": 21 },
... ครบ 8 ภูมิ ...
]
},
"trace": [ { "id": "mahathaksa.birth_planet", ... }, { "id": "mahathaksa.bhumi_wheel", ... } ]
}ส่วน /calculations/suriyayat คืนพื้นดวงเต็ม: ดาว 10 ดวง ลัคนา และตนุเศษ ทุกค่ามี tier กำกับความน่าเชื่อถือ:
{
"calculator": "suriyayat",
"apiVersion": "v1",
"input": { "birthDate": "1991-11-14", "birthTime": "00:14" },
"result": {
"lagna": { "rasi": 4, "deg": 21, "lipda": 0, "rasiName": "สิงห์",
"absoluteDeg": 140.583, "tier": "partial", "tierNote": "..." },
"tanuset": { "tanuDigit": 1, "tanuStar": "sun", "tanuKaset": "venus",
"tier": "partial", "tierNote": "..." },
"planets": [
{ "key": "sun", "thaiName": "อาทิตย์", "rasi": 6, "deg": 26, "lipda": 51,
"rasiName": "ตุล", "house": 3, "houseName": "สหัชชะ (พี่น้อง)",
"dignity": "nij", "dignityLabel": "นิจ (ดาวอ่อนกำลังสุด)",
"tier": "clean", "tierNote": "..." },
... ครบ 10 ดวง ...
]
},
"trace": [ { "id": "suriya.horakhun", "verificationStatus": "verified", ... }, ... ]
}เครื่องดาวจร/ดาวย้ายรับ field ต่างจากเครื่องอื่นเล็กน้อย:
// ดาวจร — พื้นดวง + เวลาจร
{ "birthDate": "1991-11-14", "birthTime": "00:14",
"transitDate": "2026-07-26", "transitTime": "12:00" }
// ดาวย้าย — จุดเริ่มสแกน (ไม่ใช้ข้อมูลเกิด)
{ "fromDate": "2026-07-26", "horizonDays": 120 }
// ฤกษ์รายเดือน — ประเภทงาน + เดือน พ.ศ. (ไม่ใช้ข้อมูลเกิด)
// workType: wedding · move-in · open-shop · new-job · travel ·
// construction · merit · government
{ "workType": "wedding", "yearBe": 2569, "month": 7 }
// เลขมงคล — ใช้แค่วันเกิด
{ "birthDate": "1991-11-14", "birthTime": "00:15" }
// สีมงคล / เสวยอายุ / กาลชะตา — วันเกิด + วันอ้างอิง (คิดอายุย่าง ณ วันนั้น)
{ "birthDate": "1991-11-14", "birthTime": "00:15", "asOfDate": "2026-07-26" }
// สมพงศ์ — วันเกิดสองฝ่าย (ตำราเป็น ชาย × หญิง)
{ "male": { "birthDate": "1991-11-14", "birthTime": "00:15" },
"female": { "birthDate": "1992-05-01", "birthTime": "08:30" } }ผลดาวจรแนบ natalLagna (พร้อม tier) มาด้วยเสมอ เพราะเลขเรือนของดาวจรและคู่กระทบที่ target เป็นลัคน์ หมุนรอบลัคนากำเนิดซึ่งยังเป็น tier partial · ผลดาวย้ายเป็นรายการ events การย้ายราศีครั้งแรกของแต่ละดวงภายในช่วงสแกน เรียงตามเวลา
ฤกษ์รายเดือนอ่านจากชุดข้อมูลที่ engine ต้นทางคำนวณและตรวจล็อกไว้แล้ว (API ไม่คำนวณฤกษ์เอง) — เกณฑ์รายวัน (กาลโยค · ฤกษ์บนตรงหมวดงาน · ดิถีโชค/พิฆาต) เป็นข้อมูลตามตำรา ส่วน topDates (3 วันเด่น) มาจากตัวจัดอันดับที่น้ำหนักยังเป็นฉบับร่าง จึงติดป้าย draft_ranker เสมอ · เดือนที่เปิดดูได้เท่ากับหน้าเว็บฟรี (เดือนปัจจุบัน ±3 เดือน) — เกินจากนั้นตอบ 403 outside_free_window · ฤกษ์ที่ผูกกับดวงบุคคลเป็นบริการแยกที่ ฤกษ์เฉพาะบุคคล
หมวดโชค (เลขมงคล · สีมงคล · เสวยอายุ) ให้ ข้อมูลคำนวณ: ดาว ภูมิ ชั้นของเลข รายชื่อสี (พร้อม hex) และดาวเสวย/แทรก — ส่วนร้อยแก้วประกอบ (ความหมายของภูมิ คำแนะนำการใช้สี และข้อปฏิบัติบูชาพระเคราะห์) เป็นเนื้อหาในรายงานฉบับเต็มของเรา ไม่รวมอยู่ใน API
/calculations/life-guidance เป็นข้อยกเว้นเดียวที่ตอบ “คำทำนาย”: ข้อความทุกชิ้นเป็น verbatim จากคลังคำทำนายที่เจ้าของตำราอนุมัติ (ไม่มีการแต่งโดยระบบ) เลือกโดย pattern-matching ตามพื้นดวงจริง และแนบ notice โทน Life Guidance กำกับทุกครั้ง: ดวงบอกแนวโน้ม การตัดสินใจเป็นของผู้ใช้ — ผู้นำไปแสดงต้องคง notice นี้ไว้ · ด้านที่ยังไม่มีเนื้อหาเฉพาะจะได้ fallback หรือ no_content ตามจริง ระบบไม่แต่งคำทำนายแทน
Reliability tier (สำคัญ — เงื่อนไขการนำไปแสดงผล)
ทุกค่าจากเครื่องสุริยยาตร์แนบป้ายสถานะการยืนยันของ engine (tier + tierNote) — นี่คือ label ทางวิศวกรรม ไม่ใช่คำตัดสินทางโหราศาสตร์:
| tier | ความหมาย |
|---|---|
| clean | ยืนยันกับตำราและตรวจ cross-date ผ่านเกณฑ์แล้ว |
| acceptedResidual | ตรงตำรา · มีความคลาดเคลื่อนคงเหลือที่เจ้าของตำรายอมรับแล้ว (จันทร์) |
| partial | ผ่านการตรวจกับตำราแล้ว แต่ยังไม่ยืนยัน cross-date หลายดวง (ลัคนา · ตนุเศษ) |
เงื่อนไขการใช้: ถ้านำค่า tier partial (ลัคนา / ตนุเศษ) ไปแสดงต่อผู้ใช้ปลายทาง ต้องแสดงป้ายกำกับสถานะนี้ด้วยเสมอ เหมือนที่หน้าเว็บของเราแสดง — อย่านำเสนอเป็นค่าที่ยืนยันสมบูรณ์แล้ว
รหัสข้อผิดพลาด
| HTTP | code | ความหมาย |
|---|---|---|
| 401 | missing_api_key | ไม่ได้แนบ API key มากับคำขอ |
| 401 | invalid_api_key | key ไม่ถูกต้อง |
| 401 | api_key_revoked | key ถูกเพิกถอนแล้ว |
| 401 | api_key_expired | key หมดอายุแล้ว — ติดต่อเราเพื่อต่ออายุ |
| 429 | monthly_quota_exceeded | ใช้ครบโควตารายเดือนของแพ็กเกจแล้ว |
| 400 | invalid_input | ข้อมูลเกิดไม่ผ่านการตรวจ (รูปแบบ/ช่วงปีที่รองรับ) |
| 400 | unknown_field | มี field ที่ contract ไม่รู้จัก |
| 404 | unknown_calculator | ยังไม่มีเครื่องคำนวณชื่อนี้ |
| 415 | unsupported_media_type | Content-Type ต้องเป็น application/json |
| 403 | outside_free_window | เดือนฤกษ์ที่ขออยู่นอกช่วงฟรี (เดือนปัจจุบัน ±3 เดือน) |
| 429 | rate_limited | เกินเพดานต่อนาทีของ key — ดู header retry-after |
| 503 | api_disabled | ระบบ API ยังไม่เปิดใช้งานบน deployment นี้ |
ขอบเขตและข้อตกลง
- ผลลัพธ์เป็นข้อมูลการคำนวณตามตำราเท่านั้น การตีความ/คำทำนายเป็นความรับผิดชอบ ของผู้นำไปใช้ — โปรดคงหลัก “ดวงบอกแนวโน้ม การตัดสินใจเป็นของผู้ใช้”
- อย่าเก็บข้อมูลเกิดของผู้ใช้ปลายทางเกินความจำเป็น และอย่าใส่ข้อมูลเกิดใน URL
- สัญญา API (contract) เวอร์ชัน v1 — field ใหม่อาจถูกเพิ่มได้ แต่ field เดิมจะไม่เปลี่ยนความหมาย
- เครื่องคำนวณเพิ่มเติมจะทยอยเปิดตามรอบตรวจของเจ้าของตำรา