เริ่มต้นใช้งาน

โครงสร้างพื้นฐานเครือข่ายมือถือทั่วโลกทำงานบนระบบที่เรียกว่าเครือข่ายสัญญาณ SS7 เครือข่ายนี้อำนวยความสะดวกในการแลกเปลี่ยนข้อมูลผู้ใช้บริการ การกำหนดเส้นทางการโทร การส่ง SMS และการอัปเดตสถานะการเชื่อมต่อมือถือแบบเรียลไทม์ระหว่างผู้ให้บริการ เครือข่ายมือถือแต่ละเครือข่ายมีฐานข้อมูล Home Location Register (HLR) ซึ่งเป็นฐานข้อมูลหลักที่เก็บรายละเอียดสำคัญเกี่ยวกับผู้ใช้บริการ

เทคโนโลยี HLR Lookup ช่วยให้ธุรกิจสามารถสอบถามข้อมูลจากฐานข้อมูลเหล่านี้และดึงข้อมูลการเชื่อมต่อและรายละเอียดเครือข่ายแบบเรียลไทม์สำหรับหมายเลขโทรศัพท์มือถือใดๆ ซึ่งรวมถึงข้อมูลว่าโทรศัพท์เปิดอยู่หรือไม่ กำลังใช้เครือข่ายใด มีการย้ายค่ายหรือไม่ หมายเลขยังใช้งานได้หรือถูกปิดการใช้งาน และอยู่ในสถานะโรมมิ่งหรือไม่

HLR Lookups API ให้การเข้าถึงข้อมูลนี้แบบเรียลไทม์อย่างราบรื่น ช่วยให้ธุรกิจสามารถตรวจสอบหมายเลขมือถือ เพิ่มประสิทธิภาพการกำหนดเส้นทาง และปรับปรุงการสื่อสารกับลูกค้า เอกสารนี้จะแนะนำคุณในการผสานรวม HLR Lookups เข้ากับซอฟต์แวร์ของคุณ เพื่อให้สามารถดึงข้อมูลมือถือแบบเรียลไทม์โดยอัตโนมัติ

การใช้งาน HLR Lookups API

การดำเนินการสอบถาม HLR Lookup รวดเร็ว ปลอดภัย และตรงไปตรงมา เมื่อคุณลงทะเบียนและได้รับ API Key แล้ว คุณสามารถยืนยันตัวตนและเริ่มการสอบถามทันทีด้วยคำขอ HTTP POST อย่างง่าย ผ่าน POST /hlr-lookup หรือคุณสามารถประมวลผลชุดข้อมูลขนาดใหญ่โดยเลือกใช้คำขอ API แบบอะซิงโครนัสที่รวดเร็ว พร้อมผลลัพธ์ที่ส่งกลับไปยังเซิร์ฟเวอร์ของคุณผ่าน webhook ตามที่อธิบายไว้ในส่วน แนวคิด

ตัวอย่างคำขอ

curl -X POST 'https://www.hlr-lookups.com/api/v2/hlr-lookup' \
          -H "X-Digest-Key: YOUR_API_KEY" \
          -H "X-Digest-Signature: DIGEST_AUTH_SIGNATURE" \
          -H "X-Digest-Timestamp: UNIX_TIMESTAMP" \
          -d "@payload.json"

การยืนยันตัวตนจะส่งผ่าน HTTP headers และ payload.json ควรมี (อย่างน้อย) JSON object ดังต่อไปนี้:

ตัวอย่าง Payload

{
   "msisdn": "+14156226819"
}

เมื่อดำเนินการสำเร็จ คุณจะได้รับการตอบกลับที่มีรายละเอียดการเชื่อมต่อแบบเรียลไทม์สำหรับหมายเลขมือถือที่ระบุ

การตอบกลับที่สำเร็จ application/json

{
   "id":"f94ef092cb53",
   "msisdn":"+14156226819",
   "connectivity_status":"CONNECTED",
   "mccmnc":"310260",
   "mcc":"310",
   "mnc":"260",
   "imsi":"***************",
   "msin":"**********",
   "msc":"************",
   "original_network_name":"Verizon Wireless",
   "original_country_name":"United States",
   "original_country_code":"US",
   "original_country_prefix":"+1",
   "is_ported":true,
   "ported_network_name":"T-Mobile US",
   "ported_country_name":"United States",
   "ported_country_code":"US",
   "ported_country_prefix":"+1",
   "is_roaming":false,
   "roaming_network_name":null,
   "roaming_country_name":null,
   "roaming_country_code":null,
   "roaming_country_prefix":null,
   "cost":"0.0100",
   "timestamp":"2020-08-07 19:16:17.676+0300",
   "storage":"SYNC-API-2020-08",
   "route":"IP1",
   "processing_status":"COMPLETED",
   "error_code":null,
   "error_description":null,
   "data_source":"LIVE_HLR",
   "routing_instruction":"STATIC:IP1"
}

สำหรับรายละเอียดครบถ้วนของแอตทริบิวต์คำขอและการตอบกลับ รวมถึงสถานะการเชื่อมต่อ ดูที่ POST /hlr-lookup

บริการสอบถามเพิ่มเติม

การสอบถามการย้ายค่ายเบอร์โทรศัพท์ (MNP)

ใช้การสอบถาม MNP เพื่อตรวจสอบเครือข่ายเจ้าของและรายละเอียดการย้ายค่าย โดยไม่ต้องสอบถามการเชื่อมต่อแบบเรียลไทม์ หากคุณต้องการเพียง MCCMNC ของหมายเลข โปรดดูที่ POST /mnp-lookup

การตรวจสอบประเภทหมายเลข (NT)

ตรวจสอบว่าหมายเลขโทรศัพท์เป็นของโทรศัพท์บ้าน มือถือ เบอร์พิเศษ VoIP เพจเจอร์ หรือช่วงหมายเลขอื่นๆ ด้วย POST /nt-lookup

ชุดพัฒนาซอฟต์แวร์ (SDK)

HLR Lookups API ทำงานร่วมกับ REST client ในภาษาโปรแกรมใดก็ได้ และเราได้เผยแพร่ SDK สำหรับ PHP, Ruby และ NodeJS บน GitHub ของเรา เพื่อช่วยให้คุณเริ่มต้นได้อย่างรวดเร็ว

เครื่องมือ

เพื่อให้มั่นใจในประสบการณ์การพัฒนาที่ราบรื่น เรามีชุดเครื่องมือที่ครบถ้วน รวมถึงการตรวจสอบคำขอ API และ webhook บนเบราว์เซอร์ การกำหนด IP address ที่อนุญาต ตัวเลือกการยืนยันตัวตนที่แข็งแกร่ง และendpoint ทดสอบการยืนยันตัวตน

ไม่ใช่นักพัฒนา?

HLR Lookups และการสอบถามการย้ายค่ายสามารถทำได้โดยไม่ต้องเขียนโค้ด เรียนรู้เพิ่มเติมเกี่ยวกับเว็บไคลเอนต์สำหรับองค์กรและฟีเจอร์รายงานบนเบราว์เซอร์ของเรา

การยืนยันตัวตน

เพื่อความปลอดภัยและการควบคุมการเข้าถึงที่เหมาะสม คำขอส่วนใหญ่ไปยัง HLR Lookups API จำเป็นต้องมีการยืนยันตัวตน Endpoints ถูกจัดหมวดหมู่เป็นแบบสาธารณะหรือแบบป้องกัน เมื่อเข้าถึง endpoint ที่ได้รับการป้องกัน คำขอของคุณต้องได้รับการยืนยันตัวตนโดยใช้ API key และ secret ผ่านวิธี Digest-Auth หรือ Basic-Auth Digest-Auth เป็นตัวเลือกที่ปลอดภัยกว่าและขอแนะนำอย่างยิ่ง ใช้ endpoint GET /auth-test เพื่อตรวจสอบการตั้งค่าการยืนยันตัวตนของคุณ

API Key และ API Secret

รับ API key และ secret ของคุณจากหน้า การตั้งค่า API คุณยังสามารถกำหนดค่าวิธีการยืนยันตัวตนที่ต้องการและเปิดใช้งานการอนุญาตที่อยู่ IP เพื่อความปลอดภัยที่เพิ่มขึ้น หากคุณสงสัยว่า API secret ของคุณถูกบุกรุก คุณสามารถสร้างใหม่ได้ทุกเมื่อ

รับ API Key
Basic Auth Digest Auth รายการ IP ที่อนุญาต

Basic Authentication มาตรฐานนั้นใช้งานง่ายและได้รับการสนับสนุนอย่างกว้างขวาง คุณสามารถยืนยันตัวตนได้โดยส่ง API key และ secret ของคุณเป็นคู่ user:pass ในคำขอ HTTP

HTTP Basic Auth

curl 'https://YOUR_API_KEY:YOUR_API_SECRET@www.hlr-lookups.com/api/v2/auth-test'

วิธีนี้จะส่ง header Authorization:

Authorization: Basic BASE64(YOUR_API_KEY:YOUR_API_SECRET)

แนะนำ: X-Basic Header พร้อม SHA256

เพื่อความปลอดภัยที่ดีขึ้น คุณสามารถส่ง SHA256 hash ของข้อมูลประจำตัวของคุณแทนการส่งโดยตรงเป็น base64 ในการใช้วิธีนี้ ให้คำนวณ hash ของคู่ YOUR_API_KEY:YOUR_API_SECRET ของคุณและส่งผ่าน header X-Basic:

คำขอ Basic Auth

curl 'https://www.hlr-lookups.com/api/v2/auth-test' \
  -H "X-Basic: BASIC_AUTH_HASH"

Headers การยืนยันตัวตนแบบ Basic

Key ประเภท คำอธิบาย
X-Basic string SHA256 hash ของ YOUR_API_KEY:YOUR_API_SECRET รวมสัญลักษณ์โคลอน (:) ใน hash จำเป็น

PHP ตัวอย่างโค้ด

$key = 'YOUR_API_KEY';
$secret = 'YOUR_API_SECRET';

$basicAuthHash = hash('sha256', $key . ':' . $secret);

Digest-Auth เป็นวิธีที่แนะนำสำหรับการรักษาความปลอดภัยในการเข้าถึง HLR Lookup API endpoints ที่ได้รับการป้องกัน แต่ละคำขอต้องมี headers ต่อไปนี้: X-Digest-Key, X-Digest-Signature และ X-Digest-Timestamp ซึ่งจะอธิบายด้านล่าง

ตัวอย่างคำขอ

curl 'https://www.hlr-lookups.com/api/v2/auth-test' \
  -H "X-Digest-Key: YOUR_API_KEY" \
  -H "X-Digest-Signature: DIGEST_AUTH_SIGNATURE" \
  -H "X-Digest-Timestamp: UNIX_TIMESTAMP"

Request Headers

Key ประเภท คำอธิบาย
X-Digest-Key string HLR Lookups API Key เฉพาะของคุณ จำเป็น
X-Digest-Signature string ลายเซ็นการยืนยันตัวตนที่ไม่ซ้ำกัน (ดูด้านล่าง) จำเป็น
X-Digest-Timestamp integer Unix timestamp ปัจจุบัน (ดู GET /time ด้วย) จำเป็น

การสร้างลายเซ็น

X-Digest-Signature ถูกสร้างโดยใช้ SHA256 HMAC hash โดยใช้ API secret ของคุณเป็น shared key

สตริงที่จะ hash มีโครงสร้างดังนี้:

ENDPOINT_PATH . UNIX_TIMESTAMP . REQUEST_METHOD . REQUEST_BODY

สัญลักษณ์ . แทนการเชื่อมต่อสตริง

ส่วนประกอบของ Digest Signature

ส่วนประกอบ ประเภท คำอธิบาย
ENDPOINT_PATH string API endpoint ที่ร้องขอ เช่น /auth-test ในตัวพิมพ์เล็ก
UNIX_TIMESTAMP integer Unix timestamp ปัจจุบัน (ต้องอยู่ภายใน 30 วินาที) ดู GET /time
REQUEST_METHOD string วิธี HTTP ที่ใช้ เช่น POST หรือ GET
REQUEST_BODY string ข้อมูล body ของคำขอ ตั้งค่าเป็น null สำหรับคำขอ GET

ตัวอย่างโค้ด

PHP PHP NodeJS NodeJS Ruby Ruby
$path = '/auth-test'
    $timestamp = time();
    $method = 'GET';
    $body = $method == 'GET' ? null : json_encode($params);
    $secret = 'YOUR_API_SECRET';

    $signature = hash_hmac('sha256', $path . $timestamp . $method . $body, $secret);
require('crypto');

    let path = '/auth-test'
    let timestamp = Date.now() / 1000 | 0;
    let method = 'GET'
    let body = method === 'GET' ? '' : JSON.stringify(params)
    let secret = 'YOUR_API_SECRET'

    let signature = crypto.createHmac('sha256', secret)
                    .update(path + timestamp + method + body)
                    .digest('hex');
require 'openssl'

path = '/auth-test'
timestamp = Time.now.to_i
method = 'GET'
body = method == 'GET' ? NIL : params.to_json
secret = 'YOUR_API_SECRET'

signature = OpenSSL::HMAC.hexdigest('sha256', secret, path + timestamp.to_s + method + body.to_s)

ใช้ การตั้งค่า API เพื่อจำกัดการเข้าถึงจากที่อยู่ IP เฉพาะเพื่อความปลอดภัยที่เพิ่มขึ้น แนะนำอย่างยิ่งในสภาพแวดล้อมการใช้งานจริง

เลื่อนขึ้น

แนวคิด

การนำ HLR Lookups ไปใช้งานในภาษาโปรแกรมหรือระบบใดก็ได้ผ่าน HTTP REST API ของเรานั้นทำได้ง่ายและมีประสิทธิภาพ ด้วยกระบวนการผลิตภัณฑ์ที่เรียบง่าย คุณสามารถเริ่มสอบถามเครือข่ายมือถือแบบเรียลไทม์เพื่อรับข้อมูลเชิงลึกทันทีเกี่ยวกับความถูกต้องของหมายเลขโทรศัพท์ สถานะการเชื่อมต่อ และรายละเอียดการกำหนดเส้นทาง

การเลือก API ที่เหมาะสมขึ้นอยู่กับกรณีการใช้งานเฉพาะของคุณ หากคุณต้องการผลลัพธ์การค้นหาแบบเรียลไทม์สำหรับแอปพลิเคชันต่างๆ เช่น VoIP telephony การตรวจจับการฉ้อโกง หรือการกำหนดเส้นทาง SMS API แบบซิงโครนัสเป็นตัวเลือกที่ดีที่สุด อย่างไรก็ตาม หากกรณีการใช้งานของคุณเกี่ยวข้องกับการประมวลผลปริมาณสูง การค้นหาจำนวนมาก หรือการตรวจสอบข้อมูลขนาดใหญ่ API แบบอะซิงโครนัสจะให้ประสิทธิภาพที่ดีที่สุดพร้อมประสิทธิภาพแบนด์วิดท์และความสามารถในการค้นหาแบบแบตช์

กำหนดค่า API ให้ใช้ตัวเลือกการกำหนดเส้นทางแบบกำหนดเองของเราเพื่อเพิ่มประสิทธิภาพด้านความเร็ว ความแม่นยำ และความคุ้มค่า คุณยังสามารถจัดเก็บผลลัพธ์การค้นหาในพื้นที่จัดเก็บเพื่อดาวน์โหลดรายงาน CSV และ JSON ได้อย่างง่ายดาย รวมถึงการวิเคราะห์ขั้นสูงผ่านอินเทอร์เฟซเว็บ

HLR Lookup API แบบซิงโครนัส

เอนด์พอยต์ POST /hlr-lookup ประมวลผลหมายเลขโทรศัพท์มือถือ (MSISDN) หนึ่งหมายเลขต่อคำขอและส่งคืนผลลัพธ์ทันทีในเนื้อหาการตอบกลับ HTTP ผลลัพธ์จะถูกจัดรูปแบบเป็น JSON และเหมาะสำหรับแอปพลิเคชันแบบเรียลไทม์ รวมถึงการตรวจสอบหมายเลขมือถือ การกำหนดเส้นทางการโทร และการส่งข้อความ SMS

การเรียก API แบบซิงโครนัสประกอบด้วยคำขอและการตอบกลับ HTTP โดยตรง ระบบของคุณส่ง MSISDN (หมายเลขมือถือ) หนึ่งหมายเลขต่อคำขอและได้รับการตอบกลับทันทีที่มีผลลัพธ์การค้นหา HLR แบบเรียลไทม์ในรูปแบบ JSON API นี้ได้รับการปรับให้เหมาะสมสำหรับกรณีการใช้งานที่ต้องการการตรวจสอบและการตรวจสอบการเชื่อมต่อแบบทันที เช่น การตรวจจับการฉ้อโกง การกำหนดเส้นทางการโทร VoIP และการเพิ่มประสิทธิภาพ SMS gateway

