Lưu từ tháng 10 năm 2019

API công khai, và tại sao phải mất bảy năm

Nền tảng revision 5.4 đã ra mắt API xác thực token vào tháng 6. Đây là những gì nó làm, những gì nó cố tình từ chối làm, và tại sao chúng tôi chờ đợi lâu như vậy.

API đã rời khỏi giai đoạn beta vào ngày 2 tháng 7. Nó được phát hành trong bản sửa đổi nền tảng 5.4 vào tháng 6, chạy beta mời từ tháng 2 với chỉ hơn bốn trăm tài khoản, và không thay đổi hình dạng từ tháng 4. Có phiên bản, có tài liệu, và được bảo hiểm bởi cùng cam kết khả dụng như bảng điều khiển.

Gọi nó là muộn sẽ là hào phóng. Lý do không bí ẩn: một giao diện đứng trên hệ thống cung cấp cần ba phút rưỡi để xây dựng một máy chủ sẽ là một giao diện để thăm dò một vòng quay. Chúng tôi viết lại hàng đợi trước, vào năm 2025, và thứ tự là cố ý thay vì may mắn.

Nó làm gì

NhómNhững gì bạn có thể làmGhi chú
Phiên bảnTạo, thay đổi kích thước, xây dựng lại, chụp nhanh, khôi phục, hủyThay đổi kích thước lên là trực tiếp, thay đổi kích thước xuống cần một lần khởi động lại
Hình ảnhLiệt kê danh mục hệ điều hành, đăng ký ISO tùy chỉnh bằng URLCài đặt ISO tùy chỉnh vẫn thủ công và vẫn chậm
MạngThêm IPv4, chỉnh sửa DNS ngược, yêu cầu IPv6 /48Được ủy quyền, không bao giờ qua proxy
LọcĐọc sự kiện tấn công, đẩy quy tắc lớp 7 trên DDoS ProBộ lọc cơ bản không có gì để cấu hình
Thanh toánĐọc số dư, liệt kê hóa đơn, mở hóa đơn nạp tiềnKhông có trường thẻ, vì không có thẻ
Sự kiệnThăm dò nhật ký sự kiện hoặc đăng ký webhookĐược ký bằng bí mật riêng cho mỗi tài khoản

Tất cả là JSON qua HTTPS, và mọi đối tượng bảng điều khiển có thể hiển thị cho bạn là một đối tượng API có thể trả về. Không có tầng chức năng dành riêng cho giao diện web, đó là một lời hứa khiến chúng tôi mất tiền: bảng điều khiển bây giờ tiêu thụ các điểm cuối công khai giống như bạn, vì vậy API hỏng là bảng điều khiển hỏng và chúng tôi phát hiện ra ngay lập tức.

Xác thực

Mã thông báo được tạo trong bảng điều khiển, có phạm vi, và chỉ hiển thị một lần. Không xác thực mật khẩu, không cookie phiên, không chuyển hướng đến nhà cung cấp danh tính mà sau đó chúng tôi phải tin tưởng với thứ chúng tôi đã đi một quãng đường đáng kể để không thu thập.

Mã thông báo mang phạm vi đọc, ghi hoặc thanh toán, hạn chế tùy chọn cho một trang web duy nhất, hạn chế tùy chọn cho một danh sách các phiên bản, và thời gian hết hạn bạn đặt. Sáu mươi ngày là mặc định. Mã thông báo có thể bị thu hồi riêng lẻ và việc thu hồi có hiệu lực tại biên trong vòng hai giây, điều này quan trọng hơn vẻ ngoài của nó khi một máy chủ xây dựng được xây dựng lại bởi ai đó không biết những gì trên đó.

Vì một tài khoản ở đây là một địa chỉ email và một hàm băm mật khẩu, không có đối tượng khách hàng để lấy. API không có trường tên, không có trường địa chỉ, không có trường công ty và không có trường thuế, vì chính lý do biểu mẫu đăng ký không có.

Giới hạn tốc độ, tính chất idempotent, lỗi

Sáu trăm lần đọc mỗi phút và sáu mươi lần ghi, được tính trên mỗi mã thông báo thay vì mỗi tài khoản, vì vậy một tập lệnh ồn ào không thể làm đói phần còn lại của tự động hóa của bạn. Giới hạn được trả về trong tiêu đề trên mọi phản hồi, bao gồm cả thành công.

Mỗi ghi chấp nhận một khóa idempotent. Thử lại một tạo với cùng khóa và bạn nhận lại phiên bản ban đầu thay vì một phiên bản thứ hai được lập hóa đơn bên cạnh nó. Đây là tính năng duy nhất mà những người thử beta cảm ơn chúng tôi nhiều nhất, điều đó nói lên điều gì đó về cách phần còn lại của ngành xử lý thời gian chờ trong quá trình cung cấp.

Lỗi là một mã máy có tài liệu, một câu mà con người có thể đọc, và một định danh yêu cầu. Dán định danh vào vé và hỗ trợ có thể thấy cùng yêu cầu bạn đã thấy, mà không yêu cầu bạn tái tạo nó.

Những gì nó cố ý không làm

  • Không có tiền tệ fiat, không bao giờ. Điểm cuối thanh toán đọc số dư của bạn và mở hóa đơn nạp tiền. Thanh toán vẫn ở OxaPay và chuỗi bạn chọn, chính xác như mô tả trên trang thanh toán.
  • Không có tài khoản con hoặc vai trò. Được yêu cầu liên tục. Không được xây dựng, vì thực hiện rõ ràng có nghĩa là giữ một cấu trúc ai-làm-việc-cho-ai, và chúng tôi thà gửi mã thông báo có phạm vi hết hạn và để bạn giữ sơ đồ tổ chức của mình cho riêng mình.
  • Không tự mở rộng. Phiên bản là lõi chuyên dụng trên silicon thực, không phải một nhóm chúng tôi có thể triệu hồi. Bạn có thể tạo và hủy theo lịch trình của riêng bạn; chúng tôi sẽ không giả vờ có một trừu tượng đàn hồi bên dưới.
  • Không có ma trận SDK. Một máy khách tham chiếu, và HTTP đơn giản là hợp đồng. Sáu ràng buộc ngôn ngữ được bảo trì một nửa sẽ già cỗi tệ hơn tài liệu.

Những gì chúng tôi muốn bị phá vỡ

Phiên bản beta tìm thấy chín lỗi đáng sửa, ba trong số đó là của chúng tôi theo một cách thú vị và sáu là tài liệu nói dối. Nếu bạn tìm thấy lỗi thứ mười, việc lạm dụng giới hạn tốc độ là ổn và mong đợi trong quá trình thử nghiệm, và hỗ trợ thà có định danh yêu cầu hơn là ảnh chụp màn hình.

Tài liệu tham khảo tại tài liệu. Nhật ký thay đổi cho bản sửa đổi 5.4 liệt kê bảy điểm cuối đã thay đổi hình dạng giữa tháng 2 và tháng 4, và đó là những thay đổi phá vỡ duy nhất sẽ có trong phiên bản một.

Sẵn sàng khi bạn cần

Chọn thành phố. Chọn kích thước. Thanh toán bằng coin.

Không có biểu mẫu về bạn là ai, không chờ đợi con người phê duyệt, không gọi điện thoại để xác minh bất cứ điều gì. Hóa đơn được thanh toán và thông tin đăng nhập sẽ vào hộp thư của bạn.