Public : เป็น API ที่เปิดให้ใครก็ได้เรียกใช้ด้วยมาตรฐานเดียวกัน
ตามลักษณะการทำงาน
●
Synchronous : เมื่อมีการเรียก API นี้ โปรแกรมจะหยุดเพื่อรอคำตอบจาก API จึงจะทำงานต่อได้
●
Asynchronous : ตรงข้ามกับ synchronous โปรแกรมไม่หยุดทำงานเพื่อรอคำตอบจาก API แต่จะใช้การ callback เมื่อได้รับการเรียกกลับมาจาก API
ทั้งนี้ API แต่ละลักษณะมีข้อดีข้อเสียต่างกัน ที่เราควรจะเลือกให้เหมาะสมตามการใช้งาน
API ที่ดีเป็นอย่างไร
●
API ที่ดีควรยึดตาม standard ที่เป็นที่รู้จักเพราะจะทำให้ง่ายต่อความเข้าใจและการนำไปใช้โดยนักพัฒนาอื่น ซึ่งปัจจุบันเรามักจะใช้ http protocol ซึ่งเป็น standard ของ internet และ REST API ซึ่งเป็น standard สำหรับการทำ API ส่วนข้อมูลที่ส่งกลับมาก็มักจะอยู่ในรูปแบบที่เป็นสแตนดาร์ด เช่น JSON format
●
การพัฒนา API ควรทำเช่นเดียวกับการพัฒนาซอฟต์แวร์ทั่วไป ไม่ว่าจะเป็นเรื่องการออกแบบ การทำเทสต์ การจัดการเวอร์ชัน รวมถึงการทำเอกสารประกอบ (documentation) ซึ่งสำคัญต่อการนำไปใช้โดยผู้อื่น
●
ต้องมีการ maintain และ support เวอร์ชันเก่าที่นักพัฒนาอื่นอาจจะยังมีการใช้งานอยู่ และให้เวลาในการเปลี่ยนไปใช้เวอร์ชันที่ใหม่กว่า หรือมี backward compatibility