Kiểm tra số điện thoại API

Kiểm tra và định dạng số điện thoại cho hơn 240 quốc gia: E.164, quốc tế, nội địa, quốc gia, mã vùng và loại số (di động, cố định…).

GETPOSThttps://apibox.io.vn/v1/phone
Mạng & Kiểm tra▶ Dùng thử online

API Phone phân tích số điện thoại viết theo mọi kiểu thông dụng – có dấu cách, gạch ngang, ngoặc, số 0 đầu hay mã +quốc gia – và cho biết số đó có hợp lệ, có khả dĩ với quốc gia của nó hay không. API trả về quốc gia nhận diện được, mã gọi quốc tế, số nội địa và số ở bốn định dạng: E.164 (+84912345678), quốc tế, nội địa và URI tel: theo RFC 3966.

API còn nhận diện loại số khi quy hoạch đánh số cho phép: MOBILE (di động), FIXED_LINE (cố định), FIXED_LINE_OR_MOBILE, TOLL_FREE (miễn phí), PREMIUM_RATE, VOIP, SHARED_COST, PERSONAL_NUMBER, PAGER, UAN hoặc VOICEMAIL. Việc kiểm tra dùng bộ metadata đầy đủ của libphonenumber do Google phát triển (qua libphonenumber-js), bao phủ hơn 240 quốc gia và vùng lãnh thổ.

Với số không có tiền tố +mã quốc gia, hãy truyền mã quốc gia ISO qua country (ví dụ VN, US); nếu không, API dùng quốc gia của người gọi do Cloudflare nhận diện, không có thì mặc định US. Dữ liệu không phân tích được sẽ trả về valid: false kèm lý do thay vì lỗi HTTP.

Tham số

TênVị tríKiểuBắt buộcMặc định
numberbody|querystringcóSố điện thoại ở định dạng bất kỳ (tối đa 64 ký tự).
countrybody|querystringkhôngMã quốc gia ISO 3166 cho số không có tiền tố +. Mặc định: quốc gia người gọi, không có thì US.

Ví dụ

curl -X POST "https://apibox.io.vn/v1/phone" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number":"0912 345 678","country":"VN"}'

Kết quả trả về

{
  "input": "0912 345 678",
  "valid": true,
  "possible": true,
  "type": "MOBILE",
  "country_code": "VN",
  "country": "Vietnam",
  "calling_code": "+84",
  "national_number": "912345678",
  "formats": {
    "e164": "+84912345678",
    "international": "+84 912 345 678",
    "national": "0912 345 678",
    "rfc3966": "tel:+84912345678"
  }
}

Ứng dụng

  • Chuẩn hoá số điện thoại về E.164 trước khi lưu hoặc gửi SMS
  • Từ chối số sai hoặc số cố định trong luồng đăng ký bằng OTP
  • Làm sạch cột số điện thoại khi nhập dữ liệu vào CRM
  • Hiển thị số theo định dạng quen thuộc của từng quốc gia

Hỏi đáp

Kiểm tra số điện thoại Việt Nam thế nào?

Gửi POST {"number": "0912 345 678", "country": "VN"}. Kết quả: valid: true, type MOBILE và dạng E.164 +84912345678. Số đã bắt đầu bằng +84 thì không cần tham số country.

E.164 là gì, vì sao nên lưu số theo định dạng này?

E.164 là định dạng quốc tế gồm "+" + mã quốc gia + số, không có dấu cách (ví dụ +84912345678). Định dạng này duy nhất, không gây nhầm lẫn và là chuẩn mà các nhà cung cấp SMS, thoại như Twilio yêu cầu.

"valid" có nghĩa là số đang hoạt động không?

Không. Nó chỉ có nghĩa số khớp với quy hoạch đánh số chính thức của quốc gia đó. Số có đang được cấp và liên lạc được hay không chỉ xác nhận được bằng cách gọi hoặc gửi OTP.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →