Nếu bạn đã từng làm việc với các hệ thống website lớn của các tập đoàn công nghệ như Facebook, Google, Microsoft… hoặc ngay cả các website trong nước như Lazada, FPT… bạn sẽ gặp phải thuật ngữ API rất nhiều lần. Vậy API là gì? Tại sao nó phải có ở các website lớn? API có ích lợi gì khi sử dụng? API hoạt động như thế nào? Tất tần tật thông tin về API sẽ có trong bài viết này.
API là viết tắt của cụm từ Application Programming Interface tiếng Việt là Giao diện lập trình ứng dụng. API là tập các định nghĩa phương thức, giao thức và công cụ xây dựng phần mềm ứng dụng, với nó các lập trình viên sẽ dễ dàng xây dựng các chương trình máy tính. API cũng có thể cung cấp phương thức để các ứng dụng từ xa có thể yêu cầu dịch vụ đến hệ thống ứng dụng cung cấp dịch vụ và từ đó có thể trao đổi dữ liệu giữa các hệ thống. Tưởng tượng đơn giản một chút, API chính là những cái ổ cắm được thiết kế sẵn giúp cho chúng ta kết nối các thiết bị đơn giản hơn bằng cách lấy phích cắm cắm vào ổ cắm.
Có rất nhiều các loại API khác nhau tùy thuộc vào phân ngành trong CNTT:
Internet hiện nay đã quá phổ biến với rất nhiều các website, ứng dụng web… các ứng dụng trên web đã tiến dần đến phần mềm ứng dụng thông thường trong hệ điều hành, chính vì vậy khái niệm API giờ đây cũng gắn liền với các trang web. Khi bạn gặp thuật ngữ API ở đâu đó thì có tới 80% khả năng đó chính là web API. Tất cả những website lớn cung cấp nội dung, dịch vụ… đều đã xây dựng các hệ thống web API của riêng mình.
Các website lớn là các hệ thống web có số lượng người dùng cực lớn, cung cấp số lượng nội dung đồ sộ hoặc các dịch vụ đa tầng. Như vậy, nếu không có cơ chế để các ứng dụng ngoài tương tác với các hệ thống lớn này thì quả là một khó khăn khó vượt qua. Chúng ta cùng quay lại một câu chuyện thực tế về một ứng dụng web kết nối đến các hệ thống bán hàng trực tuyến như Lazada, Tiki, Sendo, Adayroi…
Mỗi khi kho hàng của bạn có một biến động, bạn cần cập nhật biến động này đến các kênh bán hàng ở trên, nếu thực hiện bằng tay thì quả là một khó khăn không tưởng. Mỗi kênh bán hàng trên đều cung cấp các hệ thống web API, bạn cần xây dựng một ứng dụng thực hiện các cú pháp theo đặc tả API của từng kênh bán hàng, và mọi việc sẽ tự động giống như bạn và Lazada, Tiki, Sendo… chỉ là một hệ thống vậy. Đó cũng chính là mục đích của API, nó làm cho các lập trình viên dễ dàng sử dụng các công nghệ được xây dựng sẵn trong các ứng dụng để tạo ra một hệ thống lớn mà không cần quan tâm đến các hệ thống này xây dựng bằng ngôn ngữ gì.
Trong phần API là gì chúng ta đã nói đến rất nhiều các loại API khác nhau, hiện nay khi nói đến API đa phần mọi người hiểu là web API và trong phần tiếp theo nói về hoạt động của API chúng ta cũng sẽ chỉ đề cập đến web API hay là các API dựa trên nền tảng web. Các API này bản chất là các xử lý kiểu như trang web với các URL nhưng thay vì trả về một trang web với nội dung là HTML (Xem HTML là gì?) thì nó trả về một nội dung dạng JSON hoặc XML.
Với mô hình như ở trên chúng ta thấy API hoạt động với 4 bước:
Tiếp theo chúng ta thử thực hiện một API của Lazada, khi đăng nhập Lazada chúng ta sẽ có một giao diện xây dựng URL cho API như sau:
Trên đây là giao diện xây dựng đường dẫn yêu cầu đến API của Lazada, bản thân web API hoạt động trên giao thức HTTP hoặc HTTPS là một đường dẫn URL (Xem URL là gì). Sau khi có cú pháp URL đầy đủ, chúng ta thực hiện gửi đến máy chủ Lazada thông qua Internet. Chú ý: bạn hoàn toàn có thể chạy đường dẫn URL này trên trình duyệt web, dữ liệu trả về sẽ là dạng XML hoặc JSON tùy thuộc lựa chọn, nếu chú ý trong ví dụ trên đây Format=json nên dữ liệu trả về ở dạng json.
Dữ liệu trả về này chúng ta thực hiện parse trên ứng dụng và như vậy kết thúc một chu kỳ làm việc với API.
Unpublished comment
Viết câu trả lời