API การค้นหา HLR แบบอะซิงโครนัส

เอนด์พอยต์ POST /hlr-lookups ได้รับการออกแบบมาสำหรับการประมวลผลจำนวนมากและปริมาณสูง ช่วยให้คุณสามารถส่ง MSISDN ได้สูงสุด 1,000 หมายเลขต่อคำขอ แทนที่จะส่งคืนผลลัพธ์ทันที API นี้ใช้เว็บฮุคอัตโนมัติเพื่อส่งผลลัพธ์แบบค่อยเป็นค่อยไปไยังเซิร์ฟเวอร์ของคุณ ผลลัพธ์การค้นหาจะถูกส่งคืนเป็นออบเจ็กต์ JSON ผ่านการเรียกกลับ HTTP POST

API แบบอะซิงโครนัสได้รับการปรับให้เหมาะสมสำหรับความเร็ว ประสิทธิภาพ และความสามารถในการขยายขนาด ช่วยขจัดปัญหาความล่าช้าของเครือข่ายที่เกี่ยวข้องกับการเรียกแบบซิงโครนัส ทำให้เหมาะสำหรับธุรกิจที่ต้องการการค้นหาปริมาณสูง ระบบของคุณส่ง MSISDN ได้สูงสุด 1,000 หมายเลขต่อคำขอ และแพลตฟอร์มของเราจะประมวลผลแบบขนานกัน โดยส่งผลลัพธ์กลับไปยังเซิร์ฟเวอร์ของคุณผ่านเว็บฮุค HTTP ในแบตช์ละสูงสุด 1,000 ผลลัพธ์ต่อการเรียกกลับ

SDK (ชุดพัฒนาซอฟต์แวร์)

ชุดพัฒนาซอฟต์แวร์ (SDK) ของเราสำหรับ PHP, NodeJS และ Ruby ช่วยปรับปรุงกระบวนการผลิตภัณฑ์ให้คล่องตัว ช่วยให้คุณเชื่อมต่อกับ HLR Lookups API ได้อย่างมีประสิทธิภาพและง่ายดาย

SDK เหล่านี้มาพร้อมกับฟังก์ชันสำเร็จรูป การจัดการการยืนยันตัวตน และเทมเพลตคำขอ API ที่มีโครงสร้างชัดเจน ช่วยลดเวลาในการพัฒนาและรับประกันแนวทางปฏิบัติที่ดีที่สุด

สำรวจรายการ SDK ที่มีให้บริการทั้งหมดของเราได้ที่ GitHub และเริ่มต้นการผลิตภัณฑ์วันนี้

PHP PHP NodeJS NodeJS Ruby Ruby
โลโก้ PHP

SDK PHP

บูรณาการ API ทันทีสำหรับ PHP
1   include('HLRLookupClient.class.php');
2
3   $client = new HLRLookupClient(
4       'YOUR-API-KEY',
5       'YOUR-API-SECRET',
6       '/var/log/hlr-lookups.log'
7   );
8
9   $params = array('msisdn' => '+14156226819');
10  $response = $client->post('/hlr-lookup', $params);
โลโก้ NodeJS

SDK NodeJS

บูรณาการ API ทันทีสำหรับ NodeJS
1   require('node-hlr-client');
2
3   let response = await client.post('/hlr-lookup', {msisdn: '+491788735000'});
4
5   if (response.status === 200) {
6      // lookup was successful
7      let data = response.data;
8   }
โลโก้ Ruby

SDK Ruby

บูรณาการ API ทันทีสำหรับ Ruby
1   require 'ruby_hlr_client/client'
2
3   client = HlrLookupsSDK::Client.new(
4       'YOUR-API-KEY',
5       'YOUR-API-SECRET',
6       '/var/log/hlr-lookups.log'
7   )
8
9   params = { :msisdn => '+14156226819' }
10  response = client.get('/hlr-lookup', params)
เลื่อนขึ้น

POST/hlr-lookupได้รับการป้องกัน

ดำเนินการ HLR Lookup แบบซิงโครนัส เพื่อส่งข้อมูลการเชื่อมต่อและการพกหมายเลขโทรศัพท์มือถือแบบเรียลไทม์โดยตรงจากผู้ให้บริการเครือข่าย Endpoint นี้เหมาะสำหรับสถานการณ์ที่มีการใช้งานจริง ซึ่งแอปพลิเคชันที่ต้องการความแม่นยำด้านเวลาจำเป็นต้องตรวจสอบทันทีว่าหมายเลขโทรศัพท์สามารถติดต่อได้ในขณะนี้ (เชื่อมต่ออยู่) หรือไม่สามารถติดต่อได้ (ปิดเครื่อง) นอกจากนี้ยังช่วยแยกแยะหมายเลขที่ใช้งานอยู่จากหมายเลขที่ไม่ถูกต้อง ไม่ทราบ หรือหมายเลขปลอม

สำหรับการประมวลผลชุดข้อมูลขนาดใหญ่ที่ไม่ต้องการผลลัพธ์ทันที ควรพิจารณาใช้ POST /hlr-lookups แบบอะซิงโครนัส ซึ่งได้รับการปรับให้เหมาะสมสำหรับการประมวลผลแบบแบตช์ความเร็วสูง

หากคุณมุ่งเน้นหลักที่การดึงข้อมูลการพกหมายเลขโทรศัพท์มือถือ (MCCMNC) และไม่ต้องการสถานะการเชื่อมต่อแบบเรียลไทม์ POST /mnp-lookup จะเป็นทางเลือกที่คุ้มค่าสำหรับการสอบถามข้อมูลการพกหมายเลขโทรศัพท์มือถือ

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด ข้อมูลอ้างอิงสถานะ
curl -X POST 'https://www.hlr-lookups.com/api/v2/hlr-lookup' \
          -d "@payload.json"

Payload

{
   "msisdn":"+14156226819",
   "route":null,
   "storage":null
}

พารามิเตอร์คำขอ

Key ประเภท คำอธิบาย ค่าเริ่มต้น จำเป็น
msisdn string หมายเลขโทรศัพท์มือถือ (MSISDN) ที่ต้องการสอบถาม ในรูปแบบสากล (เช่น +14156226819 หรือ 0014156226819) ต้องระบุรหัสประเทศ null จำเป็น
route string(3) ตัวระบุสามอักขระเสริมที่ระบุเส้นทางสำหรับการค้นหานี้ ตั้งค่าเป็น null หรือละเว้นพารามิเตอร์นี้เพื่อใช้แผนผังเส้นทางที่กำหนดเองของคุณ หรือให้ระบบของเรากำหนดเส้นทางที่ดีที่สุดสำหรับการค้นหานี้โดยอัตโนมัติ null ไม่บังคับ
storage string ตัวระบุที่เก็บข้อมูลเสริมที่ระบุรายงานที่ผลลัพธ์จะถูกจัดเก็บไว้สำหรับการตรวจสอบด้วยตนเอง การวิเคราะห์ และการรายงาน ระบบจะเพิ่มการประทับเวลาพร้อมเดือนปัจจุบันโดยอัตโนมัติ หากละเว้นหรือตั้งค่าเป็น null ระบบจะจัดกลุ่มผลลัพธ์ตามเดือนโดยอัตโนมัติเพื่อวัตถุประสงค์ในการรายงาน null ไม่บังคับ
{
   "id":"f94ef092cb53",
   "msisdn":"+14156226819",
   "connectivity_status":"CONNECTED",
   "mccmnc":"310260",
   "mcc":"310",
   "mnc":"260",
   "imsi":"***************",
   "msin":"**********",
   "msc":"************",
   "original_network_name":"Verizon Wireless",
   "original_country_name":"United States",
   "original_country_code":"US",
   "original_country_prefix":"+1",
   "is_ported":true,
   "ported_network_name":"T-Mobile US",
   "ported_country_name":"United States",
   "ported_country_code":"US",
   "ported_country_prefix":"+1",
   "is_roaming":false,
   "roaming_network_name":null,
   "roaming_country_name":null,
   "roaming_country_code":null,
   "roaming_country_prefix":null,
   "cost":"0.0100",
   "timestamp":"2020-08-07 19:16:17.676+0300",
   "storage":"SYNC-API-2020-08",
   "route":"IP1",
   "processing_status":"COMPLETED",
   "error_code":null,
   "error_description":null,
   "data_source":"LIVE_HLR",
   "routing_instruction":"STATIC:IP1"
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
id string(12) รหัสเฉพาะที่กำหนดให้กับคำขอค้นหานี้ false
msisdn string หมายเลขโทรศัพท์มือถือที่ต้องการค้นหา จัดรูปแบบเป็นรูปแบบสากล (เช่น +14156226819 หรือ 0014156226819) false
connectivity_status string ระบุว่าสถานะการเชื่อมต่อของหมายเลขได้รับการดึงข้อมูลสำเร็จหรือไม่ ค่าที่เป็นไปได้: CONNECTED , ABSENT , INVALID_MSISDN หรือ UNDETERMINED false
mccmnc string(5|6) รหัส Mobile Country Code (MCC) และ Mobile Network Code (MNC) ห้าหรือหกหลักที่ระบุเครือข่ายที่เชื่อมโยงกับหมายเลขโทรศัพท์ในปัจจุบัน true
mcc string(3) รหัส Mobile Country Code (MCC) สามหลักที่ระบุประเทศที่หมายเลขโทรศัพท์ถูกลงทะเบียน true
mnc string(2|3) รหัส Mobile Network Code (MNC) สองหรือสามหลักที่ระบุเครือข่ายเฉพาะที่หมายเลขโทรศัพท์สังกัดอยู่ true
imsi string International Mobile Subscriber Identity (IMSI) รหัสเฉพาะสำหรับซิมการ์ดที่เชื่อมโยงกับหมายเลขนี้ ความพร้อมใช้งานขึ้นอยู่กับการกำหนดค่าของเครือข่าย true
msin string(10) Mobile Subscription Identification Number (MSIN) ในฐานข้อมูลของผู้ให้บริการเครือข่ายมือถือ ความพร้อมใช้งานขึ้นอยู่กับการกำหนดค่าของเครือข่าย true
msc string(12) Mobile Switching Center (MSC) ที่จัดการการสื่อสารของผู้ใช้บริการรายนี้ในปัจจุบัน ความพร้อมใช้งานขึ้นอยู่กับการกำหนดค่าของเครือข่าย true
original_network_name string ชื่อผู้ให้บริการเครือข่ายเดิม (ดั้งเดิม) ที่เชื่อมโยงกับหมายเลขนี้ true
original_country_name string ชื่อเต็มของประเทศที่หมายเลขโทรศัพท์มือถือถูกลงทะเบียนครั้งแรก แสดงเป็นภาษาอังกฤษ true
original_country_code string(2) รหัสประเทศ ISO สองตัวอักษรที่แสดงถึงประเทศที่หมายเลขโทรศัพท์ถูกกำหนดครั้งแรก true
original_country_prefix string รหัสโทรศัพท์ระหว่างประเทศ (รหัสประเทศ) ที่สอดคล้องกับประเทศเดิมของหมายเลขโทรศัพท์มือถือ true
is_ported boolean ระบุว่าหมายเลขมือถือได้ถูกย้ายจากเครือข่ายเดิมไปยังผู้ให้บริการอื่นหรือไม่ true
ported_network_name string ชื่อของผู้ให้บริการเครือข่ายที่หมายเลขมือถือถูกย้ายไป (ถ้ามี) true
ported_country_name string ชื่อของประเทศที่หมายเลขมือถือถูกย้ายไป (ถ้ามี) true
ported_country_code string(2) รหัสประเทศ ISO สองตัวอักษรที่แสดงถึงประเทศที่หมายเลขมือถือถูกย้ายไป (ถ้ามี) true
ported_country_prefix string รหัสโทรศัพท์ระหว่างประเทศ (รหัสประเทศ) สำหรับประเทศที่หมายเลขมือถือถูกย้ายไป (ถ้ามี) true
is_roaming boolean ระบุว่าหมายเลขมือถือกำลังโรมมิ่งบนเครือข่ายต่างประเทศหรือไม่ ความพร้อมใช้งานของสถานะโรมมิ่งขึ้นอยู่กับผู้ให้บริการเครือข่ายมือถือ true
roaming_network_name string ชื่อของเครือข่ายที่หมายเลขมือถือกำลังโรมมิ่งอยู่ในปัจจุบัน (ถ้ามี) true
roaming_country_name string ชื่อของประเทศที่หมายเลขมือถือกำลังโรมมิ่งอยู่ในปัจจุบัน (ถ้ามี) true
roaming_country_code string(2) รหัสประเทศ ISO สองตัวอักษรของประเทศที่หมายเลขมือถือกำลังโรมมิ่งอยู่ในปัจจุบัน (ถ้ามี) true
roaming_country_prefix string รหัสโทรศัพท์ระหว่างประเทศ (รหัสประเทศ) ของประเทศที่หมายเลขมือถือกำลังโรมมิ่งอยู่ในปัจจุบัน (ถ้ามี) true
cost string ค่าทศนิยมที่แสดงเป็นข้อความ ระบุค่าใช้จ่ายในการค้นหาเป็นสกุลเงินยูโร true
timestamp string ประทับเวลาในรูปแบบ W3C รวมเขตเวลา ระบุเวลาที่การค้นหาเสร็จสมบูรณ์ true
storage string ชื่อของที่เก็บข้อมูลที่บันทึกผลการค้นหา ซึ่งสอดคล้องกับชื่อรายงานและไฟล์ CSV ที่ดาวน์โหลดได้ผ่านหน้าเว็บ true
route string(3) รหัสสามตัวอักษรที่ระบุวิธีการกำหนดเส้นทางที่ใช้สำหรับคำขอค้นหานี้ true
processing_status string ผลลัพธ์การประมวลผลของการค้นหา ค่าที่เป็นไปได้: COMPLETED (สำเร็จ), REJECTED (ไม่สามารถเข้าถึงเครือข่าย ไม่มีการเรียกเก็บเงิน) หรือ FAILED (เกิดข้อผิดพลาดระหว่างการประมวลผล) false
error_code integer รหัสข้อผิดพลาดภายในเพิ่มเติม (ถ้ามี) เพื่อให้ข้อมูลวินิจฉัยสำหรับฝ่ายสนับสนุนลูกค้า true
error_description string คำอธิบายสั้นๆ ของรหัสข้อผิดพลาดที่ระบุ (ถ้ามี) เป็นข้อความภาษาอังกฤษ true
data_source string แหล่งข้อมูลที่ใช้สำหรับคำขอนี้ ค่าที่เป็นไปได้: LIVE_HLR (การค้นหา HLR แบบเรียลไทม์) หรือ MNP_DB (ฐานข้อมูลการย้ายเลขหมายคงค้างแบบคงที่) โปรดดูตัวเลือกการกำหนดเส้นทางสำหรับรายละเอียด false
routing_instruction string ข้อความที่คั่นด้วยโคลอนอธิบายคำสั่งการกำหนดเส้นทางที่ใช้ในคำขอ ส่วนแรกคือ STATIC เมื่อคุณระบุเส้นทาง หรือ AUTO สำหรับการกำหนดเส้นทางอัตโนมัติ ส่วนที่สองคือรหัสเส้นทาง และสำหรับคำขอแบบอัตโนมัติ ส่วนที่สามแสดงต้นทางที่ใช้ในการตัดสินใจเส้นทาง (เช่น SCORE, CUSTOM_GLOBAL_COUNTRY, CUSTOM_GLOBAL_MCCMNC, CUSTOM_GLOBAL_PREFIX, CUSTOM_USER_COUNTRY, CUSTOM_USER_MCCMNC, CUSTOM_USER_PREFIX, MNP_FALLBACK, PLATFORM_DEFAULT, USER_DEFAULT) false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
สถานะ คำอธิบาย
CONNECTED หมายเลขนี้ถูกต้องและอุปกรณ์ปลายทางเชื่อมต่อกับเครือข่ายมือถืออยู่ในขณะนี้ การโทร SMS และบริการอื่นๆ ควรส่งถึงผู้รับได้สำเร็จ
ABSENT หมายเลขนี้ถูกต้อง แต่อุปกรณ์ปลายทางอาจปิดเครื่องหรืออยู่นอกพื้นที่ให้บริการชั่วคราว ข้อความหรือการโทรอาจไม่สามารถส่งได้จนกว่าอุปกรณ์จะเชื่อมต่อกับเครือข่ายอีกครั้ง
INVALID_MSISDN หมายเลขนี้ไม่ถูกต้องหรือไม่ได้รับการกำหนดให้กับผู้ใช้บริการใดๆ บนเครือข่ายมือถือในขณะนี้ การโทรและข้อความไปยังหมายเลขนี้จะล้มเหลว
UNDETERMINED ไม่สามารถระบุสถานะการเชื่อมต่อของหมายเลขนี้ได้ อาจเกิดจากหมายเลขไม่ถูกต้อง การตอบกลับข้อผิดพลาดจาก SS7 หรือการขาดการเชื่อมต่อกับผู้ให้บริการเครือข่ายปลายทาง กรุณาตรวจสอบรหัสข้อผิดพลาดและฟิลด์คำอธิบายเพื่อการวินิจฉัยเพิ่มเติม
เลื่อนขึ้น

POST/hlr-lookupsได้รับการป้องกัน

เริ่มต้นการตรวจสอบ HLR แบบชุดแบบอะซิงโครนัส เพื่อดึงข้อมูลการเชื่อมต่อและการพกหมายเลขโทรศัพท์มือถือแบบเรียลไทม์จากผู้ให้บริการเครือข่าย ผลลัพธ์จะถูกส่งผ่าน webhook ไปยังเซิร์ฟเวอร์ของคุณ วิธีการนี้ได้รับการปรับให้เหมาะสมสำหรับการประมวลผลหมายเลขจำนวนมากที่ไม่ต้องการผลลัพธ์ทันที เช่น การทำความสะอาดและตรวจสอบฐานข้อมูล สำหรับแอปพลิเคชันแบบเรียลไทม์ เช่น การกำหนดเส้นทางการโทรหรือการส่ง SMS แนะนำให้ใช้ endpoint POST /hlr-lookup แทน

endpoint นี้เหมาะสำหรับการประมวลผลจำนวนมากเมื่อเป้าหมายคือการระบุหมายเลขโทรศัพท์ที่สามารถติดต่อได้ในปัจจุบัน (เชื่อมต่อ) หรือไม่สามารถติดต่อได้ (โทรศัพท์ปิดเครื่อง) พร้อมกับกรองหมายเลขที่ไม่ถูกต้อง ไม่ได้กำหนด หรือหมายเลขปลอม นอกจากนี้ยังให้ข้อมูลสถานะการพกหมายเลขแบบเรียลไทม์ (MCCMNC) พร้อมกับรายละเอียดการเชื่อมต่อ

ก่อนใช้ endpoint นี้ ตรวจสอบให้แน่ใจว่าได้กำหนดค่า webhook URL เพื่อรับผลลัพธ์การตรวจสอบแบบอะซิงโครนัสแล้ว คุณสามารถตั้งค่านี้ได้ในการตั้งค่า API ของคุณ

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด Webhooks ข้อมูลอ้างอิงสถานะ
curl -X POST 'https://www.hlr-lookups.com/api/v2/hlr-lookups' \
          -d "@payload.json"

Payload

{
   "msisdns":["+14156226819","+491788735000","+905536939460"],
   "route":null,
   "storage":null
}

พารามิเตอร์คำขอ

Key ประเภท คำอธิบาย ค่าเริ่มต้น จำเป็น
msisdns array อาร์เรย์ของหมายเลขโทรศัพท์มือถือ (MSISDNs) ในรูปแบบสากล (เช่น +14156226819 หรือ 0014156226819) คุณสามารถรวมหมายเลขได้สูงสุด 1000 หมายเลขต่อคำขอ null จำเป็น
route string(3) ตัวระบุสามอักขระเสริมที่ระบุเส้นทางสำหรับการค้นหานี้ ตั้งค่าเป็น null หรือละเว้นพารามิเตอร์นี้เพื่อใช้แผนผังเส้นทางที่กำหนดเองของคุณ หรือให้ระบบของเรากำหนดเส้นทางที่ดีที่สุดสำหรับการค้นหานี้โดยอัตโนมัติ null ไม่บังคับ
storage string ตัวระบุที่เก็บข้อมูลเสริมที่ระบุรายงานที่ผลลัพธ์จะถูกจัดเก็บไว้สำหรับการตรวจสอบด้วยตนเอง การวิเคราะห์ และการรายงาน ระบบจะเพิ่มการประทับเวลาพร้อมเดือนปัจจุบันโดยอัตโนมัติ หากละเว้นหรือตั้งค่าเป็น null ระบบจะจัดกลุ่มผลลัพธ์ตามเดือนโดยอัตโนมัติเพื่อวัตถุประสงค์ในการรายงาน null ไม่บังคับ
{
   "accepted":[
      {
         "id":"0424928f332e",
         "msisdn":"+491788735000"
      }
   ],
   "accepted_count":1,
   "rejected":[
      {
         "id":null,
         "msisdn":"+31"
      }
   ],
   "rejected_count":1,
   "total_count":2,
   "cost":"0.01",
   "storage":"ASYNC-API-2020-08",
   "route":"IP1",
   "webhook_urls":[
      "https://your-server.com/endpoint"
   ]
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
accepted array รายการของออบเจ็กต์ที่มีตัวระบุเฉพาะและ MSISDNs ที่ได้รับการยอมรับสำหรับการประมวลผล false
accepted_count integer จำนวน MSISDNs ทั้งหมดที่ได้รับการยอมรับสำหรับการประมวลผลสำเร็จ false
rejected array รายการของออบเจ็กต์ที่มีตัวระบุเฉพาะและ MSISDNs ที่ถูกปฏิเสธจากการประมวลผล โดยทั่วไปเนื่องจากหมายเลขไม่ถูกต้อง ไม่มีค่าใช้จ่ายสำหรับรายการที่ถูกปฏิเสธ false
rejected_count integer จำนวน MSISDNs ทั้งหมดที่ถูกปฏิเสธเนื่องจากข้อผิดพลาดในการตรวจสอบความถูกต้อง false
total_count integer จำนวนรวมของ MSISDNs ที่ได้รับการยอมรับและถูกปฏิเสธที่ส่งเพื่อการประมวลผล false
cost string ค่าทศนิยมที่แสดงเป็นสตริง แสดงต้นทุนรวมเป็นยูโรสำหรับการตรวจสอบที่ได้รับการยอมรับ false
storage string ชื่อของที่เก็บข้อมูลที่ผลลัพธ์การตรวจสอบถูกเพิ่มเข้าไป ใช้สำหรับการรายงานและดาวน์โหลด CSV ผ่านอินเทอร์เฟซเว็บ false
route string(3|4) ตัวระบุสามหรือสี่ตัวอักษรที่ระบุเส้นทางที่ใช้สำหรับคำขอการตรวจสอบนี้ มี AUTO หากมีการร้องขอการกำหนดเส้นทางอัตโนมัติตามหมายเลข false
webhook_urls array webhook URLs ที่กำหนดค่าไว้ในการตั้งค่า API ของคุณ ผลลัพธ์จะถูกส่งกลับมาที่นี่ false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false

การประมวลผล Webhook

เมื่อส่งคำขอแล้ว ระบบของเราจะเริ่มประมวลผลหมายเลขโทรศัพท์ที่ระบุ และส่งผลลัพธ์ไปยัง URL ของ Webhook ที่กำหนดไว้บนเซิร์ฟเวอร์ของคุณ ผลลัพธ์จะถูกส่งในรูปแบบคำขอ HTTP POST พร้อมกับออบเจ็กต์ JSON ในเนื้อหาของคำขอ

การยืนยันตัวตน

ยืนยันตัวตน Webhook โดยตรวจสอบ HTTP header X-Signatures

Header X-Signatures ประกอบด้วยรายการลายเซ็นที่คั่นด้วยเครื่องหมายอัฒภาค ลายเซ็นแต่ละรายการจะถูกสร้างขึ้นโดยใช้ API secret ที่กำหนดค่าไว้ในบัญชีของคุณ ในการตรวจสอบ Webhook ให้สร้าง SHA-256 hash โดยใช้ API key, secret และ HTTP body ดิบของคุณ จากนั้นเปรียบเทียบกับลายเซ็นในรายการ

หากตรงกันแสดงว่าคำขอนั้นถูกต้องและลงนามด้วย secret ที่คุณควบคุม

PHP ตัวอย่างโค้ด

$signaturesHeader = (getallheaders() ?? [])['X-Signatures'] ?? ''; // list of signatures
$key = getenv('AUTH_KEY'); // Your API Key
$secret = getenv('AUTH_SECRET'); // Your API Secret
$payload = file_get_contents('php://input'); // The HTTP body of the incoming POST request

// Generate the expected signature
$expectedSignature = hash('sha256', $key . $secret . $payload);

// Split the header into individual signatures
$providedSignatures = explode(';', $signaturesHeader);

// Check if any signature matches
$valid = false;
foreach ($providedSignatures as $sig) {
    if (hash_equals($expectedSignature, $sig)) {
        $valid = true;
        break;
    }
}

คำขอจะถูกต้องหากลายเซ็นใดๆ ใน header ตรงกับ SHA256 hash ที่คำนวณจากสตริงที่เชื่อมต่อกันของ API key, secret และ HTTP body ของคุณ

การยืนยันการรับข้อมูล

เซิร์ฟเวอร์ของคุณต้องตอบกลับด้วย HTTP status code 200 OK เพื่อยืนยันการรับข้อมูลสำเร็จ หากมีการตอบกลับด้วย status code อื่น เกิด timeout (10 วินาที) หรือปัญหาการส่งข้อมูลอื่นๆ ระบบจะลองส่ง Webhook อีกครั้งโดยอัตโนมัติหลังจากหนึ่งนาที หากคำขอยังคงล้มเหลวต่อไป การลองใหม่จะใช้กลยุทธ์ exponential backoff โดยพยายามอีกครั้งหลังจาก 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 นาที

กลไกการลองใหม่นี้ช่วยให้มั่นใจในความน่าเชื่อถือสูงสุดในการส่งผลลัพธ์การค้นหาไปยังโครงสร้างพื้นฐานของคุณ ช่วยลดความเสี่ยงของการสูญหายข้อมูลจากปัญหาเครือข่ายชั่วคราวหรือเซิร์ฟเวอร์หยุดทำงาน

Webhook Payload

{
   "type":"HLR",
   "results":[
      {
         "id":"3b4ac4b6ed1b",
         "msisdn":"+905536939460",
         "connectivity_status":"CONNECTED",
         "mccmnc":"28603",
         "mcc":"286",
         "mnc":"03",
         "imsi":"28603XXXXXXXXXX",
         "msin":"XXXXXXXXXX",
         "msc":"XXXXXXXXXX",
         "original_network_name":"Turk Telekom (AVEA)",
         "original_country_name":"Turkey",
         "original_country_code":"TR",
         "original_country_prefix":"+90",
         "is_ported":false,
         "ported_network_name":null,
         "ported_country_name":null,
         "ported_country_code":null,
         "ported_country_prefix":null,
         "is_roaming":false,
         "roaming_network_name":null,
         "roaming_country_name":null,
         "roaming_country_code":null,
         "roaming_country_prefix":null,
         "cost":"0.0100",
         "timestamp":"2020-08-13 00:04:38.261+0300",
         "storage":"ASYNC-API-2020-08",
         "route":"IP1",
         "processing_status":"COMPLETED",
         "error_code":null,
         "error_description":null,
         "data_source":"LIVE_HLR",
         "routing_instruction":"STATIC:IP1"
      }
   ]
}

แอตทริบิวต์ของ Webhook Payload

ออบเจ็กต์ JSON มีแอตทริบิวต์ type => HLR พร้อมกับแอตทริบิวต์ results ที่รวมรายการของออบเจ็กต์การตรวจสอบตามที่ระบุไว้ด้านล่าง

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
id string(12) รหัสเฉพาะที่กำหนดให้กับคำขอค้นหานี้ false
msisdn string หมายเลขโทรศัพท์มือถือที่ต้องการค้นหา จัดรูปแบบเป็นรูปแบบสากล (เช่น +14156226819 หรือ 0014156226819) false
connectivity_status string ระบุว่าสถานะการเชื่อมต่อของหมายเลขได้รับการดึงข้อมูลสำเร็จหรือไม่ ค่าที่เป็นไปได้: CONNECTED , ABSENT , INVALID_MSISDN หรือ UNDETERMINED false
mccmnc string(5|6) รหัส Mobile Country Code (MCC) และ Mobile Network Code (MNC) ห้าหรือหกหลักที่ระบุเครือข่ายที่เชื่อมโยงกับหมายเลขโทรศัพท์ในปัจจุบัน true
mcc string(3) รหัส Mobile Country Code (MCC) สามหลักที่ระบุประเทศที่หมายเลขโทรศัพท์ถูกลงทะเบียน true
mnc string(2|3) รหัส Mobile Network Code (MNC) สองหรือสามหลักที่ระบุเครือข่ายเฉพาะที่หมายเลขโทรศัพท์สังกัดอยู่ true
imsi string International Mobile Subscriber Identity (IMSI) รหัสเฉพาะสำหรับซิมการ์ดที่เชื่อมโยงกับหมายเลขนี้ ความพร้อมใช้งานขึ้นอยู่กับการกำหนดค่าของเครือข่าย true
msin string(10) Mobile Subscription Identification Number (MSIN) ในฐานข้อมูลของผู้ให้บริการเครือข่ายมือถือ ความพร้อมใช้งานขึ้นอยู่กับการกำหนดค่าของเครือข่าย true
msc string(12) Mobile Switching Center (MSC) ที่จัดการการสื่อสารของผู้ใช้บริการรายนี้ในปัจจุบัน ความพร้อมใช้งานขึ้นอยู่กับการกำหนดค่าของเครือข่าย true
original_network_name string ชื่อผู้ให้บริการเครือข่ายเดิม (ดั้งเดิม) ที่เชื่อมโยงกับหมายเลขนี้ true
original_country_name string ชื่อเต็มของประเทศที่หมายเลขโทรศัพท์มือถือถูกลงทะเบียนครั้งแรก แสดงเป็นภาษาอังกฤษ true
original_country_code string(2) รหัสประเทศ ISO สองตัวอักษรที่แสดงถึงประเทศที่หมายเลขโทรศัพท์ถูกกำหนดครั้งแรก true
original_country_prefix string รหัสโทรศัพท์ระหว่างประเทศ (รหัสประเทศ) ที่สอดคล้องกับประเทศเดิมของหมายเลขโทรศัพท์มือถือ true
is_ported boolean ระบุว่าหมายเลขมือถือได้ถูกย้ายจากเครือข่ายเดิมไปยังผู้ให้บริการอื่นหรือไม่ true
ported_network_name string ชื่อของผู้ให้บริการเครือข่ายที่หมายเลขมือถือถูกย้ายไป (ถ้ามี) true
ported_country_name string ชื่อของประเทศที่หมายเลขมือถือถูกย้ายไป (ถ้ามี) true
ported_country_code string(2) รหัสประเทศ ISO สองตัวอักษรที่แสดงถึงประเทศที่หมายเลขมือถือถูกย้ายไป (ถ้ามี) true
ported_country_prefix string รหัสโทรศัพท์ระหว่างประเทศ (รหัสประเทศ) สำหรับประเทศที่หมายเลขมือถือถูกย้ายไป (ถ้ามี) true
is_roaming boolean ระบุว่าหมายเลขมือถือกำลังโรมมิ่งบนเครือข่ายต่างประเทศหรือไม่ ความพร้อมใช้งานของสถานะโรมมิ่งขึ้นอยู่กับผู้ให้บริการเครือข่ายมือถือ true
roaming_network_name string ชื่อของเครือข่ายที่หมายเลขมือถือกำลังโรมมิ่งอยู่ในปัจจุบัน (ถ้ามี) true
roaming_country_name string ชื่อของประเทศที่หมายเลขมือถือกำลังโรมมิ่งอยู่ในปัจจุบัน (ถ้ามี) true
roaming_country_code string(2) รหัสประเทศ ISO สองตัวอักษรของประเทศที่หมายเลขมือถือกำลังโรมมิ่งอยู่ในปัจจุบัน (ถ้ามี) true
roaming_country_prefix string รหัสโทรศัพท์ระหว่างประเทศ (รหัสประเทศ) ของประเทศที่หมายเลขมือถือกำลังโรมมิ่งอยู่ในปัจจุบัน (ถ้ามี) true
cost string ค่าทศนิยมที่แสดงเป็นข้อความ ระบุค่าใช้จ่ายในการค้นหาเป็นสกุลเงินยูโร true
timestamp string ประทับเวลาในรูปแบบ W3C รวมเขตเวลา ระบุเวลาที่การค้นหาเสร็จสมบูรณ์ true
storage string ชื่อของที่เก็บข้อมูลที่บันทึกผลการค้นหา ซึ่งสอดคล้องกับชื่อรายงานและไฟล์ CSV ที่ดาวน์โหลดได้ผ่านหน้าเว็บ true
route string(3) รหัสสามตัวอักษรที่ระบุวิธีการกำหนดเส้นทางที่ใช้สำหรับคำขอค้นหานี้ true
processing_status string ผลลัพธ์การประมวลผลของการค้นหา ค่าที่เป็นไปได้: COMPLETED (สำเร็จ), REJECTED (ไม่สามารถเข้าถึงเครือข่าย ไม่มีการเรียกเก็บเงิน) หรือ FAILED (เกิดข้อผิดพลาดระหว่างการประมวลผล) false
error_code integer รหัสข้อผิดพลาดภายในเพิ่มเติม (ถ้ามี) เพื่อให้ข้อมูลวินิจฉัยสำหรับฝ่ายสนับสนุนลูกค้า true
error_description string คำอธิบายสั้นๆ ของรหัสข้อผิดพลาดที่ระบุ (ถ้ามี) เป็นข้อความภาษาอังกฤษ true
data_source string แหล่งข้อมูลที่ใช้สำหรับคำขอนี้ ค่าที่เป็นไปได้: LIVE_HLR (การค้นหา HLR แบบเรียลไทม์) หรือ MNP_DB (ฐานข้อมูลการย้ายเลขหมายคงค้างแบบคงที่) โปรดดูตัวเลือกการกำหนดเส้นทางสำหรับรายละเอียด false
routing_instruction string ข้อความที่คั่นด้วยโคลอนอธิบายคำสั่งการกำหนดเส้นทางที่ใช้ในคำขอ ส่วนแรกคือ STATIC เมื่อคุณระบุเส้นทาง หรือ AUTO สำหรับการกำหนดเส้นทางอัตโนมัติ ส่วนที่สองคือรหัสเส้นทาง และสำหรับคำขอแบบอัตโนมัติ ส่วนที่สามแสดงต้นทางที่ใช้ในการตัดสินใจเส้นทาง (เช่น SCORE, CUSTOM_GLOBAL_COUNTRY, CUSTOM_GLOBAL_MCCMNC, CUSTOM_GLOBAL_PREFIX, CUSTOM_USER_COUNTRY, CUSTOM_USER_MCCMNC, CUSTOM_USER_PREFIX, MNP_FALLBACK, PLATFORM_DEFAULT, USER_DEFAULT) false
สถานะ คำอธิบาย
CONNECTED หมายเลขนี้ถูกต้องและอุปกรณ์ปลายทางเชื่อมต่อกับเครือข่ายมือถืออยู่ในขณะนี้ การโทร SMS และบริการอื่นๆ ควรส่งถึงผู้รับได้สำเร็จ
ABSENT หมายเลขนี้ถูกต้อง แต่อุปกรณ์ปลายทางอาจปิดเครื่องหรืออยู่นอกพื้นที่ให้บริการชั่วคราว ข้อความหรือการโทรอาจไม่สามารถส่งได้จนกว่าอุปกรณ์จะเชื่อมต่อกับเครือข่ายอีกครั้ง
INVALID_MSISDN หมายเลขนี้ไม่ถูกต้องหรือไม่ได้รับการกำหนดให้กับผู้ใช้บริการใดๆ บนเครือข่ายมือถือในขณะนี้ การโทรและข้อความไปยังหมายเลขนี้จะล้มเหลว
UNDETERMINED ไม่สามารถระบุสถานะการเชื่อมต่อของหมายเลขนี้ได้ อาจเกิดจากหมายเลขไม่ถูกต้อง การตอบกลับข้อผิดพลาดจาก SS7 หรือการขาดการเชื่อมต่อกับผู้ให้บริการเครือข่ายปลายทาง กรุณาตรวจสอบรหัสข้อผิดพลาดและฟิลด์คำอธิบายเพื่อการวินิจฉัยเพิ่มเติม
เลื่อนขึ้น

POST/mnp-lookupได้รับการป้องกัน

ดำเนินการค้นหา MNP แบบซิงโครนัสและให้ข้อมูลการพกหมายเลขโทรศัพท์เคลื่อนที่และข้อมูลเครือข่าย Endpoint นี้เหมาะสมหากเป้าหมายหลักของคุณคือการดึงข้อมูล MCCMNC ปัจจุบันของหมายเลขโทรศัพท์มือถือที่กำหนดและระบุเครือข่ายเดิมและเครือข่ายปัจจุบันแบบเรียลไทม์

สำหรับการประมวลผลชุดข้อมูลขนาดใหญ่ที่ไม่ต้องการผลลัพธ์ทันที ควรพิจารณาใช้ POST /mnp-lookups แบบอะซิงโครนัส ซึ่งได้รับการปรับให้เหมาะสมสำหรับการประมวลผลแบบแบตช์ความเร็วสูง

การสอบถาม MNP สามารถระบุข้อมูลการพกหมายเลขและเครือข่ายได้อย่างน่าเชื่อถือ แต่ไม่ได้บ่งชี้ว่าโทรศัพท์มือถือเป้าหมายกำลังเชื่อมต่อกับเครือข่ายและสามารถติดต่อได้ในขณะนี้หรือไม่ หากต้องการดึงข้อมูลการเชื่อมต่อแบบเรียลไทม์ โปรดใช้ endpoint POST /hlr-lookup แทน

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl -X POST 'https://www.hlr-lookups.com/api/v2/mnp-lookup' \
          -d "@payload.json"

Payload

{
   "msisdn":"+14156226819",
   "route":null,
   "storage":null
}

พารามิเตอร์คำขอ

Key ประเภท คำอธิบาย ค่าเริ่มต้น จำเป็น
msisdn string หมายเลขโทรศัพท์มือถือ (MSISDN) ที่ต้องการสอบถาม ในรูปแบบสากล (เช่น +14156226819 หรือ 0014156226819) ต้องระบุรหัสประเทศ null จำเป็น
route string(3) ตัวระบุสามอักขระเสริมที่ระบุเส้นทางสำหรับการค้นหานี้ ตั้งค่าเป็น null หรือละเว้นพารามิเตอร์นี้เพื่อใช้แผนผังเส้นทางที่กำหนดเองของคุณ หรือให้ระบบของเรากำหนดเส้นทางที่ดีที่สุดสำหรับการค้นหานี้โดยอัตโนมัติ null ไม่บังคับ
storage string ตัวระบุที่เก็บข้อมูลเสริมที่ระบุรายงานที่ผลลัพธ์จะถูกจัดเก็บไว้สำหรับการตรวจสอบด้วยตนเอง การวิเคราะห์ และการรายงาน ระบบจะเพิ่มการประทับเวลาพร้อมเดือนปัจจุบันโดยอัตโนมัติ หากละเว้นหรือตั้งค่าเป็น null ระบบจะจัดกลุ่มผลลัพธ์ตามเดือนโดยอัตโนมัติเพื่อวัตถุประสงค์ในการรายงาน null ไม่บังคับ
{
   "id":"e428acb1c0ae",
   "msisdn":"+14156226819",
   "query_status":"OK",
   "mccmnc":"310260",
   "mcc":"310",
   "mnc":"260",
   "is_ported":true,
   "original_network_name":"Verizon Wireless:6006 - SVR/2",
   "original_country_name":"United States",
   "original_country_code":"US",
   "original_country_prefix":"+1415",
   "ported_network_name":"T-Mobile US:6529 - SVR/2",
   "ported_country_name":"United States",
   "ported_country_code":"US",
   "ported_country_prefix":"+1",
   "extra":"LRN:4154250000",
   "cost":"0.0050",
   "timestamp":"2020-08-05 21:21:33.490+0300",
   "storage":"WEB-CLIENT-SOLO-MNP-2020-08",
   "route":"PTX",
   "error_code":null
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
id string(12) รหัสประจำตัว 12 ตัวอักษรที่ไม่ซ้ำกันสำหรับการค้นหานี้ false
msisdn string หมายเลขโทรศัพท์มือถือที่ได้รับการประเมินในคำขอค้นหานี้ false
query_status string ระบุว่าการดึงข้อมูลการพกหมายเลขและข้อมูลเครือข่ายสำเร็จหรือไม่ ค่าที่เป็นไปได้คือ OK หรือ FAILED false
mccmnc string(5|6) รหัส MCCMNC ความยาว 5 หรือ 6 ตัวอักษร (คู่รหัสประเทศมือถือและรหัสเครือข่ายมือถือ) ที่ระบุเครือข่ายที่หมายเลขโทรศัพท์มือถือสังกัดอยู่ในปัจจุบัน true
mcc string(3) รหัส MCC ความยาว 3 ตัวอักษร (รหัสประเทศมือถือ) ที่แสดงถึงประเทศที่เกี่ยวข้องกับเครือข่ายปัจจุบันของหมายเลขโทรศัพท์มือถือ true
mnc string(2|3) รหัส MNC ความยาว 2 หรือ 3 ตัวอักษร (รหัสเครือข่ายมือถือ) ที่ระบุผู้ให้บริการเครือข่ายปัจจุบันสำหรับหมายเลขโทรศัพท์มือถือ true
is_ported boolean ระบุว่าหมายเลขโทรศัพท์ได้ถูกพกย้ายจากเครือข่ายเดิมไปยังผู้ให้บริการรายใหม่หรือไม่ true
original_network_name string สตริงข้อความ (เป็นภาษาอังกฤษ) ที่ระบุชื่อผู้ให้บริการเครือข่ายเดิมของหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
original_country_name string สตริงข้อความ (เป็นภาษาอังกฤษ) ที่ระบุประเทศเดิมของหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
original_country_code string(2) รหัสประเทศ ISO ความยาว 2 ตัวอักษรที่แสดงถึงประเทศเดิมของหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
original_country_prefix string รหัสการโทรของประเทศเดิมที่เกี่ยวข้องกับหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
ported_network_name string ระบุผู้ให้บริการเครือข่ายที่หมายเลขโทรศัพท์มือถือที่ตรวจสอบได้ถูกพกย้ายไป (ถ้ามี) true
ported_country_name string ระบุประเทศที่หมายเลขโทรศัพท์มือถือที่ตรวจสอบได้ถูกพกย้ายไป (ถ้ามี) true
ported_country_code string(2) รหัสประเทศ ISO ความยาว 2 ตัวอักษรที่แสดงถึงประเทศที่หมายเลขโทรศัพท์มือถือที่ตรวจสอบได้ถูกพกย้ายไป (ถ้ามี) true
ported_country_prefix string รหัสการโทรของประเทศที่หมายเลขโทรศัพท์มือถือที่ตรวจสอบได้ถูกพกย้ายไป (ถ้ามี) true
extra string สตริงข้อความที่ให้รายละเอียดเพิ่มเติมเกี่ยวกับหมายเลขโทรศัพท์ (ถ้ามี) true
cost string ค่าทศนิยมที่แสดงเป็นสตริง ระบุค่าใช้จ่ายเป็นสกุลเงินยูโรสำหรับการค้นหานี้ true
timestamp string เวลาตามมาตรฐาน W3C รวมถึงข้อมูลเขตเวลา ระบุเวลาที่การค้นหาเสร็จสมบูรณ์ true
storage string ชื่อที่เก็บข้อมูล (หรือชื่อรายงาน) ที่ผลลัพธ์การค้นหาถูกเพิ่มเข้าไป ใช้สำหรับการดาวน์โหลด CSV และการสร้างรายงานผ่านอินเทอร์เฟซเว็บ true
route string(3) รหัสประจำตัว 3 ตัวอักษรที่ระบุเส้นทางที่ใช้สำหรับคำขอค้นหานี้ true
error_code integer รหัสข้อผิดพลาดภายในที่ให้บริบทเพิ่มเติมสำหรับการวินิจฉัยของฝ่ายสนับสนุนลูกค้า (ถ้ามี) true
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

POST/mnp-lookupsได้รับการป้องกัน

เริ่มต้นการตรวจสอบ MNP (การพกหมายเลขโทรศัพท์เคลื่อนที่) แบบกลุ่มแบบอะซิงโครนัส เพื่อดึงข้อมูล MCCMNC ปัจจุบันและระบุเครือข่ายเดิมและเครือข่ายปัจจุบันแบบเรียลไทม์ ผลลัพธ์จะถูกส่งผ่าน webhook ไปยังเซิร์ฟเวอร์ของคุณ วิธีการนี้ได้รับการปรับให้เหมาะสมสำหรับการประมวลผลหมายเลขจำนวนมากที่ไม่ต้องการผลลัพธ์ทันที เช่น การทำความสะอาดและตรวจสอบฐานข้อมูล สำหรับแอปพลิเคชันแบบเรียลไทม์ เช่น การกำหนดเส้นทางการโทรหรือการส่ง SMS แนะนำให้ใช้ endpoint POST /mnp-lookup แทน

การสอบถาม MNP สามารถระบุข้อมูลการพกหมายเลขและเครือข่ายได้อย่างน่าเชื่อถือ แต่ไม่ได้บ่งชี้ว่าโทรศัพท์มือถือเป้าหมายกำลังเชื่อมต่อกับเครือข่ายและสามารถติดต่อได้ในขณะนี้หรือไม่ หากต้องการดึงข้อมูลการเชื่อมต่อแบบเรียลไทม์ โปรดใช้ endpoint POST /hlr-lookups แทน

ก่อนใช้ endpoint นี้ ตรวจสอบให้แน่ใจว่าได้กำหนดค่า webhook URL เพื่อรับผลลัพธ์การตรวจสอบแบบอะซิงโครนัสแล้ว คุณสามารถตั้งค่านี้ได้ในการตั้งค่า API ของคุณ

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด Webhooks
curl -X POST 'https://www.hlr-lookups.com/api/v2/mnp-lookups' \
          -d "@payload.json"

Payload

{
   "msisdns":["+14156226819","+491788735000","+905536939460"],
   "route":null,
   "storage":null
}

พารามิเตอร์คำขอ

Key ประเภท คำอธิบาย ค่าเริ่มต้น จำเป็น
msisdns array อาร์เรย์ของหมายเลขโทรศัพท์มือถือ (MSISDNs) ในรูปแบบสากล (เช่น +14156226819 หรือ 0014156226819) คุณสามารถรวมหมายเลขได้สูงสุด 1000 หมายเลขต่อคำขอ null จำเป็น
route string(3) ตัวระบุสามตัวอักษรเสริมที่ระบุเส้นทางสำหรับการตรวจสอบนี้ ตั้งค่าเป็น null หรือละเว้นพารามิเตอร์นี้เพื่อใช้แผนที่เส้นทางที่กำหนดเองของคุณ หรือให้ระบบของเรากำหนดเส้นทางที่ดีที่สุดโดยอัตโนมัติสำหรับคำขอนี้ null ไม่บังคับ
storage string ตัวระบุที่เก็บข้อมูลเสริมที่ระบุรายงานที่ผลลัพธ์จะถูกจัดเก็บไว้สำหรับการตรวจสอบด้วยตนเอง การวิเคราะห์ และการรายงาน ระบบจะเพิ่มการประทับเวลาพร้อมเดือนปัจจุบันโดยอัตโนมัติ หากละเว้นหรือตั้งค่าเป็น null ระบบจะจัดกลุ่มผลลัพธ์ตามเดือนโดยอัตโนมัติเพื่อวัตถุประสงค์ในการรายงาน null ไม่บังคับ
{
   "accepted":[
      {
         "id":"0424928f332e",
         "msisdn":"+491788735000"
      }
   ],
   "accepted_count":1,
   "rejected":[
      {
         "id":null,
         "msisdn":"+31"
      }
   ],
   "rejected_count":1,
   "total_count":2,
   "cost":"0.01",
   "storage":"ASYNC-API-2020-08",
   "route":"IP1",
   "webhook_urls":[
      "https://your-server.com/endpoint"
   ]
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
accepted array รายการของออบเจ็กต์ที่มีตัวระบุเฉพาะและ MSISDNs ที่ได้รับการยอมรับสำหรับการประมวลผล false
accepted_count integer จำนวน MSISDNs ทั้งหมดที่ได้รับการยอมรับสำหรับการประมวลผลสำเร็จ false
rejected array รายการของออบเจ็กต์ที่มีตัวระบุเฉพาะและ MSISDNs ที่ถูกปฏิเสธจากการประมวลผล โดยทั่วไปเนื่องจากหมายเลขไม่ถูกต้อง ไม่มีค่าใช้จ่ายสำหรับรายการที่ถูกปฏิเสธ false
rejected_count integer จำนวน MSISDNs ทั้งหมดที่ถูกปฏิเสธเนื่องจากข้อผิดพลาดในการตรวจสอบความถูกต้อง false
total_count integer จำนวนรวมของ MSISDNs ที่ได้รับการยอมรับและถูกปฏิเสธที่ส่งเพื่อการประมวลผล false
cost string ค่าทศนิยมที่แสดงเป็นสตริง แสดงต้นทุนรวมเป็นยูโรสำหรับการตรวจสอบที่ได้รับการยอมรับ false
storage string ชื่อของที่เก็บข้อมูลที่ผลลัพธ์การตรวจสอบถูกเพิ่มเข้าไป ใช้สำหรับการรายงานและดาวน์โหลด CSV ผ่านอินเทอร์เฟซเว็บ false
route string(3) รหัสประจำตัว 3 ตัวอักษรที่ระบุเส้นทางที่ใช้สำหรับคำขอค้นหานี้ false
webhook_urls array webhook URLs ที่กำหนดค่าไว้ในการตั้งค่า API ของคุณ ผลลัพธ์จะถูกส่งกลับมาที่นี่ false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false

การประมวลผล Webhook

เมื่อส่งคำขอแล้ว ระบบของเราจะเริ่มประมวลผลหมายเลขโทรศัพท์ที่ระบุ และส่งผลลัพธ์ไปยัง URL ของ Webhook ที่กำหนดไว้บนเซิร์ฟเวอร์ของคุณ ผลลัพธ์จะถูกส่งในรูปแบบคำขอ HTTP POST พร้อมกับออบเจ็กต์ JSON ในเนื้อหาของคำขอ

การยืนยันตัวตน

ยืนยันตัวตน Webhook โดยตรวจสอบ HTTP header X-Signatures

Header X-Signatures ประกอบด้วยรายการลายเซ็นที่คั่นด้วยเครื่องหมายอัฒภาค ลายเซ็นแต่ละรายการจะถูกสร้างขึ้นโดยใช้ API secret ที่กำหนดค่าไว้ในบัญชีของคุณ ในการตรวจสอบ Webhook ให้สร้าง SHA-256 hash โดยใช้ API key, secret และ HTTP body ดิบของคุณ จากนั้นเปรียบเทียบกับลายเซ็นในรายการ

หากตรงกันแสดงว่าคำขอนั้นถูกต้องและลงนามด้วย secret ที่คุณควบคุม

PHP ตัวอย่างโค้ด

$signaturesHeader = (getallheaders() ?? [])['X-Signatures'] ?? ''; // list of signatures
$key = getenv('AUTH_KEY'); // Your API Key
$secret = getenv('AUTH_SECRET'); // Your API Secret
$payload = file_get_contents('php://input'); // The HTTP body of the incoming POST request

// Generate the expected signature
$expectedSignature = hash('sha256', $key . $secret . $payload);

// Split the header into individual signatures
$providedSignatures = explode(';', $signaturesHeader);

// Check if any signature matches
$valid = false;
foreach ($providedSignatures as $sig) {
    if (hash_equals($expectedSignature, $sig)) {
        $valid = true;
        break;
    }
}

คำขอจะถูกต้องหากลายเซ็นใดๆ ใน header ตรงกับ SHA256 hash ที่คำนวณจากสตริงที่เชื่อมต่อกันของ API key, secret และ HTTP body ของคุณ

การยืนยันการรับข้อมูล

เซิร์ฟเวอร์ของคุณต้องตอบกลับด้วย HTTP status code 200 OK เพื่อยืนยันการรับข้อมูลสำเร็จ หากมีการตอบกลับด้วย status code อื่น เกิด timeout (10 วินาที) หรือปัญหาการส่งข้อมูลอื่นๆ ระบบจะลองส่ง Webhook อีกครั้งโดยอัตโนมัติหลังจากหนึ่งนาที หากคำขอยังคงล้มเหลวต่อไป การลองใหม่จะใช้กลยุทธ์ exponential backoff โดยพยายามอีกครั้งหลังจาก 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 นาที

กลไกการลองใหม่นี้ช่วยให้มั่นใจในความน่าเชื่อถือสูงสุดในการส่งผลลัพธ์การค้นหาไปยังโครงสร้างพื้นฐานของคุณ ช่วยลดความเสี่ยงของการสูญหายข้อมูลจากปัญหาเครือข่ายชั่วคราวหรือเซิร์ฟเวอร์หยุดทำงาน

Webhook Payload

{
    "type":"MNP",
    "results":[
        {
           "id":"e428acb1c0ae",
           "msisdn":"+14156226819",
           "query_status":"OK",
           "mccmnc":"310260",
           "mcc":"310",
           "mnc":"260",
           "is_ported":true,
           "original_network_name":"Verizon Wireless:6006 - SVR/2",
           "original_country_name":"United States",
           "original_country_code":"US",
           "original_country_prefix":"+1415",
           "ported_network_name":"T-Mobile US:6529 - SVR/2",
           "ported_country_name":"United States",
           "ported_country_code":"US",
           "ported_country_prefix":"+1",
           "extra":"LRN:4154250000",
           "cost":"0.0050",
           "timestamp":"2020-08-05 21:21:33.490+0300",
           "storage":"WEB-CLIENT-SOLO-MNP-2020-08",
           "route":"PTX",
           "error_code":null
        }
    ]
}

แอตทริบิวต์ของ Webhook Payload

ออบเจ็กต์ JSON มีแอตทริบิวต์ type => MNP พร้อมกับแอตทริบิวต์ results ที่รวมรายการของออบเจ็กต์การตรวจสอบตามที่ระบุไว้ด้านล่าง

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
id string(12) รหัสประจำตัว 12 ตัวอักษรที่ไม่ซ้ำกันสำหรับการค้นหานี้ false
msisdn string หมายเลขโทรศัพท์มือถือที่ได้รับการประเมินในคำขอค้นหานี้ false
query_status string ระบุว่าการดึงข้อมูลการพกหมายเลขและข้อมูลเครือข่ายสำเร็จหรือไม่ ค่าที่เป็นไปได้คือ OK หรือ FAILED false
mccmnc string(5|6) รหัส MCCMNC ความยาว 5 หรือ 6 ตัวอักษร (คู่รหัสประเทศมือถือและรหัสเครือข่ายมือถือ) ที่ระบุเครือข่ายที่หมายเลขโทรศัพท์มือถือสังกัดอยู่ในปัจจุบัน true
mcc string(3) รหัส MCC ความยาว 3 ตัวอักษร (รหัสประเทศมือถือ) ที่แสดงถึงประเทศที่เกี่ยวข้องกับเครือข่ายปัจจุบันของหมายเลขโทรศัพท์มือถือ true
mnc string(2|3) รหัส MNC ความยาว 2 หรือ 3 ตัวอักษร (รหัสเครือข่ายมือถือ) ที่ระบุผู้ให้บริการเครือข่ายปัจจุบันสำหรับหมายเลขโทรศัพท์มือถือ true
is_ported boolean ระบุว่าหมายเลขโทรศัพท์ได้ถูกพกย้ายจากเครือข่ายเดิมไปยังผู้ให้บริการรายใหม่หรือไม่ true
original_network_name string สตริงข้อความ (เป็นภาษาอังกฤษ) ที่ระบุชื่อผู้ให้บริการเครือข่ายเดิมของหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
original_country_name string สตริงข้อความ (เป็นภาษาอังกฤษ) ที่ระบุประเทศเดิมของหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
original_country_code string(2) รหัสประเทศ ISO ความยาว 2 ตัวอักษรที่แสดงถึงประเทศเดิมของหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
original_country_prefix string รหัสการโทรของประเทศเดิมที่เกี่ยวข้องกับหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
ported_network_name string ระบุผู้ให้บริการเครือข่ายที่หมายเลขโทรศัพท์มือถือที่ตรวจสอบได้ถูกพกย้ายไป (ถ้ามี) true
ported_country_name string ระบุประเทศที่หมายเลขโทรศัพท์มือถือที่ตรวจสอบได้ถูกพกย้ายไป (ถ้ามี) true
ported_country_code string(2) รหัสประเทศ ISO ความยาว 2 ตัวอักษรที่แสดงถึงประเทศที่หมายเลขโทรศัพท์มือถือที่ตรวจสอบได้ถูกพกย้ายไป (ถ้ามี) true
ported_country_prefix string รหัสการโทรของประเทศที่หมายเลขโทรศัพท์มือถือที่ตรวจสอบได้ถูกพกย้ายไป (ถ้ามี) true
extra string สตริงข้อความที่ให้รายละเอียดเพิ่มเติมเกี่ยวกับหมายเลขโทรศัพท์ (ถ้ามี) true
cost string ค่าทศนิยมที่แสดงเป็นสตริง ระบุค่าใช้จ่ายเป็นสกุลเงินยูโรสำหรับการค้นหานี้ true
timestamp string เวลาตามมาตรฐาน W3C รวมถึงข้อมูลเขตเวลา ระบุเวลาที่การค้นหาเสร็จสมบูรณ์ true
storage string ชื่อที่เก็บข้อมูล (หรือชื่อรายงาน) ที่ผลลัพธ์การค้นหาถูกเพิ่มเข้าไป ใช้สำหรับการดาวน์โหลด CSV และการสร้างรายงานผ่านอินเทอร์เฟซเว็บ true
route string(3) รหัสประจำตัว 3 ตัวอักษรที่ระบุเส้นทางที่ใช้สำหรับคำขอค้นหานี้ true
error_code integer รหัสข้อผิดพลาดภายในที่ให้บริบทเพิ่มเติมสำหรับการวินิจฉัยของฝ่ายสนับสนุนลูกค้า (ถ้ามี) true
เลื่อนขึ้น

POST/nt-lookupได้รับการป้องกัน

เรียกใช้การตรวจสอบประเภทหมายเลข (NT) แบบซิงโครนัส Endpoint นี้เหมาะสำหรับกรณีที่เป้าหมายหลักของคุณคือการระบุว่าหมายเลขโทรศัพท์ที่ให้มาเป็นประเภทโทรศัพท์บ้าน มือถือ หมายเลขพิเศษ VoIP เพจเจอร์ หรือช่วงหมายเลขอื่นๆ ในแผนหมายเลขโทรศัพท์แบบเรียลไทม์

การสอบถาม NT สามารถตรวจจับประเภทหมายเลขโทรศัพท์ได้อย่างน่าเชื่อถือ อย่างไรก็ตาม ไม่สามารถระบุได้ว่าหมายเลขปลายทางเชื่อมต่อกับเครือข่ายและสามารถติดต่อได้ในขณะนี้หรือไม่ หากต้องการข้อมูลการเชื่อมต่อแบบเรียลไทม์ กรุณาใช้ endpoint POST /hlr-lookup

หากกรณีการใช้งานของคุณต้องการข้อมูลเครือข่ายและการพกพาหมายเลข (MCCMNC) ที่แม่นยำ แต่ไม่ต้องการสถานะการเชื่อมต่อแบบเรียลไทม์ กรุณาใช้ endpoint POST /mnp-lookup สำหรับการสอบถามการพกพาหมายเลขมือถือ

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด ข้อมูลอ้างอิงประเภท
curl -X POST 'https://www.hlr-lookups.com/api/v2/nt-lookup' \
          -d "@payload.json"

Payload

{
   "number":"+14156226819",
   "route":null,
   "storage":null
}

พารามิเตอร์คำขอ

Key ประเภท คำอธิบาย ค่าเริ่มต้น จำเป็น
number string หมายเลขโทรศัพท์ในรูปแบบสากล (เช่น +4989702626 หรือ 004989702626) null mandatory
route string(3) ตัวระบุสามตัวอักษรเพิ่มเติมที่ระบุเส้นทางสำหรับการตรวจสอบนี้ ตั้งค่าเป็น null หรือละเว้นพารามิเตอร์นี้เพื่อใช้แผนผังเส้นทางที่กำหนดเองของคุณ หรือให้ระบบของเรากำหนดเส้นทางที่ดีที่สุดโดยอัตโนมัติสำหรับคำขอนี้ null ไม่บังคับ
storage string ตัวระบุที่เก็บข้อมูลเสริมที่ระบุรายงานที่ผลลัพธ์จะถูกจัดเก็บไว้สำหรับการตรวจสอบด้วยตนเอง การวิเคราะห์ และการรายงาน ระบบจะเพิ่มการประทับเวลาพร้อมเดือนปัจจุบันโดยอัตโนมัติ หากละเว้นหรือตั้งค่าเป็น null ระบบจะจัดกลุ่มผลลัพธ์ตามเดือนโดยอัตโนมัติเพื่อวัตถุประสงค์ในการรายงาน null ไม่บังคับ
{
     "id":"2ed0788379c6",
     "number":"+4989702626",
     "number_type":"LANDLINE",
     "query_status":"OK",
     "is_valid":true,
     "invalid_reason":null,
     "is_possibly_ported":false,
     "is_vanity_number":false,
     "qualifies_for_hlr_lookup":false,
     "mccmnc":null,
     "mcc":null,
     "mnc":null,
     "original_network_name":null,
     "original_country_name":"Germany",
     "original_country_code":"DE",
     "regions":[
        "Munich"
     ],
     "timezones":[
        "Europe/Berlin"
     ],
     "info_text":"This is a landline number.",
     "cost":"0.0050",
     "timestamp":"2015-12-04 10:36:41.866283+00",
     "storage":"SYNC-API-NT-2015-12",
     "route":"LC1"
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
id string(12) รหัสเฉพาะที่กำหนดให้กับคำขอค้นหานี้ false
number string หมายเลขโทรศัพท์ที่ได้รับการตรวจสอบในคำขอค้นหานี้ false
number_type string ประเภทหมายเลขที่ตรวจพบ ค่าที่เป็นไปได้ ได้แก่: LANDLINE , MOBILE , MOBILE_OR_LANDLINE , TOLL_FREE , PREMIUM_RATE , SHARED_COST , VOIP , PAGER , UAN , VOICEMAIL , UNKNOWN false
query_status string ระบุว่าได้รับข้อมูลประเภทหมายเลขสำเร็จหรือไม่ คืนค่า OK หากสำเร็จ หรือ FAILED หากการค้นหาล้มเหลว false
is_valid boolean ระบุว่าหมายเลขโทรศัพท์มีรูปแบบที่ถูกต้องหรือไม่ true
invalid_reason string ข้อความภาษาอังกฤษที่ระบุเหตุผลว่าทำไมหมายเลขโทรศัพท์ถือว่าไม่ถูกต้อง (เช่น "too short" หรือ "invalid prefix") หรือ null หากหมายเลขถูกต้อง true
is_possibly_ported boolean ระบุว่าหมายเลขโทรศัพท์อาจถูกโอนย้ายจากผู้ให้บริการเดิมไปยังผู้ให้บริการอื่นหรือไม่ สำหรับข้อมูลการโอนย้ายที่แน่ชัด ใช้ MNP lookups true
is_vanity_number boolean ระบุว่าหมายเลขโทรศัพท์เป็นหมายเลขพิเศษหรือไม่ ซึ่งหมายถึงมีตัวอักษรรวมอยู่ด้วย true
qualifies_for_hlr_lookup boolean ระบุว่าหมายเลขโทรศัพท์มีสิทธิ์สำหรับการค้นหาเพิ่มเติมผ่าน HLR lookups หรือไม่ true
mccmnc string(5|6) สตริงห้าหรือหกตัวอักษรที่แสดงคู่ MCCMNC (รหัสประเทศมือถือและรหัสเครือข่ายมือถือ) ที่ระบุเครือข่ายเดิมของหมายเลขโทรศัพท์มือถือ true
mcc string(3) สตริงสามตัวอักษรที่แสดง MCC (รหัสประเทศมือถือ) ที่ระบุประเทศที่เกี่ยวข้องกับเครือข่ายมือถือเดิมของหมายเลขโทรศัพท์ true
mnc string(2|3) สตริงสองหรือสามตัวอักษรที่แสดง MNC (รหัสเครือข่ายมือถือ) ที่ระบุผู้ให้บริการเครือข่ายมือถือเดิมของหมายเลขโทรศัพท์ true
original_network_name string สตริงข้อความภาษาอังกฤษที่ระบุชื่อผู้ให้บริการเครือข่ายเดิมของหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
original_country_name string สตริงข้อความภาษาอังกฤษที่ระบุประเทศเดิมที่เกี่ยวข้องกับหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
original_country_code string(2) รหัสประเทศ ISO สองตัวอักษรที่ระบุประเทศเดิมของหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
regions array รายการสตริงภาษาอังกฤษที่อ่านง่ายซึ่งระบุภูมิภาคทางภูมิศาสตร์ที่เกี่ยวข้องกับหมายเลขโทรศัพท์นี้ true
timezones array รายการเขตเวลา (ในรูปแบบ Olson) ที่เกี่ยวข้องกับหมายเลขโทรศัพท์นี้ true
info_text string สตริงที่อาจมีข้อมูลเพิ่มเติมเกี่ยวกับหมายเลขโทรศัพท์ true
cost string ค่าทศนิยมที่แสดงเป็นสตริง ระบุค่าใช้จ่าย (เป็น EUR) ของการค้นหานี้ true
timestamp string ประทับเวลาในรูปแบบ W3C (รวมเขตเวลา) ที่ระบุเวลาที่การค้นหาเสร็จสมบูรณ์ true
storage string ระบุชื่อที่เก็บข้อมูลที่ผลการค้นหาถูกเพิ่มเข้าไป ซึ่งสอดคล้องกับชื่อรายงานที่ใช้สำหรับการดาวน์โหลด CSV และการวิเคราะห์ผ่านอินเทอร์เฟซเว็บ true
route string(3) รหัสประจำตัว 3 ตัวอักษรที่ระบุเส้นทางที่ใช้สำหรับคำขอค้นหานี้ true
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
ประเภท คำอธิบาย
LANDLINE หมายเลขโทรศัพท์พื้นฐาน
MOBILE หมายเลขโทรศัพท์มือถือ สามารถใช้งาน HLR Lookup เพื่อตรวจสอบสถานะการเชื่อมต่อ เครือข่าย ข้อมูลการย้ายค่าย และข้อมูลโรมมิ่งเพิ่มเติม
MOBILE_OR_LANDLINE หมายเลขโทรศัพท์พื้นฐานหรือมือถือ อาจสามารถใช้งาน HLR Lookup ได้
TOLL_FREE หมายเลขโทรฟรี
PREMIUM_RATE หมายเลขโทรศัพท์พรีเมียมที่มีค่าใช้จ่ายเพิ่มเติม
SHARED_COST หมายเลขโทรศัพท์แบ่งค่าใช้จ่าย โดยทั่วไปมีค่าใช้จ่ายต่ำกว่าหมายเลขพรีเมียม
VOIP หมายเลขโทรศัพท์ Voice over IP รวมถึงหมายเลข TSoIP (Telephony Service over IP)
PAGER หมายเลขเพจเจอร์ โดยทั่วไปไม่มีฟังก์ชันการโทร
UAN หมายเลขเข้าถึงสากล (หมายเลขบริษัท) อาจถูกเชื่อมต่อไปยังสำนักงานเฉพาะ แต่ช่วยให้ใช้หมายเลขเดียวสำหรับทั้งบริษัท
VOICEMAIL หมายเลขโทรศัพท์ Voice Mail
UNKNOWN ไม่สามารถระบุประเภทหมายเลขได้
เลื่อนขึ้น

POST/nt-lookups ได้รับการป้องกัน

endpoint นี้เรียกใช้การตรวจสอบประเภทหมายเลขแบบอะซิงโครนัสหลายรายการ โดยส่งผลลัพธ์กลับไปยังเซิร์ฟเวอร์ของคุณผ่าน webhook เหมาะสมหากเป้าหมายหลักของคุณคือการระบุว่าหมายเลขโทรศัพท์ที่กำหนดเป็นของเครือข่ายโทรศัพท์พื้นฐาน มือถือ เบอร์พิเศษ VoIP เพจเจอร์ หรือช่วงหมายเลขอื่นๆ ในแผนหมายเลข ได้รับการปรับให้เหมาะสมสำหรับการประมวลผลหมายเลขจำนวนมากอย่างรวดเร็ว endpoint นี้เหมาะสำหรับการดำเนินการจำนวนมาก (เช่น การทำความสะอาดฐานข้อมูล) สำหรับการใช้งานแบบเรียลไทม์และกรณีที่มีข้อจำกัดด้านเวลา โปรดใช้ endpoint POST /nt-lookup แทน

คุณต้องระบุ URL ของ webhook ในการตั้งค่า API ของคุณเป็นข้อกำหนดเบื้องต้นในการเรียกใช้ endpoint นี้

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด Webhooks ข้อมูลอ้างอิงประเภท
curl -X POST 'https://www.hlr-lookups.com/api/v2/nt-lookups' \
          -d "@payload.json"

Payload

{
   "numbers":["+14156226819","+4989702626"],
   "route":null,
   "storage":null
}

พารามิเตอร์คำขอ

Key ประเภท คำอธิบาย ค่าเริ่มต้น จำเป็น
numbers array อาร์เรย์ของหมายเลขโทรศัพท์ในรูปแบบสากล (เช่น +14156226819 หรือ 004989702626) สามารถรวมหมายเลขได้สูงสุด 1000 หมายเลขต่อคำขอ null จำเป็น
route string(3) ตัวระบุสามตัวอักษรเพิ่มเติมที่ระบุเส้นทางสำหรับการค้นหานี้ ตั้งค่าเป็น null หรือละเว้นพารามิเตอร์นี้เพื่อใช้แผนที่เส้นทางแบบกำหนดเองของคุณ หรือให้ระบบของเรากำหนดโดยอัตโนมัติเส้นทางที่ดีที่สุดสำหรับคำขอนี้ null ไม่บังคับ
storage string ตัวระบุที่เก็บข้อมูลเสริมที่ระบุรายงานที่ผลลัพธ์จะถูกจัดเก็บไว้สำหรับการตรวจสอบด้วยตนเอง การวิเคราะห์ และการรายงาน ระบบจะเพิ่มการประทับเวลาพร้อมเดือนปัจจุบันโดยอัตโนมัติ หากละเว้นหรือตั้งค่าเป็น null ระบบจะจัดกลุ่มผลลัพธ์ตามเดือนโดยอัตโนมัติเพื่อวัตถุประสงค์ในการรายงาน null ไม่บังคับ
{
   "accepted":[
      {
         "id":"9f8a52cfa7d2",
         "number":"+905536939460"
      }
   ],
   "accepted_count":1,
   "rejected":[
      {
         "id":null,
         "number":"+31"
      }
   ],
   "rejected_count":2,
   "total_count":3,
   "cost":0.005,
   "storage":"ASYNC-API-NT-2020-08",
   "route":"LC1",
   "webhook_urls":[
      "https://your-server.com/endpoint"
   ]
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
accepted array อาร์เรย์ของออบเจ็กต์ แต่ละออบเจ็กต์ประกอบด้วยตัวระบุที่ไม่ซ้ำกันและหมายเลขโทรศัพท์ที่ได้รับการยอมรับให้ดำเนินการประมวลผล false
accepted_count integer จำนวนรวมของหมายเลขโทรศัพท์ที่ได้รับการยอมรับให้ดำเนินการประมวลผล false
rejected array อาร์เรย์ของออบเจ็กต์ แต่ละออบเจ็กต์ประกอบด้วยตัวระบุที่ไม่ซ้ำกันและหมายเลขโทรศัพท์ที่ถูกปฏิเสธจากการประมวลผล โดยทั่วไปหมายเลขเหล่านี้ไม่ถูกต้อง และจะไม่มีการเรียกเก็บค่าใช้จ่าย false
rejected_count integer จำนวนรวมของหมายเลขโทรศัพท์ที่ถูกปฏิเสธจากการประมวลผล false
total_count integer จำนวนรวมของหมายเลขโทรศัพท์ที่ได้รับการยอมรับและถูกปฏิเสธที่ส่งมาเพื่อดำเนินการประมวลผล false
cost string สตริงที่แสดงค่าทศนิยมซึ่งระบุต้นทุนเป็นสกุลเงินยูโรสำหรับการค้นหาเหล่านี้ false
storage string ชื่อของที่เก็บข้อมูล (รายงาน) ที่ผลลัพธ์การค้นหาถูกเพิ่มเข้าไป ชื่อนี้ใช้สำหรับการดาวน์โหลด CSV และการวิเคราะห์ผ่านอินเทอร์เฟซเว็บ false
route string(3) ตัวระบุสามตัวอักษรที่ระบุเส้นทางที่ใช้สำหรับคำขอค้นหานี้ false
webhook_urls array webhook URLs ที่กำหนดค่าไว้ในการตั้งค่า API ของคุณ ผลลัพธ์จะถูกส่งกลับมาที่นี่ false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false

การประมวลผล Webhook

เมื่อส่งคำขอแล้ว ระบบของเราจะเริ่มประมวลผลหมายเลขโทรศัพท์ที่ระบุ และส่งผลลัพธ์ไปยัง URL ของ Webhook ที่กำหนดไว้บนเซิร์ฟเวอร์ของคุณ ผลลัพธ์จะถูกส่งในรูปแบบคำขอ HTTP POST พร้อมกับออบเจ็กต์ JSON ในเนื้อหาของคำขอ

การยืนยันตัวตน

ยืนยันตัวตน Webhook โดยตรวจสอบ HTTP header X-Signatures

Header X-Signatures ประกอบด้วยรายการลายเซ็นที่คั่นด้วยเครื่องหมายอัฒภาค ลายเซ็นแต่ละรายการจะถูกสร้างขึ้นโดยใช้ API secret ที่กำหนดค่าไว้ในบัญชีของคุณ ในการตรวจสอบ Webhook ให้สร้าง SHA-256 hash โดยใช้ API key, secret และ HTTP body ดิบของคุณ จากนั้นเปรียบเทียบกับลายเซ็นในรายการ

หากตรงกันแสดงว่าคำขอนั้นถูกต้องและลงนามด้วย secret ที่คุณควบคุม

PHP ตัวอย่างโค้ด

$signaturesHeader = (getallheaders() ?? [])['X-Signatures'] ?? ''; // list of signatures
$key = getenv('AUTH_KEY'); // Your API Key
$secret = getenv('AUTH_SECRET'); // Your API Secret
$payload = file_get_contents('php://input'); // The HTTP body of the incoming POST request

// Generate the expected signature
$expectedSignature = hash('sha256', $key . $secret . $payload);

// Split the header into individual signatures
$providedSignatures = explode(';', $signaturesHeader);

// Check if any signature matches
$valid = false;
foreach ($providedSignatures as $sig) {
    if (hash_equals($expectedSignature, $sig)) {
        $valid = true;
        break;
    }
}

คำขอจะถูกต้องหากลายเซ็นใดๆ ใน header ตรงกับ SHA256 hash ที่คำนวณจากสตริงที่เชื่อมต่อกันของ API key, secret และ HTTP body ของคุณ

การยืนยันการรับข้อมูล

เซิร์ฟเวอร์ของคุณต้องตอบกลับด้วย HTTP status code 200 OK เพื่อยืนยันการรับข้อมูลสำเร็จ หากมีการตอบกลับด้วย status code อื่น เกิด timeout (10 วินาที) หรือปัญหาการส่งข้อมูลอื่นๆ ระบบจะลองส่ง Webhook อีกครั้งโดยอัตโนมัติหลังจากหนึ่งนาที หากคำขอยังคงล้มเหลวต่อไป การลองใหม่จะใช้กลยุทธ์ exponential backoff โดยพยายามอีกครั้งหลังจาก 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 นาที

กลไกการลองใหม่นี้ช่วยให้มั่นใจในความน่าเชื่อถือสูงสุดในการส่งผลลัพธ์การค้นหาไปยังโครงสร้างพื้นฐานของคุณ ช่วยลดความเสี่ยงของการสูญหายข้อมูลจากปัญหาเครือข่ายชั่วคราวหรือเซิร์ฟเวอร์หยุดทำงาน

Webhook Payload

{
   "type":"NT",
   "results":[
      {
         "id":"9f8a52cfa7d2",
         "number":"+905536939460",
         "numbertype":"MOBILE",
         "state":"COMPLETED",
         "isvalid":"Yes",
         "invalidreason":null,
         "ispossiblyported":"Yes",
         "isvanitynumber":"No",
         "qualifiesforhlrlookup":"Yes",
         "originalcarrier":"Turk Telekom (AVEA)",
         "mccmnc":"28603",
         "mcc":"286",
         "mnc":"03",
         "countrycode":"TR",
         "regions":[
            "Turkey"
         ],
         "timezones":[
            "Europe\/Istanbul"
         ],
         "infotext":"This number qualifies for HLR lookups. Determine if this subscriber number is connected, absent or invalid by running an HLR lookup. This is a mobile number and might be in roaming state. Run an HLR lookup to obtain roaming information (if available). This number is possibly ported and the carrier information might be inaccurate. To obtain portability information run an HLR lookup.",
         "usercharge":"0.0050",
         "inserttime":"2020-08-13 01:57:15.897+0300",
         "storage":"ASYNC-API-NT-2020-08",
         "route":"LC1",
         "interface":"Async API"
      }
   ]
}

แอตทริบิวต์ของ Webhook Payload

ออบเจ็กต์ JSON มีแอตทริบิวต์ type => NT พร้อมกับแอตทริบิวต์ results ที่รวมรายการของออบเจ็กต์การตรวจสอบตามที่ระบุไว้ด้านล่าง

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
id string(12) รหัสเฉพาะที่กำหนดให้กับคำขอค้นหานี้ false
number string หมายเลขโทรศัพท์ที่ได้รับการตรวจสอบในคำขอค้นหานี้ false
number_type string ประเภทหมายเลขที่ตรวจพบ ค่าที่เป็นไปได้ ได้แก่: LANDLINE , MOBILE , MOBILE_OR_LANDLINE , TOLL_FREE , PREMIUM_RATE , SHARED_COST , VOIP , PAGER , UAN , VOICEMAIL , UNKNOWN false
query_status string ระบุว่าได้รับข้อมูลประเภทหมายเลขสำเร็จหรือไม่ คืนค่า OK หากสำเร็จ หรือ FAILED หากการค้นหาล้มเหลว false
is_valid boolean ระบุว่าหมายเลขโทรศัพท์มีรูปแบบที่ถูกต้องหรือไม่ true
invalid_reason string ข้อความภาษาอังกฤษที่ระบุเหตุผลว่าทำไมหมายเลขโทรศัพท์ถือว่าไม่ถูกต้อง (เช่น "too short" หรือ "invalid prefix") หรือ null หากหมายเลขถูกต้อง true
is_possibly_ported boolean ระบุว่าหมายเลขโทรศัพท์อาจถูกโอนย้ายจากผู้ให้บริการเดิมไปยังผู้ให้บริการอื่นหรือไม่ สำหรับข้อมูลการโอนย้ายที่แน่ชัด ใช้ MNP lookups true
is_vanity_number boolean ระบุว่าหมายเลขโทรศัพท์เป็นหมายเลขพิเศษหรือไม่ ซึ่งหมายถึงมีตัวอักษรรวมอยู่ด้วย true
qualifies_for_hlr_lookup boolean ระบุว่าหมายเลขโทรศัพท์มีสิทธิ์สำหรับการค้นหาเพิ่มเติมผ่าน HLR lookups หรือไม่ true
mccmnc string(5|6) สตริงห้าหรือหกตัวอักษรที่แสดงคู่ MCCMNC (รหัสประเทศมือถือและรหัสเครือข่ายมือถือ) ที่ระบุเครือข่ายเดิมของหมายเลขโทรศัพท์มือถือ true
mcc string(3) สตริงสามตัวอักษรที่แสดง MCC (รหัสประเทศมือถือ) ที่ระบุประเทศที่เกี่ยวข้องกับเครือข่ายมือถือเดิมของหมายเลขโทรศัพท์ true
mnc string(2|3) สตริงสองหรือสามตัวอักษรที่แสดง MNC (รหัสเครือข่ายมือถือ) ที่ระบุผู้ให้บริการเครือข่ายมือถือเดิมของหมายเลขโทรศัพท์ true
original_network_name string สตริงข้อความภาษาอังกฤษที่ระบุชื่อผู้ให้บริการเครือข่ายเดิมของหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
original_country_name string สตริงข้อความภาษาอังกฤษที่ระบุประเทศเดิมที่เกี่ยวข้องกับหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
original_country_code string(2) รหัสประเทศ ISO สองตัวอักษรที่ระบุประเทศเดิมของหมายเลขโทรศัพท์มือถือที่ตรวจสอบ true
regions array รายการสตริงภาษาอังกฤษที่อ่านง่ายซึ่งระบุภูมิภาคทางภูมิศาสตร์ที่เกี่ยวข้องกับหมายเลขโทรศัพท์นี้ true
timezones array รายการเขตเวลา (ในรูปแบบ Olson) ที่เกี่ยวข้องกับหมายเลขโทรศัพท์นี้ true
info_text string สตริงที่อาจมีข้อมูลเพิ่มเติมเกี่ยวกับหมายเลขโทรศัพท์ true
cost string ค่าทศนิยมที่แสดงเป็นสตริง ระบุค่าใช้จ่าย (เป็น EUR) ของการค้นหานี้ true
timestamp string ประทับเวลาในรูปแบบ W3C (รวมเขตเวลา) ที่ระบุเวลาที่การค้นหาเสร็จสมบูรณ์ true
storage string ระบุชื่อที่เก็บข้อมูลที่ผลการค้นหาถูกเพิ่มเข้าไป ซึ่งสอดคล้องกับชื่อรายงานที่ใช้สำหรับการดาวน์โหลด CSV และการวิเคราะห์ผ่านอินเทอร์เฟซเว็บ true
route string(3) รหัสประจำตัว 3 ตัวอักษรที่ระบุเส้นทางที่ใช้สำหรับคำขอค้นหานี้ true
ประเภท คำอธิบาย
LANDLINE หมายเลขโทรศัพท์พื้นฐาน
MOBILE หมายเลขโทรศัพท์มือถือ สามารถใช้งาน HLR Lookup เพื่อตรวจสอบสถานะการเชื่อมต่อ เครือข่าย ข้อมูลการย้ายค่าย และข้อมูลโรมมิ่งเพิ่มเติม
MOBILE_OR_LANDLINE หมายเลขโทรศัพท์พื้นฐานหรือมือถือ อาจสามารถใช้งาน HLR Lookup ได้
TOLL_FREE หมายเลขโทรฟรี
PREMIUM_RATE หมายเลขโทรศัพท์พรีเมียมที่มีค่าใช้จ่ายเพิ่มเติม
SHARED_COST หมายเลขโทรศัพท์แบ่งค่าใช้จ่าย โดยทั่วไปมีค่าใช้จ่ายต่ำกว่าหมายเลขพรีเมียม
VOIP หมายเลขโทรศัพท์ Voice over IP รวมถึงหมายเลข TSoIP (Telephony Service over IP)
PAGER หมายเลขเพจเจอร์ โดยทั่วไปไม่มีฟังก์ชันการโทร
UAN หมายเลขเข้าถึงสากล (หมายเลขบริษัท) อาจถูกเชื่อมต่อไปยังสำนักงานเฉพาะ แต่ช่วยให้ใช้หมายเลขเดียวสำหรับทั้งบริษัท
VOICEMAIL หมายเลขโทรศัพท์ Voice Mail
UNKNOWN ไม่สามารถระบุประเภทหมายเลขได้
เลื่อนขึ้น

GET/routeได้รับการป้องกัน

ดึงข้อมูลเส้นทางที่จะถูกเลือกโดยอัตโนมัติเมื่อคุณทำการค้นหา HLR โดยไม่ระบุพารามิเตอร์ route

การเลือกเส้นทางอัตโนมัติจะขึ้นอยู่กับแผนที่การกำหนดเส้นทางที่สามารถดึงข้อมูลได้จาก endpoint GET /hlr-coverage ซึ่งได้มาจาก GET /routing-map เป็นหลัก คุณสามารถปรับแต่งแผนที่การกำหนดเส้นทางและกำหนดกฎที่กำหนดเองได้ในการตั้งค่าบัญชีของคุณ

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/route?msisdn=+491788735000'

พารามิเตอร์คำขอ

Key ประเภท คำอธิบาย ค่าเริ่มต้น จำเป็น
msisdn string หมายเลข MSISDN ที่ต้องการดึงข้อมูลการกำหนดเส้นทางที่เลือกโดยอัตโนมัติ null จำเป็น
{
   "route":"V11",
   "confidence_level":"HIGH",
   "mccmnc":"26203",
   "origin":"SCORE"
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
route string เส้นทางที่แนะนำ false
confidence_level string ระดับความเชื่อมั่นที่ใช้เลือกเส้นทางนี้ เช่น LOW, NORMAL, HIGH, MNP_FALLBACK false
mccmnc string MCCMNC ตามแผนหมายเลขสำหรับหมายเลขนี้ false
origin string แหล่งที่มาที่ใช้เป็นพื้นฐานในการตัดสินใจกำหนดเส้นทาง เช่น SCORE, CUSTOM_GLOBAL_COUNTRY, CUSTOM_GLOBAL_MCCMNC, CUSTOM_GLOBAL_PREFIX, CUSTOM_USER_COUNTRY, CUSTOM_USER_MCCMNC, CUSTOM_USER_PREFIX, MNP_FALLBACK, PLATFORM_DEFAULT, USER_DEFAULT false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

GET/routesได้รับการป้องกัน

API endpoint นี้จะส่งคืนรายการเส้นทาง HLR, MNP และ NT ที่พร้อมใช้งาน แต่ละเส้นทาง พร้อมทั้งคุณสมบัติและข้อจำกัด จะมีคำอธิบายอยู่ในหน้า รายละเอียดเส้นทาง

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/routes'
{
   "routes":{
      "HLR":[
         "V11",
         "E10",
         "MS9",
         "DV8",
         "SV3",
         "IP1"
      ],
      "MNP":[
         "PTX",
         "IP4"
      ],
      "NT":[
         "LC1"
      ]
   }
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
routes object ออบเจ็กต์ที่มีเส้นทางจัดกลุ่มตามประเภทเส้นทาง false
HLR|MNP|NT string[] ประกอบด้วยรายการตัวระบุเส้นทาง false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

GET/routing-mapได้รับการป้องกัน

ดึงข้อมูลการกำหนดค่าเส้นทางอัตโนมัติที่ใช้งานอยู่สำหรับ HLR Lookups ในบัญชีของคุณ การกำหนดค่าเริ่มต้นนี้จะถูกใช้เมื่อคุณส่งคำขอ HLR lookups โดยไม่ระบุพารามิเตอร์ route คุณสามารถปรับแต่งแผนที่เส้นทางและสร้างกฎที่กำหนดเองได้ในการตั้งค่าบัญชีของคุณ

ลำดับชั้นการกำหนดค่าจะทำงานแบบเรียงลำดับจากกฎระดับประเทศไปยังกฎระดับ MCCMNC และสุดท้ายไปยังการแมปคำนำหน้าหมายเลขโทรศัพท์แต่ละรายการ ในทางปฏิบัติ หมายความว่าการแมปคำนำหน้าหมายเลขโทรศัพท์แต่ละรายการจะมีลำดับความสำคัญสูงกว่าการกำหนด MCCMNC ที่ขัดแย้งกัน ซึ่งจะมีผลเหนือกฎระดับประเทศ โปรดทราบว่า MNP fallback จะมีผลเหนือกฎที่กำหนดเองที่ขัดแย้งกันใดๆ ขณะที่เปิดใช้งานอยู่

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/routing-map'
{
   "routing":{
      "map":{
         "defaultRoute":"V11",
         "mnpFallback":true,
         "mccmncs":[
            {
               "mccmnc":20201,
               "countrycode":"GR",
               "route":"E10",
               "mno":"Cosmote",
               "confidence":"HIGH",
               "origin":"SCORE"
            }
         ],
         "prefixes":[
            {
               "countrycode":"DE",
               "cns":"+4917821",
               "route":"DV8",
               "mccmnc":"26203",
               "mno":"O2"
            }
         ],
         "countries":[
            {
               "countrycode":"US",
               "route":"DV8"
            }
         ]
      }
   }
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
default_route string เส้นทางเริ่มต้นที่ใช้เมื่อไม่สามารถกำหนดตัวเลือกเส้นทางที่ต้องการสำหรับ MSISDN และไม่มีกฎเส้นทางที่กำหนดเองที่ใช้ได้ false
mnp_fallback boolean ระบุว่าเปิดใช้งาน MNP fallback หรือไม่ เมื่อเปิดใช้งานและการสอบถาม HLR ไม่ได้รับการสนับสนุนจากเครือข่าย (สถานะการเชื่อมต่อไม่พร้อมใช้งาน) ระบบจะทำการค้นหา MNP แทน false
mccmncs array การแมปรหัส MCCMNC กับเส้นทางที่เลือกโดยอัตโนมัติ เมื่อทำการค้นหา HLR สำหรับหมายเลขใน MCCMNC ที่กำหนด จะใช้เส้นทางที่สอดคล้องกัน false
mccmnc string(5|6) รหัส MCCMNC ห้าหรือหกตัวอักษร (รหัสประเทศมือถือและรหัสเครือข่ายมือถือรวมกัน) ที่ระบุผู้ให้บริการเครือข่ายมือถือ false
countrycode string(2) รหัสประเทศ ISO สองตัวอักษร ระบุประเทศของเครือข่าย false
route string(3) เส้นทางที่เลือกสำหรับเครือข่าย false
mno string แบรนด์ที่ใช้ในการให้บริการลูกค้าของเครือข่ายนี้ false
confidence string ระดับความเชื่อมั่นที่ใช้ในการเลือก ค่าที่เป็นไปได้คือ: HIGH, NORMAL, LOW, MNP_REDIRECT ในกรณีของค่าสุดท้าย ระบบจะเปลี่ยนเส้นทางการรับส่งข้อมูลไปยังเครือข่ายนี้ไปที่ MNP หากเปิดใช้งานพฤติกรรมนี้ในบัญชีของคุณ มิฉะนั้นจะใช้เส้นทางเริ่มต้นในบัญชี false
origin string แหล่งที่มาที่ใช้เป็นพื้นฐานในการเลือก ค่าที่เป็นไปได้คือ: SCORE, CUSTOM_GLOBAL_COUNTRY, CUSTOM_GLOBAL_MCCMNC, CUSTOM_GLOBAL_PREFIX, CUSTOM_USER_COUNTRY, CUSTOM_USER_MCCMNC, CUSTOM_USER_PREFIX, MNP_FALLBACK, PLATFORM_DEFAULT, USER_DEFAULT false
prefixes array รายการกฎเส้นทางตามคำนำหน้าที่กำหนดเองในบัญชีของคุณ (ถ้ามี) false
countrycode string(2) รหัสประเทศ ISO สองตัวอักษร ระบุประเทศของคำนำหน้า false
cns string คำนำหน้าที่ใช้กฎเส้นทาง false
route string(3) เส้นทางที่เลือกสำหรับคำนำหน้า false
mccmnc string(5|6) รหัส MCCMNC ห้าหรือหกตัวอักษร (รหัสประเทศมือถือและรหัสเครือข่ายมือถือรวมกัน) ที่ระบุผู้ให้บริการเครือข่ายมือถือ true
mno string แบรนด์ที่ใช้ในการให้บริการลูกค้าของเครือข่ายนี้ true
countries array รายการกฎตามประเทศที่กำหนดเองในบัญชีของคุณ (ถ้ามี) false
countrycode string(2) รหัสประเทศ ISO สองตัวอักษร ระบุประเทศ false
route string(3) เส้นทางที่เลือกสำหรับประเทศ false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

GET/hlr-coverage ได้รับการป้องกัน

ให้ข้อมูลเชิงลึกเกี่ยวกับความครอบคลุมของ HLR เพื่อสนับสนุนการตัดสินใจที่ขับเคลื่อนด้วยข้อมูล endpoint นี้ช่วยให้คุณวิเคราะห์ตัวเลือกการกำหนดเส้นทาง HLR แบบเรียลไทม์ในเครือข่ายมือถือ ระบุเส้นทางที่มีประสิทธิภาพสูงสุดสำหรับภูมิภาคเป้าหมายของคุณ และกำหนดค่าการกำหนดเส้นทางอัตโนมัติของคุณ

เส้นทางที่แนะนำจาก GET /route จะอิงตามข้อมูลความครอบคลุมที่ดึงมาจากที่นี่ ข้อมูลความครอบคลุมยังมีให้บริการในหน้า ความครอบคลุมเครือข่าย คุณสามารถปรับแต่งแผนที่เส้นทางและกำหนดกฎเพิ่มเติมได้ใน การตั้งค่าบัญชี ของคุณ

เราแนะนำให้ทำความคุ้นเคยกับ คู่มือ นี้เพื่อช่วยในการตีความผลลัพธ์

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด ข้อมูลอ้างอิงสถานะ
curl 'https://www.hlr-lookups.com/api/v2/hlr-coverage?countrycode=XX'

พารามิเตอร์คำขอ

Key ประเภท คำอธิบาย ค่าเริ่มต้น จำเป็น
countrycode string(2) รหัสประเทศ ISO สองตัวอักษรที่จำเป็นต้องใช้เพื่อกรองผลลัพธ์ โดยจะแสดงเฉพาะข้อมูลที่เกี่ยวข้องกับประเทศที่ระบุ null จำเป็น
sample_size string พารามิเตอร์เสริมที่ระบุขนาดตัวอย่าง ค่าที่เป็นไปได้คือ LARGE, MEDIUM, SMALL ตัวอย่างขนาดใหญ่จะครอบคลุมช่วงเวลาที่ยาวนานขึ้น ตัวอย่างขนาดเล็กจะครอบคลุมช่วงเวลาล่าสุด LARGE ไม่บังคับ
{
   "name":"Germany",
   "countrycode":"DE",
   "prefix":"+49",
   "mccs":[
      "262"
   ],
   "carriers":[
      {
         "mno":"Telekom",
         "mccmnc":"26201",
         "mcc":"262",
         "mnc":"01 ",
         "routes":[
            {
               "route":"V11",
               "selected":true,
               "selection_confidence":"HIGH",
               "n":361579,
               "CONNECTED":275273,
               "CONNECTED_PCT":76.13,
               "ABSENT":21529,
               "ABSENT_PCT":5.95,
               "INVALID_MSISDN":62582,
               "INVALID_MSISDN_PCT":17.3,
               "UNDETERMINED":2195,
               "UNDETERMINED_PCT":0.6
            },
            {
               "route":"E10",
               "selected":false,
               "selection_confidence":null,
               "n":122600,
               "CONNECTED":13721,
               "CONNECTED_PCT":11.19,
               "ABSENT":133,
               "ABSENT_PCT":0.1,
               "INVALID_MSISDN":55,
               "INVALID_MSISDN_PCT":0.04,
               "UNDETERMINED":108691,
               "UNDETERMINED_PCT":88.65
            }
         ]
      }
   ]
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
name string ชื่อประเทศที่เลือกในข้อความภาษาอังกฤษ false
countrycode string(2) รหัสประเทศ ISO สองตัวอักษรของประเทศที่เลือก false
prefix string รหัสโทรศัพท์ระหว่างประเทศของประเทศที่เลือก false
mccs string[] รายการ MCC (รหัสประเทศมือถือ) ที่เกี่ยวข้องกับประเทศที่เลือก false
carriers object[] รายการออบเจ็กต์ผู้ให้บริการพร้อมเมตริกการเชื่อมต่อเฉพาะเส้นทาง false
mno string ชื่อผู้ให้บริการเครือข่ายมือถือในข้อความภาษาอังกฤษ false
mccmnc string MCCMNC ของผู้ให้บริการเครือข่ายมือถือ false
mcc string MCC (รหัสประเทศมือถือ) ของผู้ให้บริการเครือข่ายมือถือ false
mnc string MNC (รหัสเครือข่ายมือถือ) ของผู้ให้บริการเครือข่ายมือถือ false
routes object[] รายการผลลัพธ์การเชื่อมต่อเฉพาะเส้นทาง false
route string เส้นทางที่ใช้ข้อมูลการเชื่อมต่อ false
selected bool ระบุว่านี่คือเส้นทางที่เลือกสำหรับการกำหนดเส้นทางอัตโนมัติหรือไม่ false
selection_confidence string ระดับความเชื่อมั่นที่ใช้เลือกเส้นทางนี้ เช่น LOW, NORMAL, HIGH, MNP_FALLBACK มีค่า null หากนี่ไม่ใช่เส้นทางที่เลือก true
n int จำนวนการค้นหาทั้งหมดในตัวอย่างนี้ false
CONNECTED int จำนวนการค้นหา HLR ที่ส่งคืนสถานะ CONNECTED false
CONNECTED_PCT float เปอร์เซ็นต์ของการค้นหา HLR ที่ส่งคืนสถานะ CONNECTED false
ABSENT int จำนวนการค้นหา HLR ที่ส่งคืนสถานะ ABSENT false
ABSENT_PCT float เปอร์เซ็นต์ของการค้นหา HLR ที่ส่งคืนสถานะ ABSENT false
INVALID_MSISDN int จำนวนการค้นหา HLR ที่ส่งคืนสถานะ INVALID_MSISDN false
INVALID_MSISDN_PCT float เปอร์เซ็นต์ของการค้นหา HLR ที่ส่งคืนสถานะ INVALID_MSISDN false
UNDETERMINED int จำนวนการค้นหา HLR ที่ส่งคืนสถานะ UNDETERMINED false
UNDETERMINED_PCT float เปอร์เซ็นต์ของการค้นหา HLR ที่ส่งคืนสถานะ UNDETERMINED false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
สถานะ คำอธิบาย
CONNECTED หมายเลขนี้ถูกต้องและอุปกรณ์ปลายทางเชื่อมต่อกับเครือข่ายมือถืออยู่ในขณะนี้ การโทร SMS และบริการอื่นๆ ควรส่งถึงผู้รับได้สำเร็จ
ABSENT หมายเลขนี้ถูกต้อง แต่อุปกรณ์ปลายทางอาจปิดเครื่องหรืออยู่นอกพื้นที่ให้บริการชั่วคราว ข้อความหรือการโทรอาจไม่สามารถส่งได้จนกว่าอุปกรณ์จะเชื่อมต่อกับเครือข่ายอีกครั้ง
INVALID_MSISDN หมายเลขนี้ไม่ถูกต้องหรือไม่ได้รับการกำหนดให้กับผู้ใช้บริการใดๆ บนเครือข่ายมือถือในขณะนี้ การโทรและข้อความไปยังหมายเลขนี้จะล้มเหลว
UNDETERMINED ไม่สามารถระบุสถานะการเชื่อมต่อของหมายเลขนี้ได้ อาจเกิดจากหมายเลขไม่ถูกต้อง การตอบกลับข้อผิดพลาดจาก SS7 หรือการขาดการเชื่อมต่อกับผู้ให้บริการเครือข่ายปลายทาง กรุณาตรวจสอบรหัสข้อผิดพลาดและฟิลด์คำอธิบายเพื่อการวินิจฉัยเพิ่มเติม
เลื่อนขึ้น

GET/mnp-coverageได้รับการป้องกัน

เอนด์พอยต์นี้จะแสดงรายการผู้ให้บริการเครือข่ายมือถือพร้อมรหัส MCCMNC ที่เกี่ยวข้อง ซึ่งรองรับการตรวจสอบการเคลื่อนย้ายหมายเลขมือถือในปัจจุบัน

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/mnp-coverage?countrycode=XX'

พารามิเตอร์คำขอ

Key ประเภท คำอธิบาย ค่าเริ่มต้น จำเป็น
countrycode string(2) รหัสประเทศ ISO สองตัวอักษรที่เป็นตัวเลือก ใช้สำหรับกรองผลลัพธ์ MCCMNC โดยจะแสดงเฉพาะข้อมูลที่เกี่ยวข้องกับประเทศที่ระบุ null ไม่บังคับ
{
   "items":[
      {
         "country_name":"Germany",
         "country_code":"DE",
         "mccmnc":"26201",
         "mcc":"262",
         "mnc":"01 ",
         "brand":"Telekom",
         "operator":"Telekom Deutschland GmbH"
      },
      {
         "country_name":"Germany",
         "country_code":"DE",
         "mccmnc":"26202",
         "mcc":"262",
         "mnc":"02 ",
         "brand":"Vodafone",
         "operator":"Vodafone D2 GmbH"
      }
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
items[] array รายการผู้ให้บริการเครือข่ายมือถือ false
country_name string ชื่อประเทศเป็นภาษาอังกฤษ false
country_code string(2) รหัสประเทศ ISO สองตัวอักษร false
mccmnc string(5|6) รหัส MCCMNC ห้าหรือหกตัวอักษร (รหัสประเทศมือถือและรหัสเครือข่ายมือถือรวมกัน) ที่ระบุผู้ให้บริการเครือข่ายมือถือ false
mcc string(3) รหัส MCC สามตัวอักษร (รหัสประเทศมือถือ) ที่แสดงถึงประเทศของเครือข่าย false
mnc string(2|3) รหัส MNC สองหรือสามตัวอักษร (รหัสเครือข่ายมือถือ) ที่แสดงถึงผู้ให้บริการเครือข่ายมือถือเฉพาะ false
brand string แบรนด์ที่ใช้ในการให้บริการลูกค้าของเครือข่ายนี้ true
operator string ชื่อทางกฎหมายของผู้ให้บริการเครือข่ายมือถือ true
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

GET/price-listได้รับการป้องกัน

เอนด์พอยต์นี้แสดงรายการประเทศที่รองรับเฉพาะการค้นหา MNP และไม่สามารถใช้งานการสอบถาม HLR สำหรับปลายทางเหล่านี้

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/mnp-countries'
{
   "countries":[
      "AG",
      "AI",
      "AR",
      "AS",
      "AW",
      "BB",
      "BM",
      ...
      "US",
      "UY",
      "VC",
      "VE",
      "VG",
      "VN"
   ]
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
countries string[] รายการรหัสประเทศ ISO สองตัวอักษร false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

GET/mccmncsได้รับการป้องกัน

เอนด์พอยต์นี้ส่งคืนรายการผู้ให้บริการเครือข่ายมือถือที่ครอบคลุม พร้อมด้วยรหัส MCCMNC ที่เกี่ยวข้องและข้อมูลบริบทเพิ่มเติม

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/mccmncs?countrycode=XX'

พารามิเตอร์คำขอ

Key ประเภท คำอธิบาย ค่าเริ่มต้น จำเป็น
countrycode string(2) รหัสประเทศ ISO สองตัวอักษรที่เป็นตัวเลือก ใช้สำหรับกรองผลลัพธ์ MCCMNC โดยจะส่งคืนเฉพาะข้อมูลที่เกี่ยวข้องกับประเทศที่ระบุ null ไม่บังคับ
{
   "items":[
      {
         "country_name":"Germany",
         "country_code":"DE",
         "mccmnc":"26201",
         "mcc":"262",
         "mnc":"01 ",
         "brand":"Telekom",
         "operator":"Telekom Deutschland GmbH"
      },
      {
         "country_name":"Germany",
         "country_code":"DE",
         "mccmnc":"26202",
         "mcc":"262",
         "mnc":"02 ",
         "brand":"Vodafone",
         "operator":"Vodafone D2 GmbH"
      }
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
items object[] รายการผู้ให้บริการเครือข่ายมือถือ false
country_name string ชื่อประเทศเต็มในภาษาอังกฤษ false
country_code string(2) รหัสประเทศ ISO สองตัวอักษรที่แสดงถึงประเทศของผู้ให้บริการเครือข่ายมือถือ false
mccmnc string(5|6) สตริงความยาว 5 หรือ 6 ตัวอักษรที่แสดงถึง MCCMNC ซึ่งระบุตัวตนของผู้ให้บริการเครือข่ายมือถืออย่างเฉพาะเจาะจง false
mcc string(3) รหัสประเทศมือถือ (MCC) สามตัวอักษรที่ระบุประเทศที่เครือข่ายมือถือดำเนินการ false
mnc string(2|3) รหัสเครือข่ายมือถือ (MNC) สองหรือสามตัวอักษรที่ระบุเครือข่ายมือถือภายใน MCC ที่กำหนด false
brand string ชื่อแบรนด์เชิงพาณิชย์ที่เครือข่ายใช้ในการดำเนินการและเป็นที่รู้จักของผู้บริโภค true
operator string ชื่ออย่างเป็นทางการของผู้ให้บริการเครือข่ายมือถือ โดยทั่วไปคือนิติบุคคลที่บริหารจัดการเครือข่าย true
parent_mccmnc string(5|6) สตริงความยาว 5 หรือ 6 ตัวอักษรที่แสดงถึง MCCMNC ของผู้ให้บริการเครือข่ายมือถือหลัก (ถ้ามี) true
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

GET/priceได้รับการป้องกัน

Endpoint นี้ส่งคืนราคาสำหรับการค้นหา HLR, MNP หรือ NT

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/price?msisdn=+491788735000&route_type=HLR'

พารามิเตอร์คำขอ

Key ประเภท คำอธิบาย ค่าเริ่มต้น จำเป็น
msisdn string หมายเลขโทรศัพท์ที่ต้องการดึงข้อมูลราคา ในรูปแบบสากล null จำเป็น
route_type string ประเภทเส้นทาง เช่น HLR, MNP, NT null จำเป็น
route string(3) เส้นทางที่ต้องการคำนวณราคา ค่าเริ่มต้นคือเส้นทางที่กำหนดโดยระบบกำหนดเส้นทางอัตโนมัติ null ไม่บังคับ
{
   "price":{
      "amount":"0.01000",
      "msisdn":"+491788735000",
      "route_type":"HLR",
      "route":"DV8"
   }
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
price object ออบเจ็กต์ที่มีรายละเอียดราคา false
amount string จำนวนเงินเป็นสกุล EUR false
msisdn string MSISDN ที่ราคานี้ใช้กับ false
route_type string(2|3) ประเภทเส้นทางที่ราคานี้ใช้กับ false
route string(3) เส้นทางที่ราคานี้ใช้กับ false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

GET/price-listได้รับการป้องกัน

Endpoint นี้จะแสดงรายการราคาในบัญชีของคุณ

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/price-list'
{
   "pricing":[
      {
         "route":"V11",
         "countrycode":null,
         "countryname":null,
         "mccmnc":null,
         "cns":null,
         "route_type":"HLR",
         "price":"0.0090"
      },
      {
         "route":"V11",
         "countrycode":"DE",
         "countryname":"Germany",
         "mccmnc":"26201",
         "cns":null,
         "route_type":"HLR",
         "price":"0.0070"
      },
      {
         "route":"V11",
         "countrycode":"DE",
         "countryname":"Germany",
         "mccmnc":"26203",
         "cns":"4917821",
         "route_type":"HLR",
         "price":"0.0070"
      },
      {
         "route":"V11",
         "countrycode":"DE",
         "countryname":"Germany",
         "mccmnc":null,
         "cns":null,
         "route_type":"HLR",
         "price":"0.0070"
      },
      {
         "route":"PTX",
         "countrycode":null,
         "countryname":null,
         "mccmnc":null,
         "cns":null,
         "route_type":"MNP",
         "price":"0.00500"
      },
      ...
      {
         "route":"IP1",
         "countrycode":null,
         "countryname":null,
         "mccmnc":null,
         "cns":null,
         "route_type":"MIX",
         "price":"0.01000"
      },
      {
         "route":"LC1",
         "countrycode":null,
         "countryname":null,
         "mccmnc":null,
         "cns":null,
         "route_type":"NT",
         "price":"0.00500"
      }
   ]
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
pricing object[] รายการออบเจ็กต์ที่มีข้อมูลราคา false
route string เส้นทางที่ใช้อัตราราคานี้ false
countrycode string รหัสประเทศ ISO สองตัวอักษรที่ใช้อัตราราคานี้สำหรับเส้นทางที่เกี่ยวข้อง (ถ้ามี) true
countryname string ชื่อประเทศภาษาอังกฤษที่สอดคล้องกับรหัสประเทศ (ถ้ามี) true
mccmnc string MCCMNC ที่ใช้อัตราราคานี้สำหรับเส้นทางที่เกี่ยวข้อง (ถ้ามี) จะแทนที่ราคาระดับประเทศ true
cns string รหัสหมายเลขโทรศัพท์ที่ใช้อัตราราคานี้สำหรับเส้นทางที่เกี่ยวข้อง (ถ้ามี) จะแทนที่ราคาระดับประเทศและราคาระดับ MCCMNC true
route_type string ประเภทเส้นทางที่เกี่ยวข้อง เช่น HLR, MNP, NT false
route_type string ราคาที่เกี่ยวข้องเป็นสกุลเงิน EUR false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

GET/balanceได้รับการป้องกัน

เอนด์พอยต์นี้ดึงข้อมูลยอดคงเหลือในบัญชีปัจจุบันของคุณ ช่วยให้คุณสามารถทำกระบวนการอัตโนมัติตามสถานะเครดิตของคุณได้ ทำงานได้อย่างราบรื่นกับอีเมลแจ้งเตือนเครดิตต่ำที่คุณสามารถตั้งค่าได้ที่ หน้าการชำระเงิน

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/balance'
{
    "balance":"1002.90"
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
balance string ยอดคงเหลือในบัญชีปัจจุบันของคุณในสกุลเงินยูโร ค่าทศนิยมในรูปแบบข้อความ false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

GET/pingสาธารณะ

เอนด์พอยต์นี้ส่งคำขอ ping ไปยัง API เพื่อทดสอบการเชื่อมต่อของคุณกับ HLR Lookups API อย่างง่ายดาย

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/ping'
{
    "success":true
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
success boolean แสดงว่าคำขอได้รับการประมวลผลสำเร็จแล้ว false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

GET/timeสาธารณะ

เอนด์พอยต์นี้จะส่งคืนค่า Unix timestamp ที่แสดงเวลาปัจจุบันบนเซิร์ฟเวอร์ HLR Lookups ใช้เพื่อซิงโครไนซ์นาฬิกาของเซิร์ฟเวอร์ของคุณเมื่อสร้างลายเซ็น Digest-Auth สำหรับการยืนยันตัวตน เพื่อให้มั่นใจว่าความแตกต่างระหว่างเวลาเซิร์ฟเวอร์ของคุณและเวลาเซิร์ฟเวอร์ HLR Lookups ได้รับการแก้ไข

คำขอ การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/time'
{
    "time":1525898643
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
time integer Unix timestamp ที่แสดงเวลาปัจจุบันของเซิร์ฟเวอร์ HLR Lookups false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

GET/auth-testได้รับการป้องกัน

Endpoint นี้ใช้สำหรับทดสอบการทำงานเบื้องต้นของ Basic-Auth หรือที่แนะนำคือ Digest-Auth ของคุณ

คำขอ Basic Auth คำขอ Digest Auth การตอบกลับที่สำเร็จ การตอบกลับข้อผิดพลาด
curl 'https://www.hlr-lookups.com/api/v2/auth-test' \
  -H "X-Basic: YOUR_API_KEY" 

Request Headers

Key ประเภท คำอธิบาย
X-Basic string SHA256 hash ของ YOUR_API_KEY:YOUR_API_SECRET รวมสัญลักษณ์โคลอน (:) ใน hash
curl 'https://www.hlr-lookups.com/api/v2/auth-test' \
  -H "X-Digest-Key: YOUR_API_KEY" \
  -H "X-Digest-Signature: DIGEST_AUTH_SIGNATURE" \
  -H "X-Digest-Timestamp: UNIX_TIMESTAMP" 

Request Headers

Key ประเภท คำอธิบาย
X-Digest-Key string API Key ของ HLR Lookups ของคุณ
X-Digest-Signature string ลายเซ็น Digest-Auth ที่ไม่ซ้ำกัน (ดู การยืนยันตัวตน)
X-Digest-Timestamp integer Unix timestamp ปัจจุบัน (ดูเพิ่มเติมที่ GET /time)
{
    "success":true
}

คุณสมบัติของการตอบกลับที่สำเร็จ

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
success boolean แสดงว่าคำขอได้รับการประมวลผลสำเร็จแล้ว false
{
    "errors":[
        "Service unavailable."
    ]
}

พารามิเตอร์การตอบกลับข้อผิดพลาด

ชื่อ ประเภท คำอธิบาย สามารถเป็น Null ได้
errors[] string[] รายการข้อความที่อธิบายข้อผิดพลาด false
เลื่อนขึ้น

เอกสาร API เวอร์ชันเก่า

โปรดทราบว่า API เวอร์ชันเก่านี้ไม่แนะนำให้ใช้งานแล้ว และจะถูกยกเลิกในอนาคต เราขอแนะนำอย่างยิ่งให้อัปเกรดไปยังเวอร์ชันล่าสุดโดยเร็วที่สุด

หากคุณติดตั้ง HLR Lookups API ของเราระหว่างปี 2013 ถึงต้นปี 2020 คุณกำลังใช้งาน API เวอร์ชันเก่าของเรา กรุณาดูเอกสาร API เวอร์ชันเก่าของเราในกรณีนี้

เอกสาร API เวอร์ชันเก่า

ยกระดับข้อมูลเชิงลึกด้านมือถือของคุณด้วยแพลตฟอร์ม HLR Lookups ชั้นนำ


ติดต่อเรา
© Velocity Made Good Ltd. 2013-2026 · ข้อกำหนดการให้บริการ · นโยบายความเป็นส่วนตัว · ข้อตกลงการประมวลผลข้อมูล
ตัวโหลดหมุน ภาพ Gif โปร่งใส