आपके पास फॉर्म, चेकआउट और CRM से आने वाले फोन नंबर हैं, और आपको यह जानने की आवश्यकता है कि क्या वे मान्य हैं, मोबाइल हैं या नहीं, वे किस देश से संबंधित हैं, और उन्हें शिप करने से पहले सही तरीके से कैसे फॉर्मेट करें। इस लेख के अंत तक, आप एक फोन नंबर को मान्य करेंगे और कैरियर, देश, लाइन प्रकार, मानक प्रारूप (E.164, अंतरराष्ट्रीय, राष्ट्रीय), समय क्षेत्र, और अधिक को एकल HTTP GET अनुरोध का उपयोग करके निकालेंगे।
यह API क्या लौटाता है और इसका उपयोग कब करें
फोन वेलिडेटर API एक दिए गए फोन नंबर के लिए तात्कालिक मान्यता और समृद्ध मेटाडेटा प्रदान करता है। आप एक पैरामीटर (फोन नंबर) पास करते हैं और निम्नलिखित फ़ील्ड प्राप्त करते हैं:
- is_valid, is_possible: मान्यता फ़्लैग जिन्हें आप प्रवाह पर गेट कर सकते हैं
- provider, line_type, is_mobile: रूटिंग और मैसेजिंग-चैनल निर्णय
- country, country_code, country_iso2/3, continent, country_flag: स्थानीयकरण और अनुपालन
- format_national, format_e164, format_international, format_rfc3966: भंडारण और प्रदर्शन प्रारूप
- time_zones, utc_offset: मैसेजिंग विंडो और शेड्यूलिंग
- currency_code, location, national_number: बिलिंग या CRM के लिए समृद्धि
सामान्य उपयोगों में साइन-अप फॉर्म मान्यता, SMS डिलीवरबिलिटी जांच, उपयोगकर्ता डेटाबेस में फोन सामान्यीकरण, देश-जानकारी ग्राहक रूटिंग, और समय क्षेत्र-जानकारी मैसेजिंग शामिल हैं।
Zyla API हब पर शुरू करना
API Zyla API हब पर उपलब्ध है, जो एक API मार्केटप्लेस है जिसमें एकल खाता, एक API कुंजी, और 10,000 से अधिक सार्वजनिक APIs के लिए एक सदस्यता + कोटा मॉडल है। शुरू करने के लिए:
- लिस्टिंग खोलें: फोन वेलिडेटर API पर 7-दिन का परीक्षण शुरू करें.
- सदस्यता लें (या उपलब्ध होने पर 7-दिन का परीक्षण शुरू करें) और अपनी API कुंजी प्राप्त करें। कोई मुफ्त योजना नहीं है; पहुंच सदस्यता + कोटा है, न कि प्रति-कॉल भुगतान। वर्तमान पहुंच विकल्पों और मूल्य निर्धारण के लिए API पृष्ठ की जांच करें।
- Authorization: Bearer YOUR_API_KEY के साथ एंडपॉइंट कॉल करें।
आप जो एंडपॉइंट उपयोग करेंगे
यह API एक सीधा पढ़ने वाला एंडपॉइंट उजागर करता है।
- विधि: GET
- URL: https://zylalabs.com/api/10138/phone-validator-api/26579/phone-validation
- क्वेरी पैरामीटर:
- phone (string, required): एक फोन नंबर, जैसे, +41799530236
cURL उदाहरण (कॉपी/पेस्ट)
curl -s -X GET "https://zylalabs.com/api/10138/phone-validator-api/26579/phone-validation?phone=%2B41799530236" \
-H "Authorization: Bearer YOUR_API_KEY"
आधिकारिक नमूना प्रतिक्रिया
{
"is_valid": true,
"is_disposable": false,
"provider": "Swisscom",
"location": "Switzerland",
"country": "Switzerland",
"country_iso2": "CH",
"country_iso3": "CHE",
"country_code": 41,
"continent": "Europe",
"time_zones": [
"Europe/Zurich"
],
"format_national": "079 953 02 36",
"format_e164": "+41799530236",
"format_international": "+41 79 953 02 36",
"format_rfc3966": "tel:+41-79-953-02-36",
"line_type": "mobile",
"is_mobile": true,
"is_possible": true,
"national_number": "799530236",
"country_flag": "🇨🇭",
"currency_code": "CHF",
"utc_offset": "+02:00"
}
आप शायद पहले क्या उपयोग करेंगे:
- is_valid और is_possible को इनपुट को स्वीकार या अस्वीकार करने के लिए
- canonical storage के लिए format_e164
- line_type और is_mobile को SMS बनाम वॉयस बनाम व्हाट्सएप को गेट करने के लिए
- country_iso2, country_code, और time_zones/utc_offset को रूटिंग और शेड्यूलिंग के लिए
- carrier-specific नियमों या डाउनस्ट्रीम समृद्धि के लिए provider
Python उदाहरण: एक फोन नंबर को मान्य और सामान्य बनाना
यह उदाहरण उसी एंडपॉइंट को कॉल करता है, वैधता की जांच करता है, फिर E.164 प्रारूप और कुछ मेटाडेटा को स्टोर करता है जो आप अपने उपयोगकर्ता प्रोफ़ाइल में चाहते हैं।
import requests
API_URL = "https://zylalabs.com/api/10138/phone-validator-api/26579/phone-validation"
API_KEY = "YOUR_API_KEY"
def validate_phone(phone: str) -> dict:
params = {"phone": phone}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(API_URL, params=params, headers=headers, timeout=10)
resp.raise_for_status()
data = resp.json()
# Minimal checks for gating signups or sending OTPs
if not data.get("is_valid") or not data.get("is_possible"):
return {
"accepted": False,
"reason": "Invalid or impossible number",
"raw": data
}
normalized = {
"accepted": True,
"e164": data.get("format_e164"),
"national": data.get("format_national"),
"international": data.get("format_international"),
"rfc3966": data.get("format_rfc3966"),
"is_mobile": data.get("is_mobile"),
"line_type": data.get("line_type"),
"carrier": data.get("provider"),
"country": data.get("country"),
"country_iso2": data.get("country_iso2"),
"country_code": data.get("country_code"),
"continent": data.get("continent"),
"time_zones": data.get("time_zones"),
"utc_offset": data.get("utc_offset"),
"currency_code": data.get("currency_code"),
"national_number": data.get("national_number"),
"country_flag": data.get("country_flag"),
"is_disposable": data.get("is_disposable"),
}
return normalized
if __name__ == "__main__":
result = validate_phone("+41799530236")
print(result)
समय बचाने वाले कार्यान्वयन नोट्स
- Canonical storage: format_e164 को कैनोनिकल फोन फ़ील्ड के रूप में उपयोग करें। यदि आपको ऑडिटेबिलिटी या UX पुनः प्रदर्शन की आवश्यकता है तो मूल इनपुट को अलग से रखें।
- Display vs. dial: उपयोगकर्ताओं को एक ही देश में format_national दिखाएं; सीमा पार प्रदर्शन के लिए format_international का उपयोग करें; प्रोग्रामेटिक रूप से डायल करने या संदेश भेजने के लिए E.164 का उपयोग करें।
- Scheduling messages: ऑफ-घंटों के दौरान संदेशों को दबाने के लिए time_zones और utc_offset का उपयोग करें। उपयोगकर्ता के साथ दोनों को स्टोर करें ताकि आप हर भेजने पर फिर से मान्यता की आवश्यकता न हो।
- Country gating: यदि आपके उत्पाद में देश प्रतिबंध हैं, तो country_iso2 और country_code के साथ साइनअप के दौरान गेट करें।
- Channel selection: SMS, वॉयस, या वैकल्पिक चैनलों को चुनने के लिए is_mobile और line_type का उपयोग करें।
- Caching: अक्सर संपर्क किए गए नंबरों के लिए विलंबता और कोटा उपयोग को कम करने के लिए E.164 द्वारा सफल लुकअप को एक उचित विंडो के लिए कैश करें।
- Error handling: संदर्भ के आधार पर non-2xx को अस्थायी या स्थायी के रूप में मानें। समकालिक उपयोगकर्ता क्रियाओं (जैसे, OTP) के लिए, एक पठनीय संदेश लौटाएं; बैच नौकरियों के लिए, बैकऑफ के साथ पुनः प्रयास करें।
इस सप्ताह आप जो अंत-से-अंत प्रवाह भेज सकते हैं
साइनअप फॉर्म: सबमिट पर मान्य करें
- फॉर्म सबमिट पर, दर्ज किए गए नंबर को एंडपॉइंट पर भेजें।
- यदि is_valid या is_possible false है तो अस्वीकार करें। सही प्रारूप दिखाने के लिए format_national प्रदर्शित करें।
- डाउनस्ट्रीम प्रवाह के लिए format_e164, country_iso2, और line_type को स्टोर करें।
मैसेजिंग रूटिंग: सही चैनल चुनें
- SMS पात्रता निर्धारित करने के लिए is_mobile और line_type पर विचार करें।
- यदि आपके पास कैरियर-आधारित भेजने के नियम हैं तो provider का उपयोग करें।
- स्थानीय घंटों का सम्मान करने के लिए time_zones/utc_offset द्वारा थ्रॉटल या शेड्यूल करें।
CRM समृद्धि: प्रणालियों में नंबरों को मानकीकरण करें
- अपने फोन फ़ील्ड के माध्यम से बैच करें, प्रत्येक अद्वितीय नंबर के लिए API को कॉल करें।
- असंगत प्रारूपों को format_e164 के साथ बदलें और UI खोज या स्थानीय डायल के लिए national_number को बनाए रखें।
- क्षेत्र-विशिष्ट संचालन और रिपोर्टिंग सक्षम करने के लिए country_iso2 और currency_code जोड़ें।
AI एजेंटों से MCP के माध्यम से कॉल करना
आप Zyla के MCP एंडपॉइंट के माध्यम से कॉल रूट कर सकते हैं, जो Claude Code, Cursor, Windsurf, और अन्य MCP-संगत क्लाइंट के साथ काम करता है। अपने एजेंट या क्लाइंट को इस पर पहुँचाने के लिए कॉन्फ़िगर करें:
अपने Zyla API कुंजी (apikey=YOUR_API_KEY) को MCP एंडपॉइंट पर प्रदान करें। वहां से, आपका एजेंट बिना अपने प्रॉम्प्ट में कच्चे HTTP लॉजिक को एम्बेड किए बिना उसी फोन वेलिडेटर API ऑपरेशन को सक्रिय कर सकता है। यह तब उपयोगी है जब आप चाहते हैं कि एक सहायक चैट या कोड सत्र के दौरान उपयोगकर्ता द्वारा प्रदान किए गए नंबरों को मान्य करे।
उत्पादन चेकलिस्ट
- प्रमाणीकरण: हर अनुरोध पर Authorization: Bearer YOUR_API_KEY भेजें।
- इनपुट सामान्यीकरण: उपयोगकर्ता इनपुट को अग्रणी + के साथ या बिना स्वीकार करें, लेकिन हमेशा format_e164 को स्टोर करें।
- गोपनीयता: फोन नंबरों को PII के रूप में मानें। न्यूनतम लॉग करें और ट्रेस में छिपाएं।
- Idempotency: अपने कतार कार्यकर्ताओं में E.164 द्वारा कॉल को डुप्लिकेट करें ताकि कोटा को डबल-चार्ज करने से बचा जा सके।
- पर्यवेक्षण: intake में विसंगतियों को पकड़ने के लिए is_valid, is_possible, line_type वितरण को लॉग करें।
- Fallback UX: API टाइमआउट पर, उपयोगकर्ताओं को चेतावनी या नंबर की पुष्टि करने के लिए प्रॉम्प्ट के साथ आगे बढ़ने दें।
समस्या निवारण टिप्स
- अनपेक्षित 401/403: सुनिश्चित करें कि Authorization हेडर Bearer YOUR_API_KEY का उपयोग करता है और कुंजी आपकी सदस्यता के लिए सक्रिय है।
- कोई डेटा वापस नहीं आया: जांचें कि फोन पैरामीटर URL-कोडित है और जब उपलब्ध हो तो एक देश का उपसर्ग शामिल है।
- फॉर्मेटिंग असंगति: स्थिरता के लिए स्थानीय क्लाइंट फॉर्मेटिंग लाइब्रेरी के मुकाबले API के कैनोनिकल format_e164 को प्राथमिकता दें।
संदर्भ: एंडपॉइंट विवरण
फोन सत्यापन
- विधि: GET
- URL: https://zylalabs.com/api/10138/phone-validator-api/26579/phone-validation
- क्वेरी पैरामीटर: फोन (string, आवश्यक)
- Auth हेडर: Authorization: Bearer YOUR_API_KEY
- लौटाता है: मान्यता फ़्लैग, कैरियर, देश और ISO कोड, महाद्वीप, समय क्षेत्र और UTC ऑफसेट, राष्ट्रीय और अंतरराष्ट्रीय प्रारूप, RFC3966 URI, लाइन प्रकार, मोबाइल फ़्लैग, राष्ट्रीय संख्या, देश का झंडा, और मुद्रा कोड।
लागत और पहुंच का मूल्यांकन कैसे करें
पहुंच सदस्यता + कोटा है, न कि प्रति-कॉल भुगतान। कोई मुफ्त योजना नहीं है। 7-दिन का परीक्षण उपलब्ध हो सकता है; वर्तमान विकल्पों के लिए लिस्टिंग की जांच करें। यदि आप एक नए प्रवाह का परीक्षण कर रहे हैं, तो परीक्षण के साथ शुरू करें, एक फीचर फ्लैग के पीछे तैनात करें, और ट्रैफ़िक बढ़ाने से पहले कोटा उपयोग की निगरानी करें।
अक्सर पूछे जाने वाले प्रश्न
क्या API अग्रणी + के बिना नंबर स्वीकार करता है?
जैसा आप इसे प्राप्त करते हैं, फोन पैरामीटर पास करें, लेकिन विश्वसनीय परिणामों के लिए देश का कोड शामिल करें (जैसे, +41...)। प्रतिक्रिया मानकीकृत प्रारूप प्रदान करती है, जिसमें E.164 शामिल है।
मुझे अपने डेटाबेस में किस प्रारूप को स्टोर करना चाहिए?
कैनोनिकल मान के रूप में format_e164 को स्टोर करें। केवल तभी format_national या format_international को रखें जब आपको उन्हें सीधे उपयोगकर्ताओं को प्रदर्शित करने की आवश्यकता हो।
मैं कैसे तय कर सकता हूँ कि SMS या वॉयस भेजना है?
is_mobile और line_type का उपयोग करें। केवल तब SMS भेजें जब is_mobile true हो और line_type एक मोबाइल नंबर को इंगित करता हो।
क्या मैं उपयोगकर्ता के स्थानीय समय के आधार पर संदेश शेड्यूल कर सकता हूँ?
हाँ। स्थानीय समय में शेड्यूल करने के लिए time_zones और utc_offset का उपयोग करें। इन फ़ील्ड को बनाए रखें ताकि आपको हर भेजने पर फिर से मान्यता की आवश्यकता न हो।
मुझे API कुंजी कहाँ से मिलती है और बिलिंग कैसे की जाती है?
अपनी कुंजी प्राप्त करने के लिए लिस्टिंग पृष्ठ पर सदस्यता लें। बिलिंग सदस्यता + कोटा है। लिस्टिंग पर उपलब्ध होने पर 7-दिन के परीक्षण के साथ शुरू करें।
इसे भेजें
आप आज एकल GET कॉल और एक आवश्यक पैरामीटर के साथ फोन नंबरों को मान्य और सामान्य कर सकते हैं। अपनी कुंजी बनाएं, Authorization हेडर में प्लग करें, और अपने डेटा मॉडल में E.164 पर मानकीकरण करें। जब आप तैयार हों, तो यहां से शुरू करें: फोन वेलिडेटर API पर 7-दिन का परीक्षण शुरू करें.