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…).
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ên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
number | body|query | string | có | Số điện thoại ở định dạng bất kỳ (tối đa 64 ký tự). | |
country | body|query | string | không | Mã 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"}'const res = await fetch('https://apibox.io.vn/v1/phone', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"number": "0912 345 678",
"country": "VN"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/phone",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"number": "0912 345 678", "country": "VN"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/phone');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"number":"0912 345 678","country":"VN"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));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
Định vị IP
Tra cứu quốc gia, tỉnh/thành, toạ độ, ASN và nhà mạng của bất kỳ địa chỉ IPv4, IPv6 nào – hoặc IP của chính bạn – chỉ với một request JSON.
DNSTra cứu DNS
Tra bản ghi A, AAAA, MX, TXT, NS, CNAME, SOA, CAA, SRV… của mọi tên miền hoặc tra ngược IP (PTR) qua DNS over HTTPS, kết quả JSON gọn gàng.
@Kiểm tra e-mail
Kiểm tra địa chỉ e-mail: cú pháp RFC, bản ghi MX/A, ~120k tên miền e-mail tạm, tài khoản chức năng, nhà cung cấp miễn phí và gợi ý gõ sai như gmial.com.