คู่มือ

API คืออะไร? คู่มือภาษาธรรมดาสำหรับผู้สร้างแอป

API (application programming interface) คือวิธีที่กำหนดไว้สำหรับซอฟต์แวร์ชิ้นหนึ่งในการขอข้อมูลจากอีกชิ้น หรือให้มันทำบางอย่าง แอปของคุณส่งคำขอในรูปแบบที่ตกลงกันไว้ เช่น "ขอการจองของพรุ่งนี้" "เรียกเก็บเงิน 20 ยูโรจากบัตรใบนี้" "สรุปข้อความนี้" และระบบอื่นตอบกลับมาเป็นข้อมูลที่มีโครงสร้าง API คือวิธีที่ส่วนต่างๆ ของแอปคุยกัน และวิธีที่แอปใช้บริการภายนอก เช่น การชำระเงิน อีเมล แผนที่ และ AI

ทำไม API จึงสำคัญเมื่อคุณสร้างด้วย AI

แอปที่มีประโยชน์เกือบทั้งหมดประกอบด้วยชิ้นส่วนที่สื่อสารกันผ่าน API:

  • ภายในแอปของคุณ หน้าจอในเบราว์เซอร์เรียก API ของแบ็กเอนด์ของคุณเองเพื่อโหลดและบันทึกข้อมูล
  • ภายนอกแอปของคุณ แบ็กเอนด์ของคุณเรียก API ของบริษัทอื่น: Stripe สำหรับรับการชำระเงิน ผู้ให้บริการอีเมลสำหรับส่งใบเสร็จ ผู้ให้บริการโมเดล AI สำหรับสร้างข้อความ

เมื่อคุณขอให้ AI builder "รับการชำระเงิน" หรือ "เพิ่มสรุปด้วย AI" สิ่งที่มันทำจริงคือเขียนโค้ดที่เรียก API การรู้พื้นฐานช่วยให้คุณเข้าใจว่า AI ต้องการอะไรจากคุณ (ปกติคือบัญชีกับบริการนั้นและ API key) จุดไหนที่อาจผิดพลาด และค่าใช้จ่ายจะเป็นเท่าไร

ตัวอย่างในชีวิตประจำวัน

ลองนึกถึงร้านอาหาร คุณไม่ได้เดินเข้าครัวเพื่อทำอาหารเอง คุณอ่านเมนู บอกพนักงานเสิร์ฟว่าต้องการอะไรในรูปแบบที่ครัวเข้าใจ แล้วพนักงานนำอาหารกลับมา หรือบอกว่าเมนูนั้นหมดแล้ว

  • เมนู คือเอกสาร API: รายการสิ่งที่คุณขอได้และวิธีขอ
  • พนักงานเสิร์ฟ คือ API: วิธีที่ตกลงกันไว้เพียงทางเดียวสำหรับคำขอเข้าและคำตอบออก
  • ครัว คือระบบอื่น: คุณไม่จำเป็นต้องรู้ว่าข้างในทำงานอย่างไร
  • การสั่งอาหาร คือคำขอ จานที่ได้ คือคำตอบ

ครัวสามารถเปลี่ยนเตาอบและพนักงานได้โดยที่คุณไม่รู้สึก ตราบใดที่เมนูยังเหมือนเดิม นั่นคือคุณค่าที่แท้จริงของ API: มันช่วยให้สองระบบทำงานร่วมกันได้โดยไม่ต้องรู้ว่าอีกฝั่งสร้างขึ้นอย่างไร

คำขอ web API ทำงานอย่างไร

API ส่วนใหญ่ที่คุณจะพบเป็น web API ที่ทำงานผ่าน HTTP ซึ่งเป็นโปรโตคอลเดียวกับที่เบราว์เซอร์ใช้ คำขอแต่ละครั้งมีส่วนประกอบไม่กี่อย่าง:

ส่วนประกอบคืออะไรตัวอย่าง
MethodประเภทของการกระทำGET (อ่าน), POST (สร้าง)
URL / endpointที่อยู่ของสิ่งที่คุณกระทำด้วยhttps://api.example.com/bookings
Headersข้อมูลเพิ่มเติม รวมถึงว่าคุณคือใครAuthorization: Bearer <your key>
Bodyข้อมูลที่คุณส่ง สำหรับการสร้างและอัปเดต{"name": "Lena", "time": "14:00"}

และแต่ละคำตอบมี:

ส่วนประกอบคืออะไรตัวอย่าง
Status codeตัวเลขที่บอกว่าเป็นอย่างไร200 OK, 201 Created, 404 Not Found
Bodyข้อมูลที่ส่งกลับ มักเป็น JSON{"id": 5001, "status": "confirmed"}

JSON (JavaScript Object Notation) คือรูปแบบข้อความธรรมดาของชื่อและค่าภายในวงเล็บปีกกา เป็นมาตรฐานที่ web API ใช้แลกเปลี่ยนข้อมูล

REST: รูปแบบที่พบบ่อยที่สุด

