Dhamma API
เชื่อมต่อคลังธรรมะด้วย API ที่เรียบง่าย
เข้าถึงบทสวดมนต์ พระไตรปิฎก หนังสือธรรมะ ชาดก และหมวดธรรม ผ่าน REST API ที่อ่านได้ทันทีโดยไม่ต้องมีคีย์ — ทุกอย่างที่อ่านได้บนเว็บนี้ อ่านผ่าน HTTP ได้ด้วย
“ธรรมะ
เข้าถึงได้ง่าย
เพื่อสังคมที่ดีขึ้น”API เล็ก ๆ เพื่อการเผยแผ่ธรรมะที่กว้างไกล
- เส้นทาง
- ๕๕
- คำสั่ง
- ๙๐
- รุ่นปัจจุบัน
- v1
- REST API
- JSON
- Public GET
เริ่มต้นใช้งานอย่างรวดเร็ว
>_ curlตัวอย่างการเรียกดูรายการหนังสือธรรมะ
curl "https://dhammapanya.org/api/v1/books?lang=th&limit=10"ข้อตกลงของ API — คีย์ รูปของความผิดพลาด การแบ่งหน้า และ ETag
- อ่านเปิดสาธารณะ เขียนต้องมีคีย์. ทุก GET เรียกได้เลยโดยไม่ต้องมีคีย์ เพราะสิ่งที่อยู่ในนี้คือพระธรรมและสารบัญห้องสมุด ไม่ใช่ข้อมูลส่วนตัวของใคร · ทุก POST PUT PATCH DELETE ต้องส่ง Authorization: Bearer <DHAMMA_API_KEY>
- หน้าเว็บกับ API กินสัญญาเดียวกัน. หน้าเพจเรียกฟังก์ชันชุดเดียวกับที่เส้นเหล่านี้เรียก (src/lib/api/*) โดยไม่ผ่าน HTTP — รูปของข้อมูลจึงเป็นชนิดเดียวกันในภาษาเดียวกัน ไม่ใช่สองอย่างที่บังเอิญตรงกันวันนี้
- ที่มาของตัวบท. ตัวบทของพระไตรปิฎกบนเซิร์ฟเวอร์นี้เป็นงานของคนอื่น — 84000.org และ E-Tipitaka — และแต่ละฉบับมาจากคนละที่กันเป็นสัดส่วน GET /api/v1/sources นับให้จากตัวบทที่เก็บไว้จริง ไคลเอนต์ที่แสดงตัวบทควรแสดงข้อมูลนั้นด้วย
- ความผิดพลาดมีรูปเดียว: { "error": { "code", "message", "issues"? } } — message เป็นภาษาไทยและพิมพ์ให้ผู้ใช้อ่านได้เลย ส่วน issues แยกตามชื่อฟิลด์ เป็นประโยคชุดเดียวกับที่ฟอร์มในหน้าแอดมินพิมพ์ใต้ช่องกรอก
- รายการทุกเส้นมีรูปเดียวกัน: { items, total, limit, offset } — ยกเว้น /api/v1/search ซึ่งคงรูปของผลค้นไว้
- ทุก GET ส่ง ETag มาด้วย ส่ง If-None-Match กลับมาแล้วได้ 304 ถ้าคำตอบยังเป็นอันเดิม · คุ้มที่สุดกับก้อนใหญ่อย่าง layout ของเล่ม (๒๙๘ บท) ที่แอปเปิดซ้ำทุกเช้าแต่แทบไม่เคยเปลี่ยน
- PATCH แก้เฉพาะสิ่งที่ส่งมา ระเบียนเดิมถูกอ่านก่อน แล้ว body ทับลงเฉพาะคีย์ที่เอ่ยถึง · null หรือสตริงว่างคือการลบค่านั้นทิ้ง คีย์ที่ไม่ได้เอ่ยถึงคงเดิม และรายการถูกแทนทั้งก้อนไม่ใช่ต่อท้าย
- แก้แล้วไม่ทับกัน. ระเบียนแต่ละอันส่ง version มากับ GET ของตัวเอง · ส่งกลับมาใน If-Match แล้วถ้าระเบียนขยับไปตั้งแต่ที่อ่านมา จะได้ 412 แทนที่จะเขียนทับงานที่ไม่เคยเห็น · เป็นทางเลือก ไม่บังคับ แต่ PATCH ต้องการมันมากกว่า PUT เพราะมัน merge เข้ากับสิ่งที่อ่านมาเมื่อครู่ — สองคนที่แก้คนละฟิลด์จากสำเนาเดียวกันจึงไม่ชนกันดัง ๆ คนหลังแค่เขียนฟิลด์ของคนแรกกลับไปเป็นค่าเดิม
- หมายเหตุ: version ไม่ใช่ ETag ของคำตอบใดคำตอบหนึ่ง — คำตอบของหนังสือเล่มหนึ่งมีเล่มข้างเคียงอยู่ด้วย แฮชของไบต์จึงจะขยับตอนที่หนังสือ *เล่มอื่น* ถูกเพิ่ม และปฏิเสธในสิ่งที่ไม่ใช่การชนกันจริง · version แฮชเฉพาะฟิลด์ที่การเขียนขยับได้ และไม่เปลี่ยนตาม ?lang=
- เรียกถี่เกินไปได้ 429 พร้อม Retry-After เป็นวินาที · นับต่อผู้เรียก และคำขอที่แพงมีราคาแพงกว่า — ค้นในเล่มเท่ากับยี่สิบคำขอธรรมดา ค้นทั้งคลังเท่ากับห้า · ตั้งด้วย API_RATE_LIMIT (0 คือปิด)
คลังหนังสือธรรมะ
books · ๑๔ คำสั่ง
get/api/v1/booksรายการหนังสือทั้งหมด
รายการหนังสือทั้งหมด
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
shelfstring- ชั้นที่จะหยิบมา: all · featured · popular · recent · continue
categorystring- สลักหมวดหนังสือ
authorstring- ชื่อผู้เขียนแบบตรงตัว
writtenInstring- ภาษาที่หนังสือเขียน — ไทย · English · บาลี (คนละเรื่องกับ ?lang=)
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
การตอบกลับ
- 200{ items, total, limit, offset }
post/api/v1/booksเพิ่มหนังสือต้องมีคีย์
ตรวจด้วยตัวตรวจชุดเดียวกับฟอร์มในหน้าแอดมิน ข้อความที่ปฏิเสธจึงเป็นประโยคภาษาไทยประโยคเดียวกัน และทุกครั้งที่เขียนสำเร็จจะมีบรรทัดใน content_edit
เนื้อคำขอ (Request Body)
ฟิลด์ของหนังสือ ตามที่ฟอร์มในหน้าแอดมินรับ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/books/{slug}หนังสือรายการเดียว
หนังสือรายการเดียว
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200ระเบียน
- 404ไม่พบสิ่งที่ขอ
patch/api/v1/books/{slug}แก้ไขหนังสือต้องมีคีย์
แก้เฉพาะสิ่งที่ส่งมา — ระเบียนปัจจุบันถูกอ่านก่อน แล้ว body ทับลงไปเฉพาะคีย์ที่เอ่ยถึง ส่งฟิลด์เดียวก็เปลี่ยนฟิลด์เดียว · คีย์ที่ body เอ่ยถึงถูกแทนทั้งก้อน null และสตริงว่างต่างก็เป็นการลบค่านั้น และรายการถูกแทนไม่ใช่ต่อท้าย · สลักใน path คือระเบียนที่แก้ ส่ง slug ใน body เพื่อเปลี่ยนสลัก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
ฟิลด์ของหนังสือ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
delete/api/v1/books/{slug}ลบหนังสือต้องมีคีย์
ลบหนังสือ
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
get/api/v1/books/{slug}/contentsสารบัญของหนังสือ
บทและจำนวนหน้า ไม่มีตัวอักษรของเนื้อหาเลย · sample: true แปลว่ายังเป็นข้อความตัวอย่าง ไม่ใช่หนังสือจริง
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ book, chapters, totalPages, sample }
- 404ไม่พบสิ่งที่ขอ
put/api/v1/books/{slug}/contentsเขียนทับเนื้อหาทั้งเล่มต้องมีคีย์
chapterTitle กับ chapterBody เป็นสองรายการที่เรียงคู่กัน บทละหนึ่งช่อง · ส่งมาเป็นรายการว่างคือล้างเนื้อหา แล้วหนังสือกลับไปใช้ฉบับตัวอย่าง
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
{ "chapterTitle": ["บทที่หนึ่ง"], "chapterBody": ["ย่อหน้า\n\nย่อหน้า"] }
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/books/{slug}/pages/{number}หนึ่งหน้าของหนังสือ
หนึ่งหน้าของหนังสือ
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
numberintegerจำเป็น- เลขหน้า เริ่มที่ ๑
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ number, chapterIndex, heading?, paragraphs, totalPages, sample }
- 404ไม่พบสิ่งที่ขอ
get/api/v1/book-categoriesรายการหมวดหนังสือทั้งหมด
รายการหมวดหนังสือทั้งหมด
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
การตอบกลับ
- 200{ items, total, limit, offset }
post/api/v1/book-categoriesเพิ่มหมวดหนังสือต้องมีคีย์
ตรวจด้วยตัวตรวจชุดเดียวกับฟอร์มในหน้าแอดมิน ข้อความที่ปฏิเสธจึงเป็นประโยคภาษาไทยประโยคเดียวกัน และทุกครั้งที่เขียนสำเร็จจะมีบรรทัดใน content_edit
เนื้อคำขอ (Request Body)
ฟิลด์ของหมวดหนังสือ ตามที่ฟอร์มในหน้าแอดมินรับ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/book-categories/{slug}หมวดหนังสือรายการเดียว
หมวดหนังสือรายการเดียว
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200ระเบียน
- 404ไม่พบสิ่งที่ขอ
patch/api/v1/book-categories/{slug}แก้ไขหมวดหนังสือต้องมีคีย์
แก้เฉพาะสิ่งที่ส่งมา — ระเบียนปัจจุบันถูกอ่านก่อน แล้ว body ทับลงไปเฉพาะคีย์ที่เอ่ยถึง ส่งฟิลด์เดียวก็เปลี่ยนฟิลด์เดียว · คีย์ที่ body เอ่ยถึงถูกแทนทั้งก้อน null และสตริงว่างต่างก็เป็นการลบค่านั้น และรายการถูกแทนไม่ใช่ต่อท้าย · สลักใน path คือระเบียนที่แก้ ส่ง slug ใน body เพื่อเปลี่ยนสลัก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
ฟิลด์ของหมวดหนังสือ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
delete/api/v1/book-categories/{slug}ลบหมวดหนังสือต้องมีคีย์
ลบหมวดหนังสือ
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
post/api/v1/book-categories/{slug}/moveย้ายลำดับหมวดหนังสือต้องมีคีย์
delta เป็น −1 หรือ 1 — ลำดับถูกเขียนใหม่เป็น ๑…n ทุกครั้ง
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
{ "delta": -1 }
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
บทสวดมนต์และตัวบท
chants · ๑๓ คำสั่ง
get/api/v1/chantsรายการบทสวดทั้งหมด
รายการบทสวดทั้งหมด
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
sectionstring- สลักหมวด
occasionstring- โอกาสที่สวด
prayerTypestring- ประเภทบทสวด
audiostring- true เพื่อเอาเฉพาะบทที่มีเสียง
transcribedstring- true เพื่อเอาเฉพาะบทที่ถอดความแล้ว
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
การตอบกลับ
- 200{ items, total, limit, offset }
post/api/v1/chantsเพิ่มบทสวดต้องมีคีย์
ตรวจด้วยตัวตรวจชุดเดียวกับฟอร์มในหน้าแอดมิน ข้อความที่ปฏิเสธจึงเป็นประโยคภาษาไทยประโยคเดียวกัน และทุกครั้งที่เขียนสำเร็จจะมีบรรทัดใน content_edit
เนื้อคำขอ (Request Body)
ฟิลด์ของบทสวด ตามที่ฟอร์มในหน้าแอดมินรับ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/chants/{slug}บทสวดรายการเดียว
บทสวดรายการเดียว
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200ระเบียน
- 404ไม่พบสิ่งที่ขอ
patch/api/v1/chants/{slug}แก้ไขบทสวดต้องมีคีย์
แก้เฉพาะสิ่งที่ส่งมา — ระเบียนปัจจุบันถูกอ่านก่อน แล้ว body ทับลงไปเฉพาะคีย์ที่เอ่ยถึง ส่งฟิลด์เดียวก็เปลี่ยนฟิลด์เดียว · คีย์ที่ body เอ่ยถึงถูกแทนทั้งก้อน null และสตริงว่างต่างก็เป็นการลบค่านั้น และรายการถูกแทนไม่ใช่ต่อท้าย · สลักใน path คือระเบียนที่แก้ ส่ง slug ใน body เพื่อเปลี่ยนสลัก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
ฟิลด์ของบทสวด
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
delete/api/v1/chants/{slug}ลบบทสวดต้องมีคีย์
ลบบทสวด
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
post/api/v1/chants/{slug}/moveย้ายลำดับบทสวดต้องมีคีย์
delta เป็น −1 หรือ 1 — ลำดับถูกเขียนใหม่เป็น ๑…n ทุกครั้ง
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
{ "delta": -1 }
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
get/api/v1/chants/{slug}/textตัวบทสวด
บทที่ยังไม่ได้ถอดความตอบ 200 พร้อม transcribed: false ไม่ใช่ 404 — ระเบียนมีจริง เพียงแต่ยังไม่มีใครพิมพ์ตัวบทลงไป
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ slug, transcribed, lines }
- 404ไม่พบสิ่งที่ขอ
get/api/v1/chant-sectionsรายการหมวดบทสวดทั้งหมด
รายการหมวดบทสวดทั้งหมด
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
การตอบกลับ
- 200{ items, total, limit, offset }
post/api/v1/chant-sectionsเพิ่มหมวดบทสวดต้องมีคีย์
ตรวจด้วยตัวตรวจชุดเดียวกับฟอร์มในหน้าแอดมิน ข้อความที่ปฏิเสธจึงเป็นประโยคภาษาไทยประโยคเดียวกัน และทุกครั้งที่เขียนสำเร็จจะมีบรรทัดใน content_edit
เนื้อคำขอ (Request Body)
ฟิลด์ของหมวดบทสวด ตามที่ฟอร์มในหน้าแอดมินรับ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/chant-sections/{slug}หมวดบทสวดรายการเดียว
หมวดบทสวดรายการเดียว
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200ระเบียน
- 404ไม่พบสิ่งที่ขอ
patch/api/v1/chant-sections/{slug}แก้ไขหมวดบทสวดต้องมีคีย์
แก้เฉพาะสิ่งที่ส่งมา — ระเบียนปัจจุบันถูกอ่านก่อน แล้ว body ทับลงไปเฉพาะคีย์ที่เอ่ยถึง ส่งฟิลด์เดียวก็เปลี่ยนฟิลด์เดียว · คีย์ที่ body เอ่ยถึงถูกแทนทั้งก้อน null และสตริงว่างต่างก็เป็นการลบค่านั้น และรายการถูกแทนไม่ใช่ต่อท้าย · สลักใน path คือระเบียนที่แก้ ส่ง slug ใน body เพื่อเปลี่ยนสลัก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
ฟิลด์ของหมวดบทสวด
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
delete/api/v1/chant-sections/{slug}ลบหมวดบทสวดต้องมีคีย์
ลบหมวดบทสวด
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
post/api/v1/chant-sections/{slug}/moveย้ายลำดับหมวดบทสวดต้องมีคีย์
delta เป็น −1 หรือ 1 — ลำดับถูกเขียนใหม่เป็น ๑…n ทุกครั้ง
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
{ "delta": -1 }
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
พระไตรปิฎก
ชั้น สารบัญ ตัวบท และการอ่านทีละหน้า · canon · ๒๗ คำสั่ง
get/api/v1/canonชั้นหนังสือทั้งชุด
สามปิฎก หมวดของแต่ละปิฎก และจำนวนเล่มทั้งหมด
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ pitakas, volumes }
get/api/v1/canon/pitakasรายการปิฎกทั้งหมด
รายการปิฎกทั้งหมด
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
การตอบกลับ
- 200{ items, total, limit, offset }
post/api/v1/canon/pitakasเพิ่มปิฎกต้องมีคีย์
ตรวจด้วยตัวตรวจชุดเดียวกับฟอร์มในหน้าแอดมิน ข้อความที่ปฏิเสธจึงเป็นประโยคภาษาไทยประโยคเดียวกัน และทุกครั้งที่เขียนสำเร็จจะมีบรรทัดใน content_edit
เนื้อคำขอ (Request Body)
ฟิลด์ของปิฎก ตามที่ฟอร์มในหน้าแอดมินรับ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/canon/pitakas/{slug}ปิฎกรายการเดียว
ปิฎกรายการเดียว
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200ระเบียน
- 404ไม่พบสิ่งที่ขอ
patch/api/v1/canon/pitakas/{slug}แก้ไขปิฎกต้องมีคีย์
แก้เฉพาะสิ่งที่ส่งมา — ระเบียนปัจจุบันถูกอ่านก่อน แล้ว body ทับลงไปเฉพาะคีย์ที่เอ่ยถึง ส่งฟิลด์เดียวก็เปลี่ยนฟิลด์เดียว · คีย์ที่ body เอ่ยถึงถูกแทนทั้งก้อน null และสตริงว่างต่างก็เป็นการลบค่านั้น และรายการถูกแทนไม่ใช่ต่อท้าย · สลักใน path คือระเบียนที่แก้ ส่ง slug ใน body เพื่อเปลี่ยนสลัก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
ฟิลด์ของปิฎก
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
delete/api/v1/canon/pitakas/{slug}ลบปิฎกต้องมีคีย์
ลบปิฎก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
post/api/v1/canon/pitakas/{slug}/moveย้ายลำดับปิฎกต้องมีคีย์
delta เป็น −1 หรือ 1 — ลำดับถูกเขียนใหม่เป็น ๑…n ทุกครั้ง
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
{ "delta": -1 }
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
get/api/v1/canon/divisionsรายการหมวดของพระไตรปิฎกทั้งหมด
รายการหมวดของพระไตรปิฎกทั้งหมด
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
การตอบกลับ
- 200{ items, total, limit, offset }
post/api/v1/canon/divisionsเพิ่มหมวดของพระไตรปิฎกต้องมีคีย์
ตรวจด้วยตัวตรวจชุดเดียวกับฟอร์มในหน้าแอดมิน ข้อความที่ปฏิเสธจึงเป็นประโยคภาษาไทยประโยคเดียวกัน และทุกครั้งที่เขียนสำเร็จจะมีบรรทัดใน content_edit
เนื้อคำขอ (Request Body)
ฟิลด์ของหมวดของพระไตรปิฎก ตามที่ฟอร์มในหน้าแอดมินรับ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/canon/divisions/{slug}หมวดของพระไตรปิฎกรายการเดียว
หมวดของพระไตรปิฎกรายการเดียว
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200ระเบียน
- 404ไม่พบสิ่งที่ขอ
patch/api/v1/canon/divisions/{slug}แก้ไขหมวดของพระไตรปิฎกต้องมีคีย์
แก้เฉพาะสิ่งที่ส่งมา — ระเบียนปัจจุบันถูกอ่านก่อน แล้ว body ทับลงไปเฉพาะคีย์ที่เอ่ยถึง ส่งฟิลด์เดียวก็เปลี่ยนฟิลด์เดียว · คีย์ที่ body เอ่ยถึงถูกแทนทั้งก้อน null และสตริงว่างต่างก็เป็นการลบค่านั้น และรายการถูกแทนไม่ใช่ต่อท้าย · สลักใน path คือระเบียนที่แก้ ส่ง slug ใน body เพื่อเปลี่ยนสลัก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
ฟิลด์ของหมวดของพระไตรปิฎก
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
delete/api/v1/canon/divisions/{slug}ลบหมวดของพระไตรปิฎกต้องมีคีย์
ลบหมวดของพระไตรปิฎก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
post/api/v1/canon/divisions/{slug}/moveย้ายลำดับหมวดของพระไตรปิฎกต้องมีคีย์
delta เป็น −1 หรือ 1 — ลำดับถูกเขียนใหม่เป็น ๑…n ทุกครั้ง
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
{ "delta": -1 }
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
get/api/v1/canon/volumes/{volume}หนึ่งเล่ม
ที่ทางบนชั้น และฉบับที่เล่มนี้มีตัวบทให้อ่าน
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ volume, pitaka, division, editions, href, readHref }
- 404ไม่พบสิ่งที่ขอ
get/api/v1/canon/volumes/{volume}/contentsสารบัญของเล่ม
เป็นต้นไม้ หรือ ?flat=1 เพื่อเอาหัวข้อทั้งหมดเรียงตามลำดับอ่าน พร้อม depth และ path · แต่ละหัวข้อมี ref (ตำแหน่งที่แก้แล้ว) และ ownRef (ตำแหน่งที่ระเบียนถืออยู่จริง) ซึ่งไม่เท่ากันเสมอไป
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
พารามิเตอร์ (Query Parameters)
flatstring- 1 เพื่อเอาแบบเรียงแบน
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ volume, division, entries, items }
- 404ไม่พบสิ่งที่ขอ
get/api/v1/canon/volumes/{volume}/entriesหัวข้อของเล่ม เรียงแบน
หัวข้อของเล่ม เรียงแบน
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ volume, division, entries, items }
- 404ไม่พบสิ่งที่ขอ
post/api/v1/canon/volumes/{volume}/entriesเพิ่มหัวข้อลงในสารบัญของเล่มนี้ต้องมีคีย์
หัวข้อสังกัดหมวด ไม่ใช่เล่ม — หมวดถูกหาจากเลขเล่มให้เอง เพื่อให้หัวข้อหนึ่งมีที่อยู่เดียวทั้งเว็บและ API · parent ใน body คือสลักของหัวข้อที่จะไปอยู่ใต้
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
เนื้อคำขอ (Request Body)
ฟิลด์ของหัวข้อ พร้อม parent ถ้ามี
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/canon/volumes/{volume}/entries/{entry}หนึ่งหัวข้อ
ตำแหน่งที่อ้างอิง ฉบับที่มีตัวบท และลิงก์ไปอ่านที่ 84000 ทีละฉบับ
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
entrystringจำเป็น- สลักของหัวข้อ
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ volume, division, entry, editions, links }
- 404ไม่พบสิ่งที่ขอ
patch/api/v1/canon/volumes/{volume}/entries/{entry}แก้ไขหัวข้อต้องมีคีย์
แก้เฉพาะสิ่งที่ส่งมา เหมือน PATCH เส้นอื่น · ที่นี่สำคัญกว่าที่อื่น เพราะทุกครั้งที่บันทึก ทุกคอลัมน์ของ ref ถูกเขียนใหม่ — body ที่ไม่พูดถึงตำแหน่ง จึงเคยแปลว่าหัวข้อนี้ไม่อยู่ที่ไหนเลย
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
entrystringจำเป็น- สลักของหัวข้อ
เนื้อคำขอ (Request Body)
ฟิลด์ของหัวข้อ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
delete/api/v1/canon/volumes/{volume}/entries/{entry}ลบหัวข้อต้องมีคีย์
ลบทั้งกิ่ง — หัวข้อที่อยู่ข้างใต้หายไปด้วย และลิงก์จากหัวข้อเหล่านั้นไปยังตัวบทหายไปด้วย · ตัวบทเองไม่ถูกลบ เพราะเป็นของที่ import มา ไม่ใช่ของที่บรรณาธิการเขียน
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
entrystringจำเป็น- สลักของหัวข้อ
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
post/api/v1/canon/volumes/{volume}/entries/{entry}/moveย้ายลำดับหัวข้อในกลุ่มพี่น้องของมันต้องมีคีย์
ย้ายลำดับหัวข้อในกลุ่มพี่น้องของมัน
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
entrystringจำเป็น- สลักของหัวข้อ
เนื้อคำขอ (Request Body)
{ "delta": -1 }
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
post/api/v1/canon/volumes/{volume}/entries/{entry}/nestเลื่อนหัวข้อเข้าหรือออกหนึ่งชั้นต้องมีคีย์
direction เป็น in หรือ out · ลึกได้ถึงหกชั้น เกินกว่านั้นตอบ 409
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
entrystringจำเป็น- สลักของหัวข้อ
เนื้อคำขอ (Request Body)
{ "direction": "in" }
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
get/api/v1/canon/volumes/{volume}/entries/{entry}/passageตัวบทของหัวข้อ ในฉบับหนึ่ง
?edition= ที่ไม่รู้จักถูกปฏิเสธ ไม่ตกกลับไปฉบับหลวง — ไม่เช่นนั้นไคลเอนต์จะพิมพ์ตัวบทของฉบับหนึ่งใต้ชื่อของอีกฉบับ · variant คือที่ที่คลังอีกแห่งลงตัวบทต่างออกไป ส่งมาทั้ง spans และคู่คำ
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
entrystringจำเป็น- สลักของหัวข้อ
พารามิเตอร์ (Query Parameters)
editionstring- royal · pali · roman (ค่าเริ่มต้น royal)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200ตัวบท พร้อมย่อหน้าที่ตัดไว้แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 404ไม่พบสิ่งที่ขอ
get/api/v1/canon/volumes/{volume}/layoutเล่มนี้แบ่งหน้าอย่างไร
บทและจำนวนหน้า ไม่มีตัวอักษรของตัวบทเลย · สองฉบับแบ่งหน้าไม่เหมือนกัน หน้า ๔๐ ของไทยกับของบาลีจึงไม่ใช่ที่เดียวกัน — ต้องถามแยกตามฉบับเสมอ
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
พารามิเตอร์ (Query Parameters)
editionstring- royal · pali · roman
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ volume, edition, editionLabel, totalPages, chapters }
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 404ไม่พบสิ่งที่ขอ
get/api/v1/canon/volumes/{volume}/pages/{number}หนึ่งหน้าของเล่ม
หนึ่งหน้าของเล่ม
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
numberintegerจำเป็น- เลขหน้า เริ่มที่ ๑
พารามิเตอร์ (Query Parameters)
editionstring- royal · pali · roman
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ number, chapter, chapterTitle, heading?, paragraphs, totalPages }
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 404ไม่พบสิ่งที่ขอ
get/api/v1/canon/volumes/{volume}/searchค้นในเล่มที่เปิดอยู่
คนละคำถามกับ /api/v1/search ซึ่งค้นทั้งคลังแล้วตอบเป็นหัวข้อ · อันนี้ตอบเป็น *หน้า* และเทียบตัวอักษรตรง ๆ ไม่ผ่านดัชนี เพราะคนที่เปิดหนังสืออยู่ต้องการสิ่งที่พิมพ์ไปพอดี
พารามิเตอร์ (Path Parameters)
volumeintegerจำเป็น- เล่มที่ ๑–๔๕
พารามิเตอร์ (Query Parameters)
qstring- คำที่ค้น อย่างน้อยสองตัวอักษร
editionstring- royal · pali · roman
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ volume, edition, query, items, total, limit, offset }
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 404ไม่พบสิ่งที่ขอ
get/api/v1/canon/readingชื่อและจำนวนหน้าของเล่มที่ค้างไว้
?at=27:royal,3:pali — จำนวนหน้าของเล่มเป็นผลของการแบ่งหน้า ไม่ใช่ฟิลด์ในระเบียน จึงไม่สร้างทั้งสี่สิบห้าเล่มให้ผู้เรียกที่ต้องการสองเล่ม
พารามิเตอร์ (Query Parameters)
atstring- คู่ เล่ม:ฉบับ คั่นด้วยจุลภาค สูงสุด ๒๔ คู่
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200{ places }
ชาดก ๕๔๗ เรื่อง
jataka · ๑๒ คำสั่ง
get/api/v1/jatakaรายการชาดกทั้งหมด
รายการชาดกทั้งหมด
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
nipatastring- สลักของนิบาต
vaggastring- ชื่อวรรค
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
การตอบกลับ
- 200{ items, total, limit, offset }
post/api/v1/jatakaเพิ่มชาดกต้องมีคีย์
ตรวจด้วยตัวตรวจชุดเดียวกับฟอร์มในหน้าแอดมิน ข้อความที่ปฏิเสธจึงเป็นประโยคภาษาไทยประโยคเดียวกัน และทุกครั้งที่เขียนสำเร็จจะมีบรรทัดใน content_edit
เนื้อคำขอ (Request Body)
ฟิลด์ของชาดก ตามที่ฟอร์มในหน้าแอดมินรับ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/jataka/{slug}ชาดกรายการเดียว
ชาดกรายการเดียว
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200ระเบียน
- 404ไม่พบสิ่งที่ขอ
patch/api/v1/jataka/{slug}แก้ไขชาดกต้องมีคีย์
แก้เฉพาะสิ่งที่ส่งมา — ระเบียนปัจจุบันถูกอ่านก่อน แล้ว body ทับลงไปเฉพาะคีย์ที่เอ่ยถึง ส่งฟิลด์เดียวก็เปลี่ยนฟิลด์เดียว · คีย์ที่ body เอ่ยถึงถูกแทนทั้งก้อน null และสตริงว่างต่างก็เป็นการลบค่านั้น และรายการถูกแทนไม่ใช่ต่อท้าย · สลักใน path คือระเบียนที่แก้ ส่ง slug ใน body เพื่อเปลี่ยนสลัก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
ฟิลด์ของชาดก
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
delete/api/v1/jataka/{slug}ลบชาดกต้องมีคีย์
ลบชาดก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
post/api/v1/jataka/bulkวางรายการชาดกทั้งนิบาตต้องมีคีย์
บรรทัดละเรื่อง คั่นฟิลด์ด้วย | — เลข|ชื่อ|ว่าด้วย|อักษรโรมัน · จับคู่ด้วย เลข ไม่ใช่สลัก การวางรายการที่แก้แล้วซ้ำจึงเป็นการซ่อม ไม่ใช่การเพิ่มซ้ำ และแถวเดิมยังเก็บตำแหน่งที่บรรณาธิการเคยลงไว้
เนื้อคำขอ (Request Body)
{ "nipata": "nipata-1", "rows": ["1|อปัณณกชาดก|…|apannaka"] }
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/jataka/nipatasรายการนิบาตทั้งหมด
รายการนิบาตทั้งหมด
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
การตอบกลับ
- 200{ items, total, limit, offset }
post/api/v1/jataka/nipatasเพิ่มนิบาตต้องมีคีย์
ตรวจด้วยตัวตรวจชุดเดียวกับฟอร์มในหน้าแอดมิน ข้อความที่ปฏิเสธจึงเป็นประโยคภาษาไทยประโยคเดียวกัน และทุกครั้งที่เขียนสำเร็จจะมีบรรทัดใน content_edit
เนื้อคำขอ (Request Body)
ฟิลด์ของนิบาต ตามที่ฟอร์มในหน้าแอดมินรับ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/jataka/nipatas/{slug}นิบาตรายการเดียว
นิบาตรายการเดียว
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200ระเบียน
- 404ไม่พบสิ่งที่ขอ
patch/api/v1/jataka/nipatas/{slug}แก้ไขนิบาตต้องมีคีย์
แก้เฉพาะสิ่งที่ส่งมา — ระเบียนปัจจุบันถูกอ่านก่อน แล้ว body ทับลงไปเฉพาะคีย์ที่เอ่ยถึง ส่งฟิลด์เดียวก็เปลี่ยนฟิลด์เดียว · คีย์ที่ body เอ่ยถึงถูกแทนทั้งก้อน null และสตริงว่างต่างก็เป็นการลบค่านั้น และรายการถูกแทนไม่ใช่ต่อท้าย · สลักใน path คือระเบียนที่แก้ ส่ง slug ใน body เพื่อเปลี่ยนสลัก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
ฟิลด์ของนิบาต
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
delete/api/v1/jataka/nipatas/{slug}ลบนิบาตต้องมีคีย์
ลบนิบาต
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
post/api/v1/jataka/nipatas/{slug}/moveย้ายลำดับนิบาตต้องมีคีย์
delta เป็น −1 หรือ 1 — ลำดับถูกเขียนใหม่เป็น ๑…n ทุกครั้ง
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
{ "delta": -1 }
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
หมวดธรรมที่นับเป็นชุด
dhamma-groups · ๑๒ คำสั่ง
get/api/v1/dhamma-groupsรายการหมวดธรรมทั้งหมด
รายการหมวดธรรมทั้งหมด
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
setstring- สลักของหมวดจำนวน
sizestring- จำนวนสมาชิกในหมวด เช่น 4 คือจตุกกะ
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
การตอบกลับ
- 200{ items, total, limit, offset }
post/api/v1/dhamma-groupsเพิ่มหมวดธรรมต้องมีคีย์
ตรวจด้วยตัวตรวจชุดเดียวกับฟอร์มในหน้าแอดมิน ข้อความที่ปฏิเสธจึงเป็นประโยคภาษาไทยประโยคเดียวกัน และทุกครั้งที่เขียนสำเร็จจะมีบรรทัดใน content_edit
เนื้อคำขอ (Request Body)
ฟิลด์ของหมวดธรรม ตามที่ฟอร์มในหน้าแอดมินรับ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/dhamma-groups/{slug}หมวดธรรมรายการเดียว
หมวดธรรมรายการเดียว
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200ระเบียน
- 404ไม่พบสิ่งที่ขอ
patch/api/v1/dhamma-groups/{slug}แก้ไขหมวดธรรมต้องมีคีย์
แก้เฉพาะสิ่งที่ส่งมา — ระเบียนปัจจุบันถูกอ่านก่อน แล้ว body ทับลงไปเฉพาะคีย์ที่เอ่ยถึง ส่งฟิลด์เดียวก็เปลี่ยนฟิลด์เดียว · คีย์ที่ body เอ่ยถึงถูกแทนทั้งก้อน null และสตริงว่างต่างก็เป็นการลบค่านั้น และรายการถูกแทนไม่ใช่ต่อท้าย · สลักใน path คือระเบียนที่แก้ ส่ง slug ใน body เพื่อเปลี่ยนสลัก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
ฟิลด์ของหมวดธรรม
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
delete/api/v1/dhamma-groups/{slug}ลบหมวดธรรมต้องมีคีย์
ลบหมวดธรรม
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
post/api/v1/dhamma-groups/bulkวางรายการหมวดธรรมทั้งหมวดจำนวนต้องมีคีย์
บรรทัดละรายการ เลข|ชื่อ|คำอธิบาย|เลขในพจนานุกรม จับคู่ด้วยเลขในพจนานุกรม
เนื้อคำขอ (Request Body)
{ "set": "set-4", "rows": ["137|กรรมกิเลส 4|…|137"] }
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/dhamma-groups/setsรายการหมวดจำนวนทั้งหมด
รายการหมวดจำนวนทั้งหมด
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
การตอบกลับ
- 200{ items, total, limit, offset }
post/api/v1/dhamma-groups/setsเพิ่มหมวดจำนวนต้องมีคีย์
ตรวจด้วยตัวตรวจชุดเดียวกับฟอร์มในหน้าแอดมิน ข้อความที่ปฏิเสธจึงเป็นประโยคภาษาไทยประโยคเดียวกัน และทุกครั้งที่เขียนสำเร็จจะมีบรรทัดใน content_edit
เนื้อคำขอ (Request Body)
ฟิลด์ของหมวดจำนวน ตามที่ฟอร์มในหน้าแอดมินรับ
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
get/api/v1/dhamma-groups/sets/{slug}หมวดจำนวนรายการเดียว
หมวดจำนวนรายการเดียว
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200ระเบียน
- 404ไม่พบสิ่งที่ขอ
patch/api/v1/dhamma-groups/sets/{slug}แก้ไขหมวดจำนวนต้องมีคีย์
แก้เฉพาะสิ่งที่ส่งมา — ระเบียนปัจจุบันถูกอ่านก่อน แล้ว body ทับลงไปเฉพาะคีย์ที่เอ่ยถึง ส่งฟิลด์เดียวก็เปลี่ยนฟิลด์เดียว · คีย์ที่ body เอ่ยถึงถูกแทนทั้งก้อน null และสตริงว่างต่างก็เป็นการลบค่านั้น และรายการถูกแทนไม่ใช่ต่อท้าย · สลักใน path คือระเบียนที่แก้ ส่ง slug ใน body เพื่อเปลี่ยนสลัก
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
ฟิลด์ของหมวดจำนวน
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
delete/api/v1/dhamma-groups/sets/{slug}ลบหมวดจำนวนต้องมีคีย์
ลบหมวดจำนวน
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
post/api/v1/dhamma-groups/sets/{slug}/moveย้ายลำดับหมวดจำนวนต้องมีคีย์
delta เป็น −1 หรือ 1 — ลำดับถูกเขียนใหม่เป็น ๑…n ทุกครั้ง
พารามิเตอร์ (Path Parameters)
slugstringจำเป็น- สลักของระเบียน
เนื้อคำขอ (Request Body)
{ "delta": -1 }
การตอบกลับ
- 200ลบแล้ว
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
- 412ส่ง If-Match มาแต่ระเบียนขยับไปแล้ว — โหลดใหม่แล้วลองอีกครั้ง
ค้นทั้งคลังด้วยดัชนีเดียว
search · ๑ คำสั่ง
get/api/v1/searchค้นทั้งคลัง
หนังสือ บทสวด เล่ม หัวข้อในสารบัญ ชาดก หมวดธรรม ผู้เขียน หมวด และตัวบทของพระไตรปิฎกเอง ทั้งหมดอยู่ในดัชนีเดียว · ตัวกรองรับสองแบบ ?kind=book&kind=chant กับ ?kind=book,chant มีความหมายเดียวกัน · q ว่างจะได้รายการที่แนะนำก่อนพิมพ์ ในรูปเดียวกับผลค้น
พารามิเตอร์ (Query Parameters)
qstring- คำที่ค้น
kindstring- จำกัดชนิดของผล
pitakastring- จำกัดปิฎก
editionstring- จำกัดฉบับ
bookstring- จำกัดเล่ม
facetsstring- ฟิลด์ที่อยากได้จำนวนกำกับ เช่น kind,pitaka
limitinteger- จำนวนรายการต่อครั้ง (ค่าเริ่มต้น 50 สูงสุด 200)
offsetinteger- ข้ามกี่รายการก่อนเริ่มนับ
การตอบกลับ
- 200{ query, hits, total, totalIsFloor?, facets?, jump, tookMs, via, limit, offset }
ของทั้งเครื่อง
จำนวน ที่มา ภาษา และคำแปล · meta · ๖ คำสั่ง
get/api/v1/metaเซิร์ฟเวอร์นี้มีอะไรอยู่เท่าไร
passages เป็น null เมื่อเครื่องนี้ยังไม่มีฐานตัวบท ซึ่งเป็นสภาพของ clone ใหม่
พารามิเตอร์ (Query Parameters)
langstring- ภาษาที่อยากอ่านระเบียน เช่น th หรือ en — ภาษาที่เซิร์ฟเวอร์นี้ยังไม่มีจะตกกลับไปเป็นภาษาหลักทีละฟิลด์ ไม่ปฏิเสธ ดูรายการที่รับได้ที่ /api/v1/languages
การตอบกลับ
- 200จำนวนของทุกคอลเลกชัน และภาษาที่เผยแพร่
get/api/v1/sourcesตัวบทนี้เป็นของใคร
นับจากตัวบทที่เก็บไว้จริง ไม่ได้เขียนตายตัว จึงอ้างเกินจริงไม่ได้ · ไคลเอนต์ที่แสดงตัวบทควรแสดงข้อมูลนี้ด้วย
การตอบกลับ
- 200{ texts, hasText, canon, dictionary }
get/api/v1/languages`?lang=` รับอะไรได้บ้างบนเครื่องนี้
`?lang=` รับอะไรได้บ้างบนเครื่องนี้
การตอบกลับ
- 200{ items }
get/api/v1/healthเซิร์ฟเวอร์นี้ถือของที่ควรถืออยู่หรือเปล่า
ตอบ 503 เมื่อเปิดฐานตัวบทไม่ได้หรือในนั้นไม่มีตัวบท · ทุกอย่างที่เหลือในโปรเจกต์ถือว่าฐานที่หายไปคือ *เว็บที่มีของน้อยลง* ไม่ใช่เว็บที่พัง ซึ่งถูกสำหรับเครื่องที่เพิ่งโคลนมา และผิดสำหรับ deploy ที่ volume ไม่ได้ mount — เส้นนี้คือเส้นเดียวที่ถือว่ามันคือความผิดพลาด
การตอบกลับ
- 200มีฐานข้อมูลและมีตัวบทอยู่ในนั้น
- 503ไม่มีอย่างใดอย่างหนึ่ง — why บอกว่าอันไหน
get/api/v1/openapi.jsonเอกสารชุดนี้เอง
เผื่อไว้ให้เครื่องมือสร้างไคลเอนต์อ่าน · เทสต์ openapi.test.ts เดินไล่ไฟล์ route ทุกไฟล์แล้วเทียบกับเอกสารนี้ ถ้าเส้นใดหายไปหรือเมท็อดไม่ตรง เทสต์จะแดง
การตอบกลับ
- 200เอกสาร OpenAPI 3.1
post/api/v1/translationsบันทึกคำแปลหนึ่งรายการต้องมีคีย์
ไปถึงตัวระเบียนไม่ได้จากที่นี่ — ไม่มีสลัก ไม่มีเลข ไม่มีปิฎก · ส่งทุกฟิลด์เป็นค่าว่างคือการลบคำแปลนั้น เพราะคำแปลมีทั้งชุดหรือไม่มีเลย
เนื้อคำขอ (Request Body)
{ "collection": "books", "id": 12, "language": "en", "title": "…" }
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
การตัดสินเรื่องตัวบท
passages · ๓ คำสั่ง
post/api/v1/passages/settleตัดสินจุดที่สองคลังลงเรื่องต่างกันใต้ข้อเดียวกันต้องมีคีย์
keep คือตัวบทที่อยู่บนหน้าถูกแล้ว swap คืออีกคลังมีตัวบทที่ถูก ไม่มี “ยังไม่แน่ใจ” — การปล่อยไว้ในคิวคือคำตอบนั้น · ทั้งสองแบบติดธงว่าคนตัดสิน การ import รอบหน้าจะข้ามไป
เนื้อคำขอ (Request Body)
{ "division": "…", "entry": "…", "edition": "royal", "choice": "swap" }
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
post/api/v1/passages/reopenเอาคู่ที่ตัดสินไปแล้วกลับเข้าคิวต้องมีคีย์
เอาคู่ที่ตัดสินไปแล้วกลับเข้าคิว
เนื้อคำขอ (Request Body)
{ "division": "…", "entry": "…", "edition": "royal" }
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
post/api/v1/passages/{passage}/hideถอนตัวบทออกจากหน้าอ่าน หรือเอากลับขึ้นไปต้องมีคีย์
ซ่อนไม่ใช่ลบ และไม่ได้ตัดสินอะไร — แถวยังอยู่ที่เดิม และคิวยังแสดงมันพร้อมเครื่องหมาย
พารามิเตอร์ (Path Parameters)
passageintegerจำเป็น- เลขระเบียนของตัวบท
เนื้อคำขอ (Request Body)
{ "hide": true }
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก
สำรองและกู้คืนทั้งชุด
collections · ๒ คำสั่ง
get/api/v1/collections/{name}คัดลอกคอลเลกชันทั้งชุดออกมาต้องมีคีย์
ไม่ใช่ผิวอ่านของ API — รูปที่ได้คือรูปทั้งคอลเลกชันแบบเดียวกับที่ /admin/data คัดออกและ dump-content.py เขียน ไม่ใช่ DTO ที่เส้นอื่นเผยแพร่ · ต้องมีคีย์ทั้งอ่านและเขียน เพราะเป็นทางออกฉุกเฉินของแอดมิน
พารามิเตอร์ (Path Parameters)
namestringจำเป็น- ชื่อคอลเลกชัน เช่น chants หรือ tipitaka-contents
การตอบกลับ
- 200JSON ทั้งชุด
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 404ไม่พบสิ่งที่ขอ
put/api/v1/collections/{name}เขียนทับคอลเลกชันทั้งชุดต้องมีคีย์
อะไรที่ body ไม่พูดถึง จะหายไป · ตรวจรูปก่อนเขียน — คีย์ชั้นนอกและชนิดของแต่ละคีย์ ซึ่งเป็นความผิดพลาดที่เกิดขึ้นจริง (วางผิดไฟล์) · คีย์ที่ไม่รู้จักถูกปฏิเสธ ไม่ใช่เพิกเฉย
พารามิเตอร์ (Path Parameters)
namestringจำเป็น- ชื่อคอลเลกชัน
เนื้อคำขอ (Request Body)
คอลเลกชันทั้งชุด ในรูปเดียวกับที่ GET ส่งออกมา
การตอบกลับ
- 200บันทึกทับระเบียนเดิมแล้ว
- 201สร้างระเบียนใหม่แล้ว
- 400คำขอไม่ถูกต้อง — body มี error.issues แยกรายฟิลด์เมื่อความผิดอยู่ที่ฟิลด์
- 401ไม่ได้ส่งคีย์ หรือคีย์ไม่ถูกต้อง
- 403เซิร์ฟเวอร์นี้ไม่เปิดให้เขียนผ่าน API (production ที่ไม่ได้ตั้ง DHAMMA_API_KEY)
- 409ขัดกับสิ่งที่มีอยู่ — สลักซ้ำ, หมวดที่ยังมีสมาชิก