เวลาคุยเรื่องทำเว็บหรือทำระบบ คำว่า API มักโผล่มาในประโยคที่ทำให้เจ้าของธุรกิจงง เช่น “อันนี้ต้องต่อ API ก่อน” หรือ “เขาไม่เปิด API ให้ ทำไม่ได้”
บทความนี้อธิบายว่ามันคืออะไร ในระดับที่พอจะตัดสินใจเรื่องงบและขอบเขตงานได้ โดยไม่ต้องรู้เรื่องโค้ด
API คืออะไร
API คือช่องทางที่ระบบหนึ่งเปิดไว้ให้ระบบอื่นเข้ามาขอข้อมูลหรือสั่งให้ทำอะไรบางอย่าง โดยมีกติกาที่ตกลงกันไว้ล่วงหน้าว่าต้องถามอย่างไรและจะได้คำตอบในรูปแบบไหน
เปรียบเทียบให้เห็นภาพ ร้านอาหารมีครัวที่คนนอกเข้าไม่ได้ แต่มีพนักงานรับออร์เดอร์ที่รับคำสั่งตามเมนูที่กำหนดไว้ แล้วเอาอาหารออกมาให้ พนักงานคนนั้นคือ API ส่วนเมนูคือรายการสิ่งที่ขอได้
คุณสั่งได้เฉพาะสิ่งที่อยู่ในเมนู และเข้าไปในครัวเองไม่ได้ นั่นคือหลักการทั้งหมด
ธุรกิจไทยใช้ API ทำอะไรบ้าง
รับชำระเงิน เว็บของคุณไม่ได้เก็บข้อมูลบัตรเอง แต่ส่งคำขอไปยังผู้ให้บริการรับชำระเงินผ่าน API แล้วรอคำตอบว่าจ่ายสำเร็จหรือไม่ ข้อดีคือคุณไม่ต้องรับผิดชอบการเก็บข้อมูลบัตร ซึ่งมีข้อกำหนดด้านความปลอดภัยที่เข้มงวดมาก
ส่งข้อความหาลูกค้า ระบบส่งข้อความผ่านแพลตฟอร์มแชท หรือส่ง SMS ล้วนทำผ่าน API
เชื่อมกับระบบขนส่ง ให้ลูกค้าดูสถานะพัสดุบนเว็บของคุณเอง แทนที่จะต้องไปเปิดเว็บบริษัทขนส่ง
เชื่อมห้องพักกับช่องทางการจอง โรงแรมที่ขายห้องทั้งบนเว็บตัวเองและบน OTA ต้องมีระบบที่อัปเดตห้องว่างให้ตรงกันทุกช่องทาง ระบบนี้ทำงานผ่าน API ทั้งหมด ถ้าไม่มี จะเกิดการจองซ้ำห้องเดียวกัน
ดึงรีวิวมาแสดงบนเว็บ แทนที่จะพิมพ์เองแล้วลืมอัปเดต
เชื่อมเว็บกับระบบบัญชีหรือ CRM เพื่อไม่ต้องคีย์ข้อมูลลูกค้าซ้ำสองที่
ทำไมบางอย่างทำไม่ได้
คำตอบที่เจ้าของธุรกิจได้ยินบ่อยคือ “เขาไม่เปิด API” ซึ่งแปลว่าระบบปลายทางไม่ได้เตรียมช่องทางให้ระบบอื่นเข้ามาคุยด้วย
กรณีนี้พบบ่อยกับ ระบบเก่าที่พัฒนาขึ้นมานานแล้ว ระบบภายในองค์กรที่ไม่เคยคิดจะเชื่อมกับใคร และแพลตฟอร์มที่จงใจไม่เปิดเพื่อไม่ให้ลูกค้าย้ายออกได้ง่าย
ทางออกที่มีมักไม่สวย เช่น การส่งออกข้อมูลเป็นไฟล์แล้วนำเข้าด้วยมือเป็นรอบ หรือการเขียนโปรแกรมไปอ่านหน้าเว็บแทน ซึ่งเปราะบางและพังเมื่อปลายทางเปลี่ยนหน้าตา
นี่คือเหตุผลที่ควรถามเรื่อง API ตั้งแต่ตอนเลือกซอฟต์แวร์ ไม่ใช่ตอนที่อยากเชื่อมแล้ว
คำถามที่ควรถามก่อนตัดสินใจ
เมื่อทีมพัฒนาเสนอให้เชื่อมระบบ ให้ถามห้าข้อนี้
หนึ่ง ปลายทางมี API ที่เปิดให้ใช้อย่างเป็นทางการหรือไม่ ถ้าไม่มีและต้องใช้วิธีอ้อม ให้ถามต่อว่าเสี่ยงพังเมื่อไหร่
สอง มีค่าใช้จ่ายในการเรียกใช้หรือไม่ บริการจำนวนมากคิดเงินตามจำนวนครั้งที่เรียก ซึ่งอาจกลายเป็นค่าใช้จ่ายประจำที่ไม่ได้อยู่ในงบตอนแรก
สาม มีข้อจำกัดจำนวนครั้งต่อนาทีหรือไม่ ถ้ามีและเว็บมีคนเข้าเยอะ ต้องออกแบบให้รองรับ
สี่ ถ้าปลายทางล่ม เว็บของเราจะเป็นอย่างไร คำตอบที่ดีคือเว็บยังใช้งานได้ เพียงแต่ส่วนนั้นแสดงข้อความว่าไม่พร้อมใช้ ไม่ใช่ทั้งเว็บล่มตาม
ห้า ใครเป็นเจ้าของกุญแจเข้าถึง กุญแจนี้ควรอยู่ในบัญชีของธุรกิจ ไม่ใช่ในบัญชีส่วนตัวของผู้พัฒนา มิฉะนั้นเมื่อเปลี่ยนทีม จะเข้าไม่ได้
API กับ SEO เกี่ยวกันอย่างไร
มีจุดเดียวที่ต้องระวังแต่สำคัญมาก คือ ถ้าเนื้อหาที่ต้องการให้ค้นเจอถูกดึงมาจาก API ตอนที่ผู้ใช้เปิดหน้า ตัวเก็บข้อมูลอาจมองไม่เห็น
ตัวอย่างที่พบบ่อยคือ เว็บอสังหาฯ ที่ดึงรายการประกาศจาก API ตอนโหลดหน้า ผลคือ Google เห็นหน้าเปล่า และตัวเก็บข้อมูลของ AI ที่ไม่รัน JavaScript เลยยิ่งไม่เห็นอะไรทั้งสิ้น
ทางแก้คือให้ข้อมูลถูกดึงมาประกอบเป็น HTML ตั้งแต่ฝั่งเซิร์ฟเวอร์ อ่านรายละเอียดได้ที่ SSR กับ CSR ต่างกันอย่างไร
ต้นทุนที่มักถูกมองข้าม
การเชื่อม API ไม่ใช่งานที่ทำครั้งเดียวจบ ค่าใช้จ่ายที่ตามมามีสามก้อน
ค่าดูแลเมื่อปลายทางเปลี่ยน ผู้ให้บริการอัปเดต API เป็นระยะ และบางครั้งเลิกรองรับเวอร์ชันเก่า ต้องมีคนคอยแก้
ค่าจัดการเมื่อเกิดข้อผิดพลาด เช่น การชำระเงินสำเร็จแต่ระบบไม่ได้บันทึก ต้องมีวิธีตรวจสอบและแก้ไขย้อนหลัง
ค่าเรียกใช้ที่โตตามธุรกิจ ถ้าคิดเงินตามจำนวนครั้ง ค่าใช้จ่ายจะเพิ่มเมื่อลูกค้าเพิ่ม ควรประมาณไว้ล่วงหน้า
สรุป
API คือข้อตกลงที่ทำให้ระบบสองระบบทำงานร่วมกันได้ โดยไม่ต้องเปิดเผยเบื้องหลังของกันและกัน
สำหรับเจ้าของธุรกิจ สิ่งที่ต้องรู้มีสามข้อ คือถามเรื่องการเปิด API ตั้งแต่ตอนเลือกซอฟต์แวร์ ถามเรื่องค่าใช้จ่ายต่อเนื่องก่อนตกลง และเก็บกุญแจเข้าถึงไว้ในบัญชีของธุรกิจเอง
อ่านบทความอื่นในหมวดนี้ได้ที่ คู่มือทำเว็บไซต์ หรือดูบริการที่ /services/software-development/