REST คือแนวทางที่ใช้กันอย่างกว้างขวางในการออกแบบ web API แต่ละประเภทของสิ่งต่างๆ มี URL ของตัวเอง และเมทอดมาตรฐานบอกว่าคุณกำลังทำอะไรกับมัน นี่คือหน้าตาของ REST API สำหรับแอปการจอง:

MethodEndpointทำอะไร
GET/api/bookingsแสดงรายการการจอง
GET/api/bookings/5001ดูการจองหนึ่งรายการ
POST/api/bookingsสร้างการจองใหม่
PATCH/api/bookings/5001เปลี่ยนบางส่วนของการจอง เช่น เวลา
DELETE/api/bookings/5001ยกเลิก (ลบ) การจอง

PUT ก็มีอยู่ และตามธรรมเนียมใช้แทนระเบียนทั้งหมด ส่วน PATCH เปลี่ยนเฉพาะฟิลด์ที่คุณส่ง

status code ที่พบบ่อยที่สุด:

Codeความหมาย
200 / 201สำเร็จ / สร้างแล้ว
400คำขอไม่ถูกต้อง: บางอย่างที่ส่งไปผิดหรือขาดหาย
401ยังไม่ได้ยืนยันตัวตน: ไม่มีการล็อกอินหรือคีย์ที่ถูกต้อง
403ห้ามเข้า: รู้จักคุณ แต่ไม่อนุญาตให้ทำสิ่งนี้
404ไม่พบ
429คำขอมากเกินไป: ชนขีดจำกัดอัตรา (rate limit)
500เซิร์ฟเวอร์เกิดข้อผิดพลาด

เมื่อแอปของคุณพัง status code มักเป็นเบาะแสที่เร็วที่สุด 401 จากผู้ให้บริการชำระเงินมักหมายถึง API key หายไปหรือผิด ส่วน 429 หมายถึงคุณเรียกถี่เกินไป

REST ไม่ใช่รูปแบบเดียว ยังมี GraphQL และ API แบบ RPC แต่ REST คือสิ่งที่บริการส่วนใหญ่และแบ็กเอนด์ที่สร้างด้วย AI ใช้

ตัวอย่างประกอบ: การยืนยันการจองทรงผม

เมื่อลูกค้าจองการตัดผมในแอปร้านทำผม การเรียก API หลายครั้งอาจเกิดขึ้นในเวลาหนึ่งถึงสองวินาที:

  1. หน้าจองในเบราว์เซอร์ส่ง POST /api/bookings พร้อมบริการ เวลา และข้อมูลลูกค้าไปยังแบ็กเอนด์ของคุณ
  2. แบ็กเอนด์ของคุณตรวจว่าช่องเวลาว่าง บันทึกการจองใน ฐานข้อมูล และส่ง 201 Created กลับ
  3. แบ็กเอนด์ของคุณเรียก API ของผู้ให้บริการอีเมลด้วย secret key ของมันว่า "ส่งการยืนยันนี้ไปยัง lena@example.com"
  4. หากมีการวางมัดจำ แบ็กเอนด์ขอให้ API ของผู้ให้บริการชำระเงินสร้าง checkout session และส่งลูกค้าไปที่นั่น
  5. ภายหลัง ผู้ให้บริการชำระเงินเรียกแอปของคุณเพื่อบอกว่าการชำระเงินสำเร็จ การเรียกย้อนกลับนั้นคือ webhook

ขั้นตอนแรกสองขั้นคือ API ของคุณเองระหว่าง frontend และ backend ขั้นตอนที่ 3–5 คือ API ของบุคคลที่สาม

คำศัพท์ที่พบบ่อย

คำศัพท์ความหมาย
EndpointURL เฉพาะหนึ่งที่ API ตอบกลับ
API keysecret ที่ระบุแอปของคุณให้กับบริการ ปฏิบัติกับมันเหมือนรหัสผ่าน
Authenticationการพิสูจน์ว่าใครเป็นผู้เรียก ด้วยคีย์ โทเคน หรือการล็อกอิน ดู authentication คืออะไร
Rate limitเพดานจำนวนคำขอที่ทำได้ในช่วงเวลาหนึ่ง
SDKไลบรารีโค้ดสำเร็จรูปที่ทำให้การเรียก API เฉพาะง่ายขึ้น
Documentation"เมนู" ว่ามี endpoint อะไร รับและส่งอะไรบ้าง
Sandbox / test modeเวอร์ชันของบริการสำหรับทดสอบโดยไม่มีเงินจริงหรือข้อมูลจริง
Webhookการเรียกจากบริการอื่นเข้าสู่แอปของคุณเมื่อบางอย่างเกิดขึ้น

ความผิดพลาดและความเข้าใจผิดที่พบบ่อย

  • ใส่ secret key ในฝั่ง frontend สิ่งใดก็ตามในโค้ดที่รันในเบราว์เซอร์สามารถถูกเห็นโดยใครก็ได้ที่เข้าเว็บ secret key ต้องอยู่บนเซิร์ฟเวอร์ ใน environment variables หรือ secrets
  • วางคีย์ลงในแชท ประวัติแชทอาจถูกเก็บไว้ ใช้ฟีเจอร์ secrets ของ builder แทน และหมุนเวียน (rotate) คีย์ใดก็ตามที่รั่วไหล
  • สมมติว่า API ฟรี API หลายตัวคิดค่าบริการต่อคำขอหรือต่อหน่วยการใช้งาน API ของโมเดล AI คิดตามโทเค็น ตรวจราคาและตั้งขีดจำกัดการใช้จ่าย ดู วิธีใช้ LLM API
  • ไม่จัดการความล้มเหลว บริการภายนอกล่ม หมดเวลา และชนขีดจำกัด ขอข้อความแสดงข้อผิดพลาดที่สมเหตุสมผลและการลองใหม่
  • เชื่อใจเบราว์เซอร์ API ของคุณเองต้องตรวจสิทธิ์ด้วยตัวเอง การซ่อนปุ่มไม่ได้หยุดใครบางคนจากการเรียก endpoint โดยตรง
  • ใช้ live key ระหว่างการทดสอบ ใช้คีย์โหมดทดสอบจนกว่าคุณจะพร้อมเปิดตัว

สิ่งที่ควรขอจาก AI builder ของคุณ

  • "แอปนี้ใช้ API ภายนอกตัวไหนบ้าง และแต่ละตัวมีค่าใช้จ่ายเท่าไร"
  • "เรียก API การชำระเงินจากเซิร์ฟเวอร์เท่านั้น อ่านคีย์จาก environment variable"
  • "แสดงทุก endpoint ใน API ของเรา สิ่งที่มันทำ และใครได้รับอนุญาตให้เรียก"
  • "ตรวจบนเซิร์ฟเวอร์ว่าผู้ใช้ที่ล็อกอินเป็นเจ้าของการจองก่อนอัปเดตหรือลบ"
  • "หาก API ของอีเมลล้มเหลว ให้บันทึกการจองไว้ต่อไปและบันทึกข้อผิดพลาด"
  • "ใช้โหมดทดสอบของผู้ให้บริการไปก่อน"

API ใน Mythex

Mythex สามารถสร้าง API ของคุณเอง ทั้งเป็นส่วนหนึ่งของเว็บแอป หรือเป็นแบ็กเอนด์แยกใน Node, Python (FastAPI), C# หรือ Java ที่ทำงานคู่กับ frontend ของคุณ และเขียนโค้ดที่เรียกบริการภายนอกได้ คุณเพิ่มคีย์ของพวกเขาเป็น secrets ของโปรเจกต์แทนการวางในแชท และแอปของคุณจะใช้ได้ทั้งในพรีวิวและเมื่อเผยแพร่แล้ว เอกสารมีสูตรสำหรับ การเชื่อมต่อ API ใดก็ได้ และ การสร้างแบ็กเอนด์ REST API

คำถาม

API คืออะไรแบบง่ายๆ?

API (application programming interface) คือวิธีที่กำหนดไว้สำหรับซอฟต์แวร์ชิ้นหนึ่งในการขอข้อมูลหรือให้อีกชิ้นทำบางอย่าง แอปของคุณส่งคำขอในรูปแบบที่ตกลงกันไว้ และระบบอื่นส่งคำตอบกลับมา เช่น ข้อมูลสภาพอากาศ ผลการชำระเงิน หรือคำตอบที่ AI สร้างขึ้น

REST API คืออะไร?

REST API คือรูปแบบทั่วไปของ web API ที่แต่ละประเภทของสิ่งต่างๆ (การจอง ลูกค้า) มี URL และคุณใช้เมทอด HTTP มาตรฐาน GET เพื่ออ่าน POST เพื่อสร้าง PUT หรือ PATCH เพื่ออัปเดต และ DELETE เพื่อลบ ข้อมูลมักส่งกลับเป็น JSON

API key คืออะไร และควรเก็บไว้ที่ไหน?

API key คือสตริงลับที่ระบุตัวแอปของคุณให้กับบริการหนึ่ง และมักทำให้มันใช้เงินหรือเข้าถึงข้อมูลได้ เก็บไว้ใน environment variables หรือ secrets ของโปรเจกต์บนเซิร์ฟเวอร์ ห้ามอยู่ในโค้ดที่รันในเบราว์เซอร์ และห้ามอยู่ในรีโพซิทอรีสาธารณะ

ความต่างระหว่าง API กับ webhook คืออะไร?

กับ API แอปของคุณขอบางอย่างจากบริการอื่นเมื่อต้องการ กับ webhook บริการอื่นเรียกแอปของคุณเมื่อบางอย่างเกิดขึ้น เช่น ผู้ให้บริการชำระเงินแจ้งว่าการชำระเงินสำเร็จ

Mythex · Pricing · สร้างอะไรก็ได้ด้วย AI · เทมเพลตเว็บไซต์และแอป · เปรียบเทียบ Mythex · อภิธานศัพท์การสร้างแอปด้วย AI · เครื่องมือฟรีสำหรับสร้างแอปด้วย AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)