आपको इस सप्ताह अपने ऐप में वायर करने के लिए लाइव ट्रैफिक अलर्ट और टर्न-बाय-टर्न रूट की आवश्यकता है। इस गाइड के अंत तक, आप Waze से एक बाउंडिंग बॉक्स में वास्तविक समय के खतरों और जाम के लिए क्वेरी करेंगे और Waze डेटा API का उपयोग करके दो समन्वय के बीच अलर्ट के साथ रूट प्राप्त करेंगे, जिसमें कॉपी-पेस्ट करने योग्य कर्ल और पायथन उदाहरण शामिल हैं जिन्हें आप अपनी सेवा में डाल सकते हैं।
Waze डेटा API से आपको क्या मिलता है
Waze डेटा API ने नेविगेशन उपयोग मामलों के लिए दो मुख्य क्षमताएँ उजागर की हैं:
- एक भौगोलिक आयत के भीतर वास्तविक समय के अलर्ट और जाम, जिसमें दुर्घटनाएँ, सड़क बंद, खतरे, पुलिस और ट्रैफिक जाम शामिल हैं।
- दो समन्वय के बीच ड्राइविंग निर्देश (रूट), जिसमें प्रत्येक संभावित रूट के साथ अलर्ट और एक इच्छित आगमन समय निर्दिष्ट करने के लिए समर्थन शामिल है।
टीम इसका उपयोग इन-ऐप घटना ओवरले, भीड़-भाड़ से अवगत ETA, और स्वचालित रीरूटिंग वर्कफ़्लो को शक्ति देने के लिए करती हैं। सभी कॉल एक खाते, एक API कुंजी, और सब्सक्रिप्शन + कोटा बिलिंग (पे-पर-कॉल नहीं) के साथ Zyla API Hub के माध्यम से जाते हैं। Zyla श्रेणियों में 10,000 से अधिक सार्वजनिक APIs की मेज़बानी करता है, लेकिन यहाँ हम नेविगेशन पर ध्यान केंद्रित करेंगे।
मार्केटप्लेस पर ब्राउज़ करें https://zylalabs.com और Waze डेटा API लिस्टिंग खोलें ताकि आप पैरामीटर, कोटा, और वर्तमान पहुंच विकल्पों की समीक्षा कर सकें। आप यहाँ सीधे 7-दिन की परीक्षण अवधि भी शुरू कर सकते हैं: Waze डेटा API पर 7-दिन की परीक्षण अवधि शुरू करें.
Zyla API Hub पर शुरुआत करना
एंडपॉइंट्स को कॉल करने के लिए:
- Zyla API Hub पर Waze डेटा API पृष्ठ खोलें और सब्सक्राइब या फ्री ट्रायल शुरू करें (जब उपलब्ध हो)। पहला API आमतौर पर 7-दिन की परीक्षण अवधि या 50 अनुरोध प्रदान करता है। कोई मुफ्त योजना नहीं है।
- डैशबोर्ड से अपनी API कुंजी कॉपी करें।
- Authorization: Bearer YOUR_API_KEY का उपयोग करके नीचे दिखाए गए एंडपॉइंट्स को कॉल करें। सभी अनुरोध इस लेख में प्रदान किए गए सटीक पथों के साथ zylalabs.com पर जाते हैं।
प्रमाणीकरण केवल हेडर है; क्वेरी पैरामीटर में API कुंजी न जोड़ें। कॉल आपकी सब्सक्रिप्शन कोटा के खिलाफ गिनी जाती हैं।
एंडपॉइंट: अलर्ट और जाम
इसे एक आयताकार क्षेत्र के भीतर वास्तविक समय के अलर्ट और ट्रैफिक जाम लाने के लिए उपयोग करें जो नीचे-बाएँ और ऊपर-दाएँ अक्षांश/देशांतर जोड़ों द्वारा परिभाषित है। यह मानचित्र टाइलों, शहर ओवरले, और भू-फेंसिंग निगरानी के लिए आदर्श है।
- विधि: GET
- URL: https://zylalabs.com/api/4814/waze-data-api/6003/alerts-and-jams
- आवश्यक पैरामीटर:
- bottom_left (string): “lat,lon”
- top_right (string): “lat,lon”
- वैकल्पिक पैरामीटर:
- max_alerts (string)
- max_jams (string)
आधिकारिक कर्ल उदाहरण (कॉपी/पेस्ट):
curl -s -X GET "https://zylalabs.com/api/4814/waze-data-api/6003/alerts-and-jams?bottom_left=51.2800%2C-0.5100&top_right=51.5000%2C-0.0800&max_alerts=100&max_jams=0"
-H "Authorization: Bearer YOUR_API_KEY"
आधिकारिक उदाहरण प्रतिक्रिया
{
"status": "OK",
"request_id": "86b7f40f-b386-4aee-af95-274974d93184",
"parameters": {
"bottom_left": [
"51.2800",
"-0.5100"
],
"top_right": [
"51.5000",
"-0.0800"
],
"max_alerts": 100,
"max_jams": 0
},
"data": {
"alerts": [
{
"alert_id": "alert-1851823848/7b5e52cb-9549-4955-a117-ce19dd01fe9b",
"type": "HAZARD",
"subtype": "HAZARD_ON_ROAD_CONSTRUCTION",
"reported_by": "Causeway one.network",
"description": ".",
"image": null,
"publish_datetime_utc": "2026-07-22T08:30:00.000Z",
"country": "GB",
"city": "Mole Valley",
"street": null,
"latitude": 51.281508,
"longitude": -0.369863,
"num_thumbs_up": 7,
"alert_reliability": 0,
"alert_confidence": 0,
"near_by": null,
"provider": "Elgin (Road works)",
"provider_id": "151505923",
"comments": [],
"num_comments": 0
},
{
"alert_id": "alert-1191763163/60f6957d-0668-49d6-b43f-710177584187",
"type": "HAZARD",
"subtype": "HAZARD_ON_ROAD_CONSTRUCTION",
"reported_by": "Causeway one.network",
"description": ".",
"image": null,
"publish_datetime_utc": "2026-05-15T13:00:00.000Z",
"country": "GB",
"city": "Mole Valley",
"street": "Durleston Park Dr",
"latitude": 51.280691,
"longitude": -0.365612,
"num_thumbs_up": 39,
"alert_reliability": 0,
"alert_confidence": 0,
"near_by": null,
"provider": "Elgin (Road works)",
"provider_id": "149944301",
"comments": [],
"num_comments": 0
},
{
"alert_id": "alert-1618880859/60722796-8030-486e-913c-4e683837b754",
"type": "ROAD_CLOSED",
"subtype": null,
"reported_by": "ClosureMonitor",
"description": "Closed until Jul 31 for roadworks. Ref #151583431",
"image": null,
"publish_…
उत्पादन में उपयोग करने के लिए:
- status: सफलता को इंगित करने वाला स्ट्रिंग।
- parameters: आपके अनुरोध की प्रतिध्वनि (लॉगिंग के लिए उपयोगी)।
- data.alerts: आपके आयत में अलर्ट की सूची। प्रमुख फ़ील्ड में शामिल हैं:
- alert_id: डुप्लिकेशन से बचने के लिए स्थिर पहचानकर्ता।
- type/subtype: खतरे, जाम, बंद आदि द्वारा वर्गीकृत करें।
- latitude / longitude: अपने मानचित्र पर प्लॉट करें।
- publish_datetime_utc: ताजगी लॉजिक और कैश अमान्यकरण के लिए UTC टाइमस्टैम्प।
- city, street: उपयोगकर्ता के सामने संदेशों के लिए संदर्भ।
पायथन उदाहरण: निर्माण और बंद को लाना और फ़िल्टर करना
यह उदाहरण उसी एंडपॉइंट को कॉल करता है, प्रासंगिक अलर्ट प्रकारों को फ़िल्टर करता है, और एक न्यूनतम पेलोड प्रिंट करता है जिसे आप अपने फ्रंटेंड या अलर्ट पाइपलाइन को अग्रेषित कर सकते हैं।
import os
import requests
API_KEY = os.getenv("ZYLALABS_API_KEY", "YOUR_API_KEY")
url = "https://zylalabs.com/api/4814/waze-data-api/6003/alerts-and-jams"
params = {
"bottom_left": "51.2800,-0.5100",
"top_right": "51.5000,-0.0800",
"max_alerts": "100",
"max_jams": "0"
}
headers = {
"Authorization": f"Bearer {API_KEY}"
}
resp = requests.get(url, params=params, headers=headers, timeout=20)
resp.raise_for_status()
payload = resp.json()
alerts = payload.get("data", {}).get("alerts", [])
interesting = []
for a in alerts:
atype = a.get("type")
subtype = a.get("subtype")
if atype in ("HAZARD", "ROAD_CLOSED"):
interesting.append({
"id": a.get("alert_id"),
"type": atype,
"subtype": subtype,
"lat": a.get("latitude"),
"lon": a.get("longitude"),
"published_utc": a.get("publish_datetime_utc"),
"city": a.get("city"),
"street": a.get("street"),
"thumbs_up": a.get("num_thumbs_up")
})
print(f"Total alerts in bbox: {len(alerts)}; relevant: {len(interesting)}")
for a in interesting[:5]:
print(a)
नोट्स:
- टाइमस्टैम्प publish_datetime_utc में UTC हैं। यदि आवश्यक हो तो अपने UI में परिवर्तित करें, लेकिन स्थिरता के लिए UTC में स्टोर करें।
- max_alerts और max_jams आपको प्रतिक्रिया आकार को सीमित करने की अनुमति देते हैं यदि आप बार-बार पोलिंग कर रहे हैं।
एंडपॉइंट: ड्राइविंग निर्देश
इसे दो समन्वय के बीच रूट प्राप्त करने के लिए उपयोग करें, प्रत्येक संभावित रूट के साथ अलर्ट के साथ। आप प्रस्थान की योजना बनाने के लिए एक इच्छित आगमन समय सेट कर सकते हैं। प्रतिक्रिया में रूट मेटाडेटा शामिल है जैसे length_meters और duration_seconds, साथ ही कोई प्रासंगिक अलर्ट।
- विधि: GET
- URL: https://zylalabs.com/api/4814/waze-data-api/6004/driving-directions
- आवश्यक पैरामीटर:
- source_coordinates (string): “lat,lon”
- destination_coordinates (string): “lat,lon”
आधिकारिक कर्ल उदाहरण (कॉपी/पेस्ट):
इस एंडपॉइंट से रुचि के सामान्य फ़ील्ड में शामिल हैं:
- length_meters: कुल रूट लंबाई (मीटर)।
- duration_seconds: कुल रूट अवधि (सेकंड)।
- is_fastest, is_toll, is_hov: रूट फ़िल्टरिंग के लिए बूलियन।
- alerts: रूट के साथ सामना किए गए अलर्ट की सूची, जिसमें प्रकार, उपप्रकार, और समन्वय शामिल हैं।
उपयोग के सुझाव:
- छोटे स्रोत/गंतव्य द्वारा रूट उम्मीदवारों को कैश करें ताकि मामूली बदलाव पर फिर से प्राप्त करने से बचा जा सके।
- अपने UI में ETAs के लिए, duration_seconds को प्राथमिकता दें। क्लाइंट-साइड में मिनटों में परिवर्तित करें।
- यदि आप रूट विकल्पों को स्टोर करते हैं, तो यह भी स्टोर करें कि कौन से alert_ids लौटाए गए हैं ताकि यह पता चल सके कि कब एक रूट सामग्री रूप से बदल गया है।
व्यावहारिक कार्यान्वयन पैटर्न
शहर ओवरले के लिए बाउंडिंग-बॉक्स पोलिंग
- अपने मेट्रो क्षेत्र को टाइलों में विभाजित करें (जैसे, 0.1° x 0.1°)। अपने UX के लिए उचित ताल पर प्रत्येक टाइल के अलर्ट और जाम को पोल करें।
- घनी क्षेत्रों में पेलोड को सीमित करने के लिए max_alerts और max_jams का उपयोग करें।
- टाइलों और पोल्स के बीच alert_id द्वारा डुप्लिकेट करें। समय सीमा के बाद अलर्ट समाप्त करें जब तक कि API द्वारा नवीनीकरण न किया जाए।
ड्राइविंग निर्देशों के शीर्ष पर रीरूटिंग लॉजिक
- एक ड्राइवर की वर्तमान स्थिति से गंतव्य के लिए हर N मिनट में या महत्वपूर्ण स्थिति परिवर्तनों के बाद रूट लाएं।
- जब is_fastest विकल्पों के बीच पलटा जाता है या चुने गए रूट के साथ ROAD_CLOSED अलर्ट दिखाई देता है, तो एक रीरूट प्रॉम्प्ट को ट्रिगर करें।
- नए परिणामों की तुलना करने और उपयोगकर्ता-दृश्य "+X मिनट" डेल्टास की गणना करने के लिए अंतिम ज्ञात duration_seconds को बनाए रखें।
इकाइयाँ, टाइमस्टैम्प, और कैशिंग
- दूरी मीटर में, अवधि सेकंड में होती है। कच्चे मानों को बनाए रखें; प्रस्तुति परत में अपने क्षेत्र में प्रारूपित करें।
- प्रकाशन समय "_utc" के साथ उपसर्गित होते हैं। शेड्यूलिंग, अलर्ट ताजगी, और लॉग के लिए इन्हें UTC के रूप में मानें।
- पोलिंग एंडपॉइंट्स के लिए, छोटे कैश जीवनकाल का उपयोग करें (दर्जनों सेकंड से कुछ मिनटों तक) आपके UI की पुरानी स्थिति के लिए सहिष्णुता के आधार पर।
MCP के माध्यम से AI एजेंटों से API कॉल करना
यदि आपका कार्यप्रवाह MCP-संगत क्लाइंट (जैसे, Claude Code, Cursor, Windsurf) का उपयोग करता है, तो आप MCP एंडपॉइंट के माध्यम से किसी भी Zyla API, जिसमें Waze डेटा API शामिल है, को कॉल कर सकते हैं। अपने एजेंट या उपकरण को इस पर इंगित करें:
अपने कुंजी को MCP एंडपॉइंट URL में apikey=YOUR_API_KEY के रूप में पास करें। एजेंट तब इस लेख में देखे गए समान Waze डेटा API पथों को सक्रिय कर सकता है। यह चैट-चालित ऑप्स (जैसे, "इस bbox में बंद दिखाएँ" या "गंतव्य के लिए सबसे तेज़ रूट लाएँ") के प्रोटोटाइपिंग के लिए उपयोगी है। गैर-एजेंट सेवाओं के लिए, ऊपर दिखाए गए अनुसार सीधे REST एंडपॉइंट्स को कॉल करें। आप हमेशा Zyla API Hub पर अधिक नेविगेशन और मैपिंग विकल्पों का पता लगा सकते हैं।
त्रुटि प्रबंधन और अवलोकन
- प्रतिक्रियाओं से request_id को लॉग करें। यह आवश्यक होने पर आपके लॉग को Zyla समर्थन के साथ सहसंबंधित करने में मदद करता है।
- कॉल करने से पहले पैरामीटर मान्य करें: सुनिश्चित करें कि bottom_left.lat < top_right.lat और देशांतर एक उचित आयत को परिभाषित करते हैं।
- खाली अलर्ट एरे को सुचारू रूप से संभालें; डेटा की कमी अक्सर एक शांत क्षेत्र के लिए एक वैध स्थिति होती है।
- जब आप अपने सब्सक्रिप्शन कोटा के करीब हों तो max_alerts को कम करें या पीछे हटें। वर्तमान पहुंच विकल्पों और मूल्य निर्धारण विवरणों के लिए API पृष्ठ की जांच करें।
सुरक्षा और तैनाती चेकलिस्ट
- API कुंजी को अपने सर्वर-साइड सीक्रेट प्रबंधक में स्टोर करें; इसे कभी भी क्लाइंट-साइड JS में उजागर न करें।
- अपने एज पर TLS समाप्त करें और केवल HTTPS के माध्यम से Zyla को कॉल करें (जैसा कि सभी उदाहरणों में दिखाया गया है)।
- HTTP क्लाइंट पर टाइमआउट लागू करें (जैसे, 10–20s) और त्रुटि दरों की निगरानी करें।
- आउटबाउंड डोमेन के लिए अनुमति सूचियों का उपयोग करें; जहाँ उपयुक्त हो केवल zylalabs.com और mcp.zylalabs.com की अनुमति दें।
एंड-टू-एंड स्निपेट: एक रूट प्राप्त करें, फिर अपने मानचित्र में अलर्ट ओवरले करें
उच्च-स्तरीय प्रवाह:
- स्रोत/गंतव्य समन्वय के लिए ड्राइविंग-निर्देशों को कॉल करें।
- घटना मार्करों को प्रदर्शित करने के लिए चुने गए रूट से अलर्ट निकालें।
- नज़दीकी घटनाओं के साथ समृद्ध करने के लिए व्यूपोर्ट bbox के लिए अलर्ट और जाम को कॉल करें जो रूट पर नहीं हैं।
आप सर्वर-साइड पर दो एंडपॉइंट्स को संयोजित कर सकते हैं और अपने फ्रंटेंड को एक कॉम्पैक्ट पेलोड वापस कर सकते हैं: रूट पॉलीलाइन या समन्वय (जब उपलब्ध हो), duration_seconds, और alert_id द्वारा कुंजीबद्ध डुप्लिकेट अलर्ट का एक संयुक्त सेट।
त्वरित संदर्भ
- अलर्ट और जाम (GET): https://zylalabs.com/api/4814/waze-data-api/6003/alerts-and-jams
- ड्राइविंग निर्देश (GET): https://zylalabs.com/api/4814/waze-data-api/6004/driving-directions
- प्रमाणीकरण: Authorization: Bearer YOUR_API_KEY
- बिलिंग: सब्सक्रिप्शन + कोटा (पे-पर-कॉल नहीं)। पहला API: 7-दिन की परीक्षण अवधि या 50 अनुरोध। कोई मुफ्त योजना नहीं है।
FAQs
मुझे शहर के मानचित्र के लिए अलर्ट और जाम को कितनी बार पोल करना चाहिए?
यह आपके UX और कोटा पर निर्भर करता है। कई ऐप घनी क्षेत्रों के लिए हर 30–120 सेकंड में पोल करते हैं और पेलोड आकार को सीमित करने के लिए max_alerts का उपयोग करते हैं। प्रतिक्रियाओं को संक्षिप्त रूप से कैश करें और alert_id द्वारा डुप्लिकेट करें।
ड्राइविंग निर्देशों में length_meters और duration_seconds किस इकाई का उपयोग करते हैं?
दूरी के लिए मीटर और अवधि के लिए सेकंड। प्रस्तुति समय पर मील/किलोमीटर और मिनटों में परिवर्तित करें।
क्या टाइमस्टैम्प स्थानीय समय में हैं या UTC में?
नमूना publish_datetime_utc में UTC दिखाता है। UTC में स्टोर करें और तुलना करें, और यदि आवश्यक हो तो अपने UI में स्थानीय समय में प्रारूपित करें।
क्या मैं इन एंडपॉइंट्स को ब्राउज़र से कॉल कर सकता हूँ?
अपने API कुंजी को क्लाइंट-साइड कोड में उजागर करने से बचें। अपने बैकएंड के माध्यम से कॉल को प्रॉक्सी करें, जो Authorization: Bearer YOUR_API_KEY हेडर रखता है।
मुझे वर्तमान मूल्य निर्धारण और कोटा कहाँ मिलेगा?
वर्तमान पहुंच विकल्पों और मूल्य निर्धारण के लिए Zyla API Hub पर Waze डेटा API पृष्ठ की जांच करें। सब्सक्रिप्शन कोटा-आधारित है, पे-पर-कॉल नहीं।
क्या आप अपने उत्पाद में लाइव Waze नेविगेशन डेटा को वायर करने के लिए तैयार हैं? एक मुफ्त खाता बनाएं, अपनी API कुंजी प्राप्त करें, और यहाँ 7-दिन की परीक्षण अवधि शुरू करें: Waze डेटा API पर 7-दिन की परीक्षण अवधि शुरू करें. जब आप अपने स्टैक का विस्तार करने के लिए तैयार हों, तो आप Zyla API Hub पर अधिक नेविगेशन और मैपिंग APIs का पता लगा सकते हैं।