Khái niệm bên thứ ba (3rd party) và Tình huống thực tế

Ví dụ tình huống

  • Bạn/Công ty của bạn thiết kế 1 trang web bán hàng (https://nentang.vn), đã vận hành được nhiều năm (2018 đến nay), có hàng triệu Khách hàng đã sử dụng Trang web của bạn (CSDL-database của bạn lưu trữ đầy đủ thông tin về Khách hàng).
  • Một ngày đẹp trời, Bạn/Công ty của bạn hợp tác với một Đối tác chuyên cung cấp dịch vụ Tặng Thiệp mừng Sinh nhật (thiết kế cực đẹp và hiện đại). Đối tác này cần bạn cung cấp một số thông tin: Họ tên, Ngày sinh, Giới tính, Sản phẩm gần nhất mà Khách hàng này đã mua để Đối tác này thiết kế thiệp mừng theo đúng chủ đề và tự gởi cho Khách hàng khi gần đến Sinh nhật của họ.
  • Tất cả thông tin về Khách hàng bạn đã lưu trữ trong CSDL-databasebạn không thể cho phép Đối tác kết nối Trực tiếp vào database của bạn được. Vì có một số rủi ro nhất định:
    • Nếu vào được database, Đối tác có khả năng lấy những thông tin nhạy cảm về Kinh doanh như Email, Địa chỉ, Số điện thoại Khách hàng...
    • Đối tác có khả năng Xóa hoặc Hiệu chỉnh dữ liệu bạn không mong muốn.
    • ...
Giải pháp là Bạn/Công ty của bạn sẽ tạo ra 1 Web API, chỉ cung cấp các thông tin cần thiết. Sau đó Đối tác có thể gởi yêu cầu (request GET/POST) truy cập vào để lấy thông tin.

Vậy API là gì?

API là viết tắt của Application Programming Interface (giao diện lập trình ứng dụng), đây là phương thức kết nối với các thư viện và ứng dụng khác. Các loại API phổ biến:
  • API trên hệ điều hành: Windows hay Linux có rất nhiều API, họ cung cấp các tài liệu API là đặc tả các hàm, phương thức cũng như các giao thức kết nối. Nó giúp lập trình viên có thể tạo ra các phần mềm ứng dụng có thể tương tác trực tiếp với hệ điều hành.
  • API của thư viện phần mềm hay framework: API mô tả và quy định các hành động mong muốn mà các thư viện cung cấp. Một API có thể có nhiều cách triển khai khác nhau và nó cũng giúp cho một chương trình viết bằng ngôn ngữ này có thể sử dụng thư viện được viết bằng ngôn ngữ khác. Ví dụ bạn có thể dùng Php để yêu cầu một thư viện tạo file PDF được viết bằng C++.
  • Web API: là hệ thống API được sử dụng trong các hệ thống website. Hầu hết các website đều ứng dụng đến Web API cho phép bạn kết nối, lấy dữ liệu hoặc cập nhật cơ sở dữ liệu. Ví dụ: Bạn thiết kế chức nằng login thông Google, Facebook, Twitter, Github… Điều này có nghĩa là bạn đang gọi đến API của. Hoặc như các ứng dụng di động đều lấy dữ liệu thông qua API.
API tóm gọn là một hàm hay một chức năng xử lý một số logic/nghiệp vụ nào đó, được public cho ứng dụng bên thứ 3 (3rd party) sử dụng.

Web API là gì?

Web API là một phương thức dùng để cho phép các ứng dụng khác nhau có thể giao tiếp, trao đổi dữ liệu qua lại. Dữ liệu được Web API trả lại thường ở dạng JSON hoặc XML thông qua giao thức HTTP hoặc HTTPS. Web API hỗ trợ đầy đủ các phương thức: Get/Post dữ liệu. Nó giúp bạn xây dựng các HTTP service một cách rất đơn giản và nhanh chóng. Nó cũng có khả năng hỗ trợ đầy đủ các thành phần HTTP: URI, request/response headers, caching, versioning, content format... Web API nói đơn giản là một hàm hay một file PHP xử lý một số logic/nghiệp vụ nào đó, có một số đặc trưng như sau:
  • Có một đường dẫn (URL) được public để các ứng dụng khác có thể truy cập
  • Thường không có giao diện và trả về phản hồi (response) với định dạng là JSON hoặc XML.
  • Web API thường được gọi/truy vấn/gởi yêu cầu (request GET/POST) bằng AJAX

Một số API và Web API public

https://github.com/public-apis/public-apis