API ตรวจสอบและจัดรูปแบบหมายเลขโทรศัพท์
API ตรวจสอบหมายเลขโทรศัพท์นี้ รองรับใน 242 ประเทศ
Phone Number Validation & Formatter API ช่วยให้คุณสามารถประมวลผลหมายเลขโทรศัพท์ที่ผู้ใช้ป้อนมาในหลากหลายรูปแบบได้อย่างง่ายดาย ไม่ว่าจะเป็น 1(212)-867-53-09
, +1 212 8675309
, 001-212.867.5309
หรือแม้แต่ 2128675309
API ของเราจะตรวจจับโครงสร้างได้อย่างชาญฉลาดและส่งคืนในรูปแบบมาตรฐาน
เครื่องมือนี้จะแปลงข้อมูลที่ป้อนเป็น รูปแบบ E.164 โดยอัตโนมัติ ซึ่งเป็นรูปแบบที่ได้รับการยอมรับทั่วโลกสำหรับหมายเลขโทรศัพท์ระหว่างประเทศ ตัวอย่างเช่น +1 212 867 5309
จะถูกส่งกลับเป็น +12128675309 ทำให้เหมาะสำหรับระบบโทรระหว่างประเทศและการผสานรวมต่าง ๆ
นอกจากการจัดรูปแบบแล้ว API ยังให้ความสามารถในการตรวจสอบหมายเลขโทรศัพท์อย่างละเอียด โดยจะตรวจสอบว่าหมายเลขนั้น isValid: true
หมายความว่าเป็นหมายเลขที่ถูกต้องตามแผนหมายเลขระดับประเทศ นอกจากนี้ยังมีการตรวจสอบ isPossible: true
เพื่อดูว่าหมายเลขนั้นอาจมีอยู่ได้ แม้ว่ายังไม่มีการกำหนดใช้งานจริง เหมาะสำหรับการตรวจสอบล่วงหน้าก่อนการจัดเก็บหรือประมวลผล
พารามิเตอร์ numberType ช่วยระบุได้ว่าหมายเลขโทรศัพท์เป็น มือถือ โทรศัพท์พื้นฐาน หรือ VoIP ซึ่งมีประโยชน์อย่างมากในกรณีที่คุณต้องการอนุญาตเฉพาะหมายเลขมือถือสำหรับการยืนยันทาง SMS หรือหมายเลขพื้นฐานสำหรับการติดต่อสำนักงาน
ด้วยการรองรับ การตรวจจับรหัสพื้นที่ API ยังสามารถตรวจจับต้นทางทางภูมิศาสตร์ของหมายเลขได้อีกด้วย ตัวอย่างเช่น หมายเลขที่ขึ้นต้นด้วยรหัสพื้นที่ 212
จะถูกแมปโดยอัตโนมัติกับ นิวยอร์กซิตี้ (แมนฮัตตัน) คุณสมบัตินี้เหมาะอย่างยิ่งสำหรับแอปพลิเคชันที่ต้องการการแบ่งกลุ่มหรือการวิเคราะห์ตามตำแหน่งที่ตั้ง
หมายเลขแต่ละรายการยังมีข้อมูลเมตะในระดับประเทศที่ละเอียด เช่น รหัสภูมิภาค ISO (เช่น US
) และรหัสประเทศตัวเลข (เช่น 1
) ทำให้สามารถใช้ตรรกะหรือรูปแบบแสดงผลเฉพาะภูมิภาคในแอปพลิเคชันของคุณได้
✅ การตอบกลับจาก API
ตัวอย่างการตอบกลับในรูปแบบ JSON:
{
"status": true,
"remaining_credits": 15709,
"expires": 0,
"duration": "18ms",
"regionCode": "US",
"countryCode": 1,
"country":"Unites States",
"national": "(212) 867-5309",
"international": "+1 212-867-5309",
"e164": "+12128675309",
"isValid": true,
"isPossible": true,
"numberType": "FIXED_LINE_OR_MOBILE",
"nationalSignificantNumber": "2128675309",
"rawInput": "+1 212 867 5309",
"isGeographical": true,
"areaCode": "212",
"location": "New York City (Manhattan)"
}
ลองใช้ API ตรวจสอบหมายเลขโทรศัพท์ด้วยตัวคุณเอง
การใช้งานเบื้องต้น
ส่งหมายเลขโทรศัพท์ไปยัง endpoint ต่อไปนี้:
https://api.genderapi.io/api/phone?key=YOUR_API_KEY&number=12128675309
คุณสามารถรับ API key พร้อมเครดิตฟรี 200 รายการได้จาก ลิงก์นี้
พารามิเตอร์ address
API ยังรองรับพารามิเตอร์ address
ซึ่งเป็นตัวเลือกที่มีประโยชน์อย่างมากเมื่อหมายเลขโทรศัพท์ถูกป้อน โดยไม่มีรหัสประเทศ ช่องนี้ช่วยให้ระบบตรวจจับภูมิภาคที่คาดว่าจะใช้และแยกวิเคราะห์หมายเลขได้อย่างถูกต้อง ตัวอย่างเช่น หากหมายเลขที่ป้อนคือ 2128675309
และไม่มีการระบุรหัสประเทศ การกำหนดค่า address=US
, address=United States
หรือแม้แต่ address=New York
จะช่วยให้ API ทราบได้ว่าหมายเลขนั้นเป็นของ สหรัฐอเมริกา
พารามิเตอร์ address
รองรับข้อมูลในหลายรูปแบบ เช่น:
- รหัส ISO 3166-1 alpha-2 เช่น
US
,DE
, หรือTR
- ชื่อประเทศ เช่น
Germany
,Turkey
, หรือAmerica
- ชื่อเมืองหรือภูมิภาค เช่น
Berlin
,Istanbul
, หรือNew York
แม้จะเป็นตัวเลือก แต่ address
จะกลายเป็นสิ่งจำเป็น หากหมายเลขโทรศัพท์ไม่เริ่มต้นด้วยเครื่องหมายบวกและรหัสโทรระหว่างประเทศ (เช่น +1
, +44
, +90
) หากไม่มีข้อมูลบริบทนี้ API อาจไม่สามารถแยกวิเคราะห์รูปแบบหมายเลขระดับประเทศได้อย่างถูกต้อง
ตัวอย่างการใช้พร้อมพารามิเตอร์ address:
https://api.genderapi.io/api/phone?key=YOUR_API_KEY&number=12128675309&address=US
ฟิลด์การตอบกลับ
ฟิลด์ | ประเภท | คำอธิบาย |
---|---|---|
status | Boolean | true หากคำขอสำเร็จ |
remaining_credits | Integer | จำนวนเครดิต API ที่เหลือหลังจากคำขอนี้ |
expires | Integer (timestamp) | เวลาหมดอายุของเครดิตในรูปแบบ UNIX (วินาที) |
duration | String | ระยะเวลาที่ใช้ในการประมวลผลคำขอ (เช่น 308ms ) |
regionCode | String | รหัสภูมิภาค ISO 3166-1 alpha-2 ของประเทศที่ตรวจพบ (เช่น US ) |
countryCode | Integer | รหัสโทรระหว่างประเทศของประเทศ (เช่น 1 สำหรับสหรัฐฯ) |
country | String | ชื่อประเทศในรูปแบบที่อ่านง่าย (เช่น United States) |
national | String | หมายเลขในรูปแบบระดับประเทศ (เช่น (212) 867–5309 ) |
international | String | หมายเลขในรูปแบบระหว่างประเทศ (เช่น +1 212–867–5309 ) |
e164 | String | หมายเลขโทรศัพท์ในรูปแบบ E.164 (เช่น +12128675309 ) |
isValid | Boolean | true หากหมายเลขถูกต้องตามกฎของภูมิภาค |
isPossible | Boolean | true หากโครงสร้างหมายเลขถูกต้องและอาจมีอยู่จริง แม้ยังไม่ได้ถูกใช้งาน |
numberType | Enum[String] | ประเภทของหมายเลขโทรศัพท์ ค่าที่เป็นไปได้: FIXED_LINE , MOBILE , FIXED_LINE_OR_MOBILE เป็นต้น |
nationalSignificantNumber | String | หมายเลขระดับประเทศโดยไม่รวมรหัสประเทศ (เช่น 2128675309 ) |
rawInput | String | หมายเลขดั้งเดิมที่ป้อนในคำขอ API |
isGeographical | Boolean | true หากหมายเลขสามารถเชื่อมโยงกับพื้นที่ทางภูมิศาสตร์ (เช่น โทรศัพท์พื้นฐาน) |
areaCode | String | รหัสพื้นที่ของหมายเลข (เช่น 212 ) |
location | String | ตำแหน่งทางภูมิศาสตร์ที่เชื่อมโยงกับรหัสพื้นที่ (เช่น New York City (Manhattan) ) |
ค่าที่เป็นไปได้ของประเภทหมายเลข
ประเภท | คำอธิบาย |
---|---|
FIXED_LINE | หมายเลขโทรศัพท์พื้นฐานที่เชื่อมโยงกับตำแหน่งทางภูมิศาสตร์ |
MOBILE | หมายเลขโทรศัพท์มือถือที่สามารถรับสายและข้อความ SMS ได้ |
FIXED_LINE_OR_MOBILE | อาจเป็นโทรศัพท์พื้นฐานหรือมือถือ แผนหมายเลขไม่สามารถแยกแยะได้แน่ชัด |
TOLL_FREE | หมายเลขโทรฟรีที่ผู้รับเป็นผู้จ่ายค่าโทร เช่น หมายเลข 800 ในสหรัฐฯ |
PREMIUM_RATE | หมายเลขพรีเมียมที่มักมีค่าบริการสูง ใช้สำหรับบริการบันเทิงหรือข้อมูล |
SHARED_COST | หมายเลขที่มีการแบ่งค่าใช้จ่ายระหว่างผู้โทรและผู้รับ |
VOIP | หมายเลข Voice over IP สำหรับบริการโทรศัพท์ผ่านอินเทอร์เน็ต เช่น Skype หรือ Google Voice |
PERSONAL_NUMBER | หมายเลขส่วนตัวที่สามารถโอนสายไปยังหมายเลขใดก็ได้ที่ผู้ใช้เลือก |
PAGER | หมายเลขเพจเจอร์สำหรับการแจ้งเตือนแบบข้อความ (ปัจจุบันแทบไม่ใช้แล้ว) |
UAN | หมายเลข Universal Access ใช้โดยองค์กรเพื่อเป็นช่องทางติดต่อเดียว |
VOICEMAIL | หมายเลขเฉพาะสำหรับบริการฝากข้อความเสียง |
UNKNOWN | ไม่สามารถระบุประเภทของหมายเลขได้ |
+
ในหมายเลขโทรศัพท์ หรือช่องว่างในชื่อประเทศ)
คุณต้องทำการเข้ารหัส URL (URL-encode) เสมอก่อนที่จะส่งคำขอแบบ GET มิฉะนั้น คำขอของคุณอาจล้มเหลวหรือพารามิเตอร์อาจถูกตีความผิด
❌ ตัวอย่าง (ไม่ถูกต้อง):
curl "https://api.genderapi.io/api/phone?number=+49 151 12345678&address=United States&key=YOUR_API_KEY"✅ ตัวอย่างที่ถูกต้อง (ต้องเข้ารหัส URL):
curl "https://api.genderapi.io/api/phone?number=%2B49%20151%2012345678&address=United%20States&key=YOUR_API_KEY"คุณสามารถใช้ฟังก์ชันเข้ารหัส URL ที่มีอยู่ในภาษาการเขียนโปรแกรมของคุณเพื่อเข้ารหัสพารามิเตอร์ก่อนส่งคำขอได้เช่นกัน
การตรวจสอบหมายเลขโทรศัพท์ผ่าน API ด้วยคำขอแบบ POST
คุณสามารถใช้เมธอด POST เพื่อตรวจสอบหมายเลขโทรศัพท์ของประเทศสหรัฐอเมริกา เพียงระบุหมายเลขโทรศัพท์ในรูปแบบ E.164, ระดับประเทศ หรือระหว่างประเทศ พร้อมกับประเทศหรือที่อยู่ โดยต้องส่ง API key ของคุณเป็น Bearer token
ตัวอย่างการใช้ cURL
curl -X POST "https://api.genderapi.io/api/phone" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"number": "+12128675309", "address": "US"}'
ตัวอย่าง PHP cURL
<?php
$url = "https://api.genderapi.io/api/phone";
$data = array(
"number" => "+12128675309",
"address" => "US"
);
$payload = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json",
"Authorization: Bearer YOUR_API_KEY"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
ตัวอย่าง JavaScript fetch
fetch("https://api.genderapi.io/api/phone", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
body: JSON.stringify({
number: "+12128675309",
address: "United States"
})
})
.then(response => response.json())
.then(data => console.log(data));
ตัวอย่าง Python ด้วย requests
import requests
url = "https://api.genderapi.io/api/phone"
payload = {
"number": "+12128675309",
"address": "United States"
}
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
ไลบรารีสำหรับลูกค้า (Client Libraries)
เพื่อให้การผสานรวมง่ายยิ่งขึ้น เรามีไลบรารีอย่างเป็นทางการและจากชุมชนสำหรับภาษาการเขียนโปรแกรมที่หลากหลาย ไลบรารีเหล่านี้ช่วยให้คุณโต้ตอบกับ Endpoint ของ GenderAPI — เช่น Phone Number Validation API — โดยไม่ต้องจัดการคำขอ HTTP หรือการแปลง JSON ด้วยตนเอง เพียงเลือกไลบรารีที่เหมาะสมกับสภาพแวดล้อมของคุณ ติดตั้ง และเริ่มใช้งานได้ทันที
คุณสามารถดูไลบรารีที่มีให้ใช้งานและคำแนะนำในการติดตั้งได้ที่หน้านี้:
https://www.genderapi.io/th/docs-client-libraries
คำถามที่พบบ่อย (FAQ)
1. Phone Number Validation & Formatter API คืออะไร?
เป็นเครื่องมือที่ช่วยให้คุณตรวจสอบ จัดรูปแบบ และวิเคราะห์หมายเลขโทรศัพท์จากทั่วโลก สามารถแปลงหมายเลขเป็นรูปแบบ E.164 และตรวจสอบข้อมูลเมตา เช่น ประเทศ ประเภทหมายเลข (มือถือ/โทรศัพท์พื้นฐาน) ความถูกต้อง และอื่น ๆ
2. การตรวจสอบหมายเลขโทรศัพท์มีไว้เพื่ออะไร?
ใช้เพื่อตรวจสอบว่าหมายเลขโทรศัพท์ถูกต้องหรือไม่ จัดรูปแบบให้เหมาะสมสำหรับใช้งานระดับสากล ตรวจสอบประเภทของหมายเลข (เช่น มือถือ, VoIP) ตรวจจับข้อมูลตามภูมิภาค และรับประกันรูปแบบหมายเลขที่สะอาดและเป็นมาตรฐานสำหรับระบบ CRM เครื่องมือการตลาด หรือการสมัครของผู้ใช้
3. รองรับกี่ประเทศ?
API รองรับหมายเลขโทรศัพท์จาก 242 ประเทศและดินแดน ทั่วโลก เพื่อให้ครอบคลุมการใช้งานทั้งระดับสากลและภูมิภาค
4. รูปแบบหมายเลขแบบใดที่รองรับ?
API รองรับหมายเลขในหลายรูปแบบ เช่น ระดับประเทศ, ระหว่างประเทศ หรือรูปแบบ E.164 โดยสามารถตรวจจับและแปลงให้อยู่ในรูปแบบที่ถูกต้องโดยอัตโนมัติ
5. ถ้าไม่ระบุประเทศหรือพารามิเตอร์ address จะเกิดอะไรขึ้น?
หากหมายเลขไม่ขึ้นต้นด้วยเครื่องหมาย '+' และไม่มีการระบุประเทศหรือ address ระบบอาจไม่สามารถตีความหมายเลขได้อย่างถูกต้อง แนะนำให้ใส่พารามิเตอร์ address
(เช่น US
, United States
หรือ New York
)
6. API สามารถตรวจจับประเภทของหมายเลขได้หรือไม่?
ได้ API จะส่งค่าฟิลด์ numberType
ซึ่งระบุว่าหมายเลขนั้นเป็น MOBILE
, FIXED_LINE
, VOIP
เป็นต้น
7. ความแตกต่างระหว่าง isValid
กับ isPossible
คืออะไร?
isValid
หมายถึง หมายเลขได้รับการกำหนดใช้อย่างเป็นทางการและเป็นไปตามกฎของประเทศ isPossible
หมายถึง หมายเลขนั้นมีโครงสร้างที่สามารถมีอยู่จริงได้ แม้จะยังไม่ได้ถูกกำหนดใช้
8. API ส่งค่าตอบกลับแบบใด?
การตอบกลับที่สำเร็จจะมีสถานะ รูปแบบหมายเลขที่จัดไว้ (ระดับประเทศ, ระหว่างประเทศ, E.164), ข้อมูลภูมิภาค, ประเภทของหมายเลข, การใช้เครดิต และอื่น ๆ ดูตัวอย่างในหัวข้อ “API Response” ด้านบน
9. ควรส่ง API key อย่างไร?
สำหรับคำขอแบบ GET ให้ต่อท้ายด้วย ?key=YOUR_API_KEY
สำหรับคำขอแบบ POST ให้ใส่ใน header เป็น Bearer token เช่น:
"Authorization: Bearer YOUR_API_KEY"
10. ถ้าผลลัพธ์เป็น status: false
หมายความว่าอะไร?
หมายถึงคำขอล้มเหลว ฟิลด์ message
จะมีรายละเอียดข้อผิดพลาด เช่น พารามิเตอร์ที่ขาดหาย หมายเลขไม่ถูกต้อง หรือเครดิตไม่เพียงพอ
11. สามารถใช้ช่องว่างหรืออักขระพิเศษในข้อมูลที่ป้อนได้หรือไม่?
ได้ แต่ต้องเข้ารหัส URL สำหรับคำขอแบบ GET เช่น ใช้ %20
แทนช่องว่าง ดูตัวอย่างในส่วนคำเตือนด้านบน
12. สามารถใช้ชื่อประเทศหรือที่อยู่ในรูปแบบหรือภาษาต่างกันได้หรือไม่?
ได้ นอกจากรหัส ISO 3166-1 alpha-2 (เช่น US
, DE
, TR
) พารามิเตอร์ address
ยังสามารถรับชื่อประเทศหรือชื่อเมืองในภาษาต่าง ๆ ได้ด้วย API ใช้ AI ในตัวเพื่อตรวจจับและตีความประเทศหรือภูมิภาคที่ถูกต้อง ตัวอย่างเช่น:
address=Deutschland
address=États-Unis
address=İstanbul
address=New York
address=Estados Unidos
อินพุตเหล่านี้จะถูกแมปไปยังประเทศหรือภูมิภาคที่ถูกต้องโดยอัตโนมัติ