Sign inGet Started

फ़ोन नंबर लुकअप करें

एक कॉल बताती है कि नंबर क्या है। यहाँ हर चीज़ के लिए lookup स्कोप वाली API कुंजी चाहिए।

बेस लुकअप चलाएँ

नंबर भेजें, और कुछ नहीं। बेस लुकअप की बिलिंग हमेशा एक बार होती है, और यह हमेशा देश, सर्विंग नेटवर्क, इश्यूइंग नेटवर्क और एक मोटा लाइन टाइप बताता है।
const answer = await bird.lookup.phoneNumber({
  phone_number: "+31612345678",
  type: ["classification", "score"],
});
console.log(answer.country_code, answer.line_type);
// Only a block whose status is ok carries a value, and only that one is billed.
if (answer.score?.status === "ok") console.log(answer.score.value);

नंबर कैसे लिखें

पहले कंट्री कॉलिंग कोड भेजें, फिर नैशनल नंबर। शुरुआत में + वैकल्पिक है और उसकी जगह 00 भी चलता है, इसलिए +31612345678, 31612345678 और 0031612345678 सभी एक ही नंबर हैं।
किसी एक देश के भीतर डायलिंग के लिए लिखा गया नंबर, जिसमें कंट्री कोड नहीं है, अनुमान लगाने की बजाय अस्वीकार कर दिया जाता है। 0612345678 E22000 लौटाता है, क्योंकि कंट्री कोड जोड़ने पर किसी और जगह का असली नंबर बन सकता है और उसे लुकअप करने का शुल्क आपसे लिया जाएगा।

बेस लुकअप क्या जवाब देता है

country_code नंबर का देश है; जब नंबर किसी एक देश से संबंधित नहीं होता, जैसे नॉन-जियोग्राफ़िक रेंज में, तब यह अनुपस्थित रहता है।
network_info वह नेटवर्क है जो आज नंबर की सेवा दे रहा है, और original_network_info वह नेटवर्क है जिसने इसकी रेंज जारी की। जब नंबर पोर्ट हुआ हो तो ये दोनों अलग होते हैं, और उस स्थिति में flags में ported होता है।
line_type बताता है कि नंबर किस प्रकार की लाइन है: mobile, fixed_line, voip, toll_free, premium_rate, satellite, pager, payphone, m2m, service, other, या unknown। unknown का मतलब है कि कैरियर प्लेटफ़ॉर्म के पास इस रेंज के लिए कोई वर्गीकरण नहीं है; other का मतलब है कि वर्गीकरण मौजूद है लेकिन यहाँ उसका कोई समकक्ष नहीं है। अधिक सटीक आवंटित सेवा जानने के लिए classification प्रॉपर्टी अनुरोध करें। यह एक अलग स्रोत से व्यापक शब्दावली के साथ जवाब देती है, और अलग से रिपोर्ट की जाती है ताकि आप दोनों में हमेशा अंतर कर सकें।

प्रॉपर्टीज़ जोड़ें

जो प्रॉपर्टीज़ चाहिए उन्हें type में नाम दें। हर एक का शुल्क अलग से लगता है और केवल तभी जब वह डिलीवर हो।
प्रॉपर्टीक्या जवाब देती है
classificationरेंज की सटीक आवंटित सेवा: प्रीमियम रेट, सैटेलाइट, M2M, पेफ़ोन।
portingनंबर ने आखिरी बार कब नेटवर्क बदला, और रिकॉर्ड पर हर बदलाव।
presenceक्या नंबर अभी नेटवर्क पर सक्रिय है।
roamingक्या यह रोमिंग पर है, और किस नेटवर्क पर।
sim_swapइसका SIM आखिरी बार कब बदला।
score0 से 100 तक का विश्वसनीयता स्कोर।
classification, porting और score संग्रहित डेटा पढ़ते हैं और तुरंत जवाब देते हैं। presence, roaming और sim_swap लाइव नेटवर्क तक पहुँचते हैं, इसलिए ये धीमे होते हैं और इनकी कवरेज ऑपरेटर के अनुसार भिन्न होती है। संग्रहित वालों की तुलना में इनके लिए unavailable या inconclusive अधिक बार मिलने की उम्मीद रखें।
दो प्रॉपर्टीज़ उन सवालों का जवाब देती हैं जो बेस लुकअप पहले से छूता है, लेकिन अधिक विस्तार से। porting आपको तारीख और पूरा इतिहास देता है, जबकि बेस लुकअप का ported फ़्लैग केवल यह बताता है कि कभी बदलाव हुआ या नहीं। classification line_type को सटीक आवंटित सेवा तक विस्तारित करता है।

वैल्यू से पहले स्टेटस पढ़ें

हर प्रॉपर्टी ब्लॉक में एक status होता है, और केवल ok में वैल्यू होती है।
कोड उदाहरण
{
  "phone_number": "+441904123456",
  "country_code": "GB",
  "line_type": "service",
  "classification": {
    "status": "ok",
    "value": "premium_rate"
  },
  "score": {
    "status": "unavailable"
  }
}
उस जवाब में आपसे बेस लुकअप और classification का शुल्क लिया गया। score का शुल्क नहीं लिया गया।
पहले status पढ़ें और ok के अलावा किसी भी चीज़ को "not answered" मानें। यह एक ओपन शब्दावली है, इसलिए जो वैल्यू आप नहीं पहचानते वह भविष्य का स्टेटस है, त्रुटि नहीं।
दो ब्लॉक सटीक आँकड़े की बजाय सीमा (bound) रिपोर्ट करते हैं जब नेटवर्क सटीक आँकड़ा जारी नहीं करता। sim_swap last_swapped_at के बजाय min_days और max_days लौटाता है जब केवल हाल की अवधि ज्ञात हो। porting last_ported_at_is_approximate सेट करता है जब रजिस्ट्री बदलाव की अवधि दर्ज करती है लेकिन उसका दिन नहीं।
एक फ़ील्ड नकारात्मक जैसा दिखता है लेकिन वास्तव में सकारात्मक जानकारी है: porting.ported का false पर सेट होना इसका मतलब है कि रजिस्ट्री से पूछा गया और इस नंबर के लिए कोई बदलाव दर्ज नहीं है, यह नहीं कि कुछ जाँचा नहीं जा सका। यही अंतर status बताता है।

दोबारा भुगतान किए बिना फिर से प्रयास करें

लुकअप का शुल्क लगता है, इसलिए फिर से प्रयास किए गए अनुरोध को दूसरा जवाब नहीं खरीदना चाहिए। एक Idempotency-Key भेजें और उसी अनुरोध की पुनरावृत्ति नया लुकअप चलाने के बजाय संग्रहित जवाब दोबारा लौटाएगी। देखें Idempotency।
इस ऑपरेशन का GET फ़ॉर्म, जो नंबर को URL में रखता है, idempotency key नहीं ले सकता। किसी भी स्वचालित कार्य के लिए POST फ़ॉर्म का उपयोग करें।

त्रुटियाँ

कोडक्या हुआ
E22000नंबर अंतरराष्ट्रीय फ़ॉर्मेट में वैध फ़ोन नंबर नहीं है। कोई शुल्क नहीं लगा।
E22001संगठन के वॉलेट में लुकअप के लिए पर्याप्त राशि नहीं है। इसे टॉप अप करें और फिर से प्रयास करें। कोई शुल्क नहीं लगा।
E22002लुकअप अस्थायी रूप से अनुपलब्ध है। बैकऑफ़ के साथ फिर से प्रयास करें। कोई शुल्क नहीं लगा।
विफल होने वाली प्रॉपर्टी त्रुटि नहीं है। यह अपने ब्लॉक पर एक स्टेटस के रूप में लौटती है, और बेस लुकअप उसके साथ ही दिया जाता है।

अगले कदम

संबंधित संसाधन

इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।