AxioAPI

Kiểm thử luồng OTP với API nhận SMS

2026-10-05

Bước OTP là một nguyên nhân phổ biến khiến test end-to-end chập chờn. Hướng dẫn này chỉ cách kiểm thử chúng trên staging bằng số điện thoại công khai và khi nào nên để API chờ mã giúp bạn.

Trước khi bắt đầu

Các số này là công khai và dùng chung. Ai cũng thấy tin nhắn chúng nhận, nên chỉ dùng để kiểm thử trên staging, không bao giờ dùng cho tài khoản bạn cần giữ. Một số dịch vụ chặn số công khai, nên không nhận được SMS không phải lúc nào cũng do ứng dụng của bạn lỗi.

Bước 1: chọn một số

Liệt kê số công khai và lọc theo quốc gia.

curl -s "https://axioapi.com/api/v1/sms/numbers?country=US&limit=5" \
  -H "Authorization: Bearer $AXIOAPI_KEY"

Bước 2: đọc tin nhắn

Nhập đúng số mà danh sách trả về vào form staging, rồi đọc các tin nhắn mới nhất của số đó.

curl -s "https://axioapi.com/api/v1/sms/numbers/+12025550192/messages" \
  -H "Authorization: Bearer $AXIOAPI_KEY"

Bước 3: để API chờ mã giúp bạn

Thay vì viết vòng lặp polling, hãy gọi endpoint verify. Nó chờ SMS khớp trên số đó, trích mã 4 đến 8 chữ số và trả về cùng người gửi và nội dung đầy đủ. Truyền mốc thời gian since để bỏ qua tin cũ.

curl -s -X POST "https://axioapi.com/api/v1/verify/wait" \
  -H "Authorization: Bearer $AXIOAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number": "+12025550192", "since": "2026-10-05T09:00:00Z"}'

Xử lý timeout

Timeout nghĩa là không có tin nhắn khớp trong thời gian chờ. Lệnh gọi không tạo số mới, nên hãy chạy lại cả luồng với số khác nếu cần. Xem bảng endpoint trên các trang API SMS và OTP để biết giá hiện tại.