API คืออะไร? [อ่านด่วน]
เผยแพร่แล้ว: 2020-04-25หากคุณไม่ใช่นักพัฒนา แต่คุณทำงานด้านเทคโนโลยี คำว่า API น่าจะเป็นสิ่งที่คุณเข้าใจในแง่ของการสนทนา คุณน่าจะรู้ว่าย่อมาจากอะไร (ส่วนต่อประสานการเขียนโปรแกรมแอปพลิเคชัน) และบางทีทีมของคุณอาจใช้ API เพื่อทำงาน หรือบางทีอาจเป็นตัวผลิตภัณฑ์เอง (เช่น Twilio SendGrid)
แต่ API คืออะไรและทำงานอย่างไร
การทำความเข้าใจหลักการที่ลึกซึ้งยิ่งขึ้นเบื้องหลัง API จะช่วยให้คุณทำการตลาด ขาย หรือใช้เทคโนโลยีเหล่านี้ได้ดีขึ้นด้วยตนเอง
โพสต์นี้อธิบายวิธีการทำงานของ API วิธีที่นักพัฒนาสร้าง และวิธีใช้งาน (พร้อมตัวอย่างการใช้งานจริง)
API ทำงานอย่างไร
วิธีที่เว็บเบราว์เซอร์โต้ตอบกับเซิร์ฟเวอร์เป็นหลักการพื้นฐานของ API เว็บคือชุดของเซิร์ฟเวอร์ระยะไกลที่กระจายอยู่ทั่วโลก เมื่อคุณเปิดเบราว์เซอร์และพิมพ์ในเว็บไซต์ เบราว์เซอร์จะเรียกไปยังเซิร์ฟเวอร์ของไคลเอ็นต์ (ไม่ว่าแอปพลิเคชันหรือเซิร์ฟเวอร์ใดก็ตามที่โฮสต์เว็บไซต์ไว้) เพื่อดึงข้อมูลและแสดงสิ่งที่มีชีวิตอยู่บน URL นั้น
แม้ว่า API จะไม่ใช่ตัวเซิร์ฟเวอร์ แต่เป็นส่วนหนึ่งของเซิร์ฟเวอร์ที่เรียกว่าปลายทาง ซึ่งส่งและรับการตอบกลับบางอย่าง API เป็นวิธีสำหรับซอฟต์แวร์ต่างๆ ในการสื่อสาร (หรือที่เรียกว่าการส่งและรับ) ระหว่างกันโดยการเปิดจุดปลาย
นักพัฒนาตั้งค่าการเรียก API เพื่อดึงข้อมูลเฉพาะที่จำเป็นสำหรับวัตถุประสงค์ต่างๆ เมื่อพวกเขากำลังสร้างแอปพลิเคชันหรือเว็บไซต์ ตัวอย่างเช่น:
- คุณเพิ่งเปิดแอพ Instagram ของคุณหรือไม่? ซึ่งเกิดขึ้นได้จากการเรียก API
- คุณเคยเพิ่มกิจกรรมใน Google ปฏิทินจากเว็บไซต์หรืออีเมลอื่นหรือไม่ ไซต์นั้นใช้ประโยชน์จาก Google ปฏิทิน API เพื่อดึงข้อมูลเฉพาะนั้นจากเซิร์ฟเวอร์ Google ปฏิทิน
Takeaway: นักพัฒนาตั้งค่าการเรียก API เพื่อดึงข้อมูลบางประเภทเพื่อแสดงสิ่งที่พวกเขาต้องการเมื่อผู้ใช้อยู่บนเว็บไซต์หรือเรียกใช้แอปพลิเคชัน
การเพิ่มขึ้นของ REST
อีกคำหนึ่งที่คุณน่าจะเคยได้ยินคือ REST API ไม่ต่างจากคำนิยามดั้งเดิมของ API ยังคงควรทำความเข้าใจว่าทำไม REST API ถึงได้รับความนิยมและสิ่งที่ทำให้ REST API แตกต่างจากที่อื่น
ในตอนแรก API ถูกสร้างขึ้นเพื่อให้เป็นไปตามข้อกำหนดของ SOAP (Simple Object Access Protocol) แต่วิธีนี้ค่อนข้างน่าเบื่อและต้องใช้แบนด์วิธจำนวนมากในการถ่ายโอนชุดข้อมูล นอกจากนี้ยังต้องการพลังงานของนักพัฒนาจำนวนมาก (ไม่เหมือนความสนุก) SOAP ใช้ภาษามาร์กอัป XML ที่หนักหนาฉาวโฉ่ในการแสดงข้อมูล มีประโยชน์สำหรับการรับรองความเข้ากันได้แบบสากล-แต่ก็เท่านั้น
นักพัฒนาซอฟต์แวร์กำลังมองหาวิธีที่เบากว่าและยืดหยุ่นกว่าในการเรียก API REST (การถ่ายโอนสถานะตัวแทน) API จัดเตรียมโซลูชันทางเลือกให้กับ SOAP API สิ่งเหล่านี้ไม่ได้ถูกจำกัดโดยโปรโตคอลเฉพาะ แม้ว่าจะต้องเป็นไปตามรูปแบบสถาปัตยกรรมบางอย่าง (หากคุณสนใจที่จะดำน้ำในสิ่งนั้น ให้ไปที่นี่)
แทนที่จะแสดงด้วยมาร์กอัป XML เซิร์ฟเวอร์ใช้ภาษา JSON แบบน้ำหนักเบา (เฉพาะไฟล์ข้อความ) แทน REST API มีแบนด์วิดท์ที่เบากว่า SOAP มาก ซึ่งโดยทั่วไปแล้วจะเป็นเพียง URL เท่านั้น และได้รับการปรับให้เหมาะสมสำหรับการสื่อสารบนเว็บอย่างเป็นธรรมชาติ
Takeaway: คิดว่า REST API เป็น Marie Kondo ของข้อมูล พวกเขารับและใช้เฉพาะสิ่งที่ต้องการเท่านั้น *อย่างแม่นยำ SOAP API เปรียบเสมือนโรงรถของเพื่อนบ้านที่ปัจจุบันเต็มไปด้วยกระดาษชำระ
ทำความเข้าใจกับ API ประเภทต่างๆ
ไม่ว่าโปรโตคอลหรือรูปแบบใดที่ API จะติดตาม มี API หลายประเภท ได้แก่:
- Open APIs – หรือที่เรียกว่า API สาธารณะ จุดปลายเหล่านี้สามารถเข้าถึงได้โดยนักพัฒนาซอฟต์แวร์ใดๆ และโดยทั่วไปจะไม่กำหนดข้อจำกัดใดๆ กับผู้ใช้ พวกเขามักจะยอมรับการบริจาค
- API ของ คู่ค้า – เป็น API ที่ออกแบบมาเพื่อใช้งานร่วมกัน และโดยทั่วไปสามารถเข้าถึงได้โดยตลาดบางประเภทเท่านั้น
- API ภายใน – เหล่านี้เป็นเครื่องมือภายในที่บริษัทต่างๆ ใช้เพื่อช่วยให้พนักงานของตนมีประสิทธิภาพมากขึ้น หรือให้วิธีการที่ปลอดภัยยิ่งขึ้นสำหรับพนักงานในการแบ่งปันข้อมูล/ข้อมูล
- Composite API – Composite API เป็นวิธีการรวมการเรียก API ที่เกี่ยวข้องกัน แต่โดยปกติแล้วจะต้องมีการเรียก API แต่ละรายการ
ตัวอย่างในชีวิตจริงของ APIs
มี API มากมายในธรรมชาติ (บางส่วนมีมากกว่า 15,000 รายการ) ที่ช่วยให้ผู้ใช้เข้าถึงแอปพลิเคชันที่หลากหลาย ด้านล่างนี้คือข้อมูลสำคัญบางส่วนที่จะช่วยให้คุณเข้าใจขอบเขตของระบบนิเวศ API
ค็อกเทล DB
สมมติว่าคุณเป็นเจ้าของร้านขายสุราในพื้นที่ และคุณต้องการจัดทำสูตรค็อกเทลบนเว็บไซต์ของคุณ คุณสามารถพิจารณาใช้ Cocktail DB API ด้านบน ข้อมูลทั้งหมดนั้น (สูตรค็อกเทล) มีอยู่แล้วในเซิร์ฟเวอร์ของบุคคลอื่น และสามารถประเมินได้ผ่าน API
เมื่อผู้ใช้คลิกที่สูตรมาการิต้า (อาจเป็นค็อกเทลชั้นยอด) เซิร์ฟเวอร์ของพวกเขาพบว่าสูตรเฉพาะส่งออกใน JSON ระบบจะเลือกเว็บไซต์และแยกวิเคราะห์เป็น HTML และ CSS เพื่อให้แสดงบนเบราว์เซอร์เว็บไซต์ของคุณ
OpenWeatherMap
การเพิ่มส่วนสภาพอากาศในเว็บไซต์ของคุณเป็นกรณีใช้งานทั่วไป ลองนึกถึงสกีรีสอร์ท ร้านจักรยาน หรือบริษัททัวร์ OpenWeatherMap API จัดเก็บการพยากรณ์อากาศและข้อมูลทั้งหมด และแสดงเฉพาะส่วนที่คุณร้องขอเท่านั้น
API นี้มีทั้งเวอร์ชันฟรีและพรีเมียม ขึ้นอยู่กับจำนวนข้อมูลที่คุณต้องการแสดง
SendGrid Email API
SendGrid Email API ใช้ประโยชน์จาก SMTP (โปรโตคอลการถ่ายโอนเมลแบบง่าย) เพื่อให้ลูกค้าสามารถส่งอีเมลธุรกรรมและอีเมลที่เรียกใช้จำนวนมากได้ เช่น การรีเซ็ตรหัสผ่าน การยืนยันบัญชี และการแจ้งเตือนการจัดส่ง
Twilio SMS
Twilio SMS API เป็นอีกหนึ่ง REST API ที่ให้วิธีการเพิ่มคุณสมบัติการส่งข้อความไปยังแอปพลิเคชัน การส่งข้อความ SMS ได้รับความนิยมมากขึ้นเรื่อยๆ เนื่องจากเป็นช่องทางให้แบรนด์สื่อสารกับลูกค้า เนื่องจากเป็นข้อความส่วนตัวแบบเรียลไทม์ และข้อความเหล่านี้จะถูกอ่านในอัตราที่สูงกว่ามาก
วิธีใช้ API
ก่อนที่คุณจะหรือทีมของคุณเริ่มใช้ API สิ่งสำคัญคือต้องรู้ว่า API นั้นเปิดอยู่ ใช้ร่วมกับบริการของพันธมิตรหรือแบบผสม
วิธีเริ่มต้นใช้งาน API
อ่านเอกสาร API ใด ๆ ควรมีเอกสารที่เกี่ยวข้องเพื่อให้คุณปฏิบัติตาม โดยจะบอกคุณว่าคุณมีการอ้างอิงใด เป็น API ประเภทใด และใช้งานอย่างไร เอกสารที่ไม่ดีควรเป็นธงสีแดงสำหรับคุณและนักพัฒนาของคุณ เราภูมิใจในเอกสารที่ยอดเยี่ยมของ Twilio และ SendGrid
สร้างคีย์ API คุณจะต้องสร้างคีย์ API เพื่อเริ่มใช้งาน นี่คือคำแนะนำจาก Google Maps API:
หมายเหตุ : อย่าแชร์คีย์ API และตรวจสอบให้แน่ใจว่าไม่ปรากฏในรหัสสาธารณะใดๆ ที่คุณใส่ใน GitHub
เริ่มสร้าง: ส่งอีเมลฟรีด้วย SendGrid Email API
ที่เหลือขึ้นอยู่กับคุณ! โอกาสไม่มีที่สิ้นสุดอย่างแท้จริงเมื่อคุณทำงานกับ API ดูโอกาสในการทำงานกับ Twilio API ได้ที่ Twilio Code Exchange
หากคุณสนใจที่จะใช้ SendGrid Email API เพื่อส่งอีเมลฟรี โปรดดูที่นี่