जियोज़ोन एपीआई
getNearestZone
Anchor link toSDK से आंतरिक रूप से कॉल किया जाता है। निकटतम जियोज़ोन के पैरामीटर और उससे दूरी प्राप्त करता है। जियो पुश नोटिफिकेशन के लिए डिवाइस के स्थान को भी रिकॉर्ड करता है।
POST https://api.pushwoosh.com/json/1.3/getNearestZoneरिक्वेस्ट बॉडी पैरामीटर्स
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| application | string | हाँ | Pushwoosh एप्लिकेशन कोड |
| hwid | string | हाँ | हार्डवेयर डिवाइस आईडी जिसका उपयोग /registerDevice रिक्वेस्ट में किया जाता है। |
| lat | string | हाँ | डिवाइस का अक्षांश। |
| lng | string | हाँ | डिवाइस का देशांतर। |
रिक्वेस्ट उदाहरण
Anchor link to{ "request": { "application": "APPLICATION_CODE", "hwid": "HWID", "lat": 10.12345, "lng": 28.12345 }}PHP उदाहरण
Anchor link to// See http://gomoob.github.io/php-pushwoosh/get-nearest-zone.html
use Gomoob\Pushwoosh\Model\Request\GetNearestZoneRequest;
// Creates the request instance$request = GetNearestZoneRequest::create() ->setHwid('HWID') ->setLat(10.12345) ->setLng(28.12345);
// Call the '/getNearestZone' Web Service$response = $pushwoosh->getNearestZone($request);
if ($response->isOk()) { print 'Zone name : ' . $response->getResponse()->getName(); print 'Latitude : ' . $response->getResponse()->getLat(); print 'Longitude : ' . $response->getResponse()->getLng(); print 'Range : ' . $response->getResponse()->getRange(); print 'Distance : ' . $response->getResponse()->getDistance();} else { print 'Oops, the operation failed :-('; print 'Status code : ' . $response->getStatusCode(); print 'Status message : ' . $response->getStatusMessage();}addGeoZone
Anchor link toएक विशिष्ट ऐप में एक जियोज़ोन जोड़ता है।
POST https://api.pushwoosh.com/json/1.3/addGeoZoneरिक्वेस्ट बॉडी पैरामीटर्स
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| auth | string | हाँ | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| application | string | हाँ | Pushwoosh एप्लिकेशन कोड |
| geozones | array | हाँ | JSON ऐरे के रूप में जियोज़ोन पैरामीटर। |
| geozones.name | string | हाँ | जियोज़ोन का नाम। |
| geozones.lat | string | एक वृत्त के लिए आवश्यक। | जियोज़ोन अक्षांश। जब polygon सेट हो तो इसे छोड़ दें — एक पॉलीगॉन जियोज़ोन अपना केंद्र खुद प्राप्त करता है। |
| geozones.lng | string | एक वृत्त के लिए आवश्यक। | जियोज़ोन देशांतर। जब polygon सेट हो तो इसे छोड़ दें — एक पॉलीगॉन जियोज़ोन अपना केंद्र खुद प्राप्त करता है। |
| geozones.cooldown | integer | हाँ | एक सूचना भेजने के बाद साइलेंट पीरियड (सेकंड में)। |
| geozones.range | integer | एक वृत्त के लिए आवश्यक। | जियोज़ोन रेंज मीटर में। न्यूनतम 50। जब polygon सेट हो तो इसे छोड़ दें — एक पॉलीगॉन जियोज़ोन अपनी रेंज खुद प्राप्त करता है। |
| geozones.polygon | object | नहीं | जियोज़ोन को एक वृत्त के बजाय एक पॉलीगॉन बनाता है। lat/lng/range के साथ जोड़ा नहीं जा सकता — दोनों को भेजना अस्वीकार कर दिया जाता है। पॉलीगॉन जियोज़ोन देखें। |
| geozones.content | string or object | यदि presetCode खाली है तो आवश्यक है। | जियोज़ोन संदेश सामग्री। |
| geozones.presetCode | string | यदि content खाली है तो आवश्यक है। | content के बजाय उपयोग करने के लिए पुश प्रीसेट। |
| geozones.cluster | string | नहीं | जियोज़ोन से क्लस्टर को अनबाइंड करने के लिए null निर्दिष्ट करें। |
| geozones.campaign | string | नहीं | जियोज़ोन से अभियान को अनबाइंड करने के लिए null निर्दिष्ट करें। यदि छोड़ दिया जाता है, तो अभियान का मान अपरिवर्तित रहता है। ध्यान दें: प्रीसेट में अभियान की तुलना में इसकी प्राथमिकता अधिक होती है। |
| geozones.timetable | object | नहीं | टाइमटेबल अंतराल सेट करता है। |
रिक्वेस्ट उदाहरण
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // API access token from Pushwoosh Control Panel "application": "XXXXX-XXXXX", // Pushwoosh application code "geozones": [{ "name": "Statue of George", // required. Geozone name. "lat": "40.70087797", // required. Geozone latitude. "lng": "-73.931851387", // required. Geozone longitude. "cooldown": 60, // in seconds, required. Silent period after sending a notification "range": 50, // in meters, minimum 50, required. Range of the geozone. "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", // or object "presetCode": "AAAAA-BBBBB", // optional. Push preset could be used instead of content "cluster": "GEOZONE CLUSTER CODE", // optional. Cluster's cooldown period will be applied "campaign": "CAMPAIGN_CODE", // optional. Specify null to unbind Campaign from Geozone "timetable": { // optional "timezone": 1234, // in seconds "Mon": [ // available days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Push sending { "start": "04:11", "stop": "12:00" } ], "Sun": [ { // one or two intervals "start": "01:11", "stop": "17:00" }, { "start": "18:01", "stop": "23:59" } ] } }] }}एक साथ कई जियोज़ोन जोड़ना
Anchor link togeozones एक ऐरे लेता है, इसलिए एक कॉल एक पूरा बैच बना सकता है। कुछ भी लिखे जाने से पहले बैच को पूरी तरह से मान्य किया जाता है: यदि कोई भी प्रविष्टि अस्वीकार कर दी जाती है, तो कॉल विफल हो जाती है और उस रिक्वेस्ट से कोई जियोज़ोन नहीं बनाया जाता है। त्रुटि ऐरे में उसकी स्थिति के अनुसार आपत्तिजनक प्रविष्टि का नाम देती है, जिसे शून्य से गिना जाता है:
{ "status_code": 210, "status_message": "geozones[301]: range: range must be at least 50 meters"}उस प्रविष्टि को ठीक करें और रिक्वेस्ट फिर से भेजें। सफलता पर, GeoZones में आपके द्वारा भेजी गई प्रविष्टियों के समान क्रम में नई संख्यात्मक आईडी होती हैं।
500 से अधिक प्रविष्टियों वाले बैच स्वीकार किए जाते हैं और आंतरिक रूप से हिस्सों में विभाजित किए जाते हैं। पहले लिखने से पहले पूरे ऐरे को अभी भी मान्य किया जाता है, लेकिन लिखना स्वयं हिस्सों में परमाणु नहीं है: एक प्रविष्टि सत्यापन पास कर सकती है और फिर भी लिखने में विफल हो सकती है, उदाहरण के लिए यदि उसके द्वारा नामित प्रीसेट बीच में हटा दिया जाता है। उस स्थिति में कॉल 200 के साथ उन आईडी के साथ लौटता है जो लिखी गई थीं और एक Errors ऐरे जो उस प्रविष्टि का नाम देता है जिसने रन को रोक दिया था, इसलिए बनाया गया कुछ भी खो नहीं जाता है:
{ "status_code": 200, "status_message": "OK", "response": { "GeoZones": [100016750, 100016751], "Errors": [{ "index": 2, "message": "preset not found" }] }}जब हर प्रविष्टि लिखी गई थी तो Errors अनुपस्थित होता है, इसलिए पूरी तरह से सफल प्रतिक्रिया अपरिवर्तित रहती है। आपके द्वारा भेजे गए ऐरे से छोटा GeoZones ऐरे हमेशा यह मतलब है कि कुछ प्रविष्टियाँ नहीं बनाई गई थीं।
पॉलीगॉन जियोज़ोन
Anchor link toजियोज़ोन को एक पॉलीगॉन बनाने के लिए lat/lng/range के बजाय polygon भेजें। polygon.vertices {lat, lng} बिंदुओं का एक क्रमबद्ध रिंग है जो आकार की रूपरेखा का वर्णन करता है:
{ "request": { "auth": "yxoPUlwqm............pIyEX4H", "application": "XXXXX-XXXXX", "geozones": [{ "name": "Downtown mall — ground floor", "cooldown": 60, "polygon": { "vertices": [ { "lat": 40.70087797, "lng": -73.931851387 }, { "lat": 40.70112456, "lng": -73.931602211 }, { "lat": 40.70095321, "lng": -73.930987654 }, { "lat": 40.70068912, "lng": -73.931233456 } ] }, "content": "Welcome! Enjoy 15% off your first purchase today." }] }}lat, lng, और range रिंग से प्राप्त होते हैं — एक डिवाइस वास्तव में जिस वृत्त की निगरानी करता है वह आकार पर केंद्रित होता है जिसकी त्रिज्या उसके सबसे दूर के शीर्ष तक पहुँचती है (न्यूनतम 50 मीटर)। polygon को lat/lng/range के साथ भेजना अस्वीकार कर दिया जाता है।
आप रिंग को खुला या बंद भेज सकते हैं — यदि अंतिम शीर्ष पहले को दोहराता है, तो सर्वर मान्य करने से पहले उस समापन डुप्लिकेट को छोड़ देता है। परिणामी रिंग पर शीर्ष सत्यापन: 3 से 100 अलग-अलग शीर्ष। रिंग को भी अस्वीकार कर दिया जाता है यदि उसके बिंदु समरेखीय हों, यदि उसके किनारे स्वयं-प्रतिच्छेद करते हों, या यदि वह एंटीमेरिडियन को पार करता हो।
updateGeoZone
Anchor link toजियोज़ोन गुणों को अपडेट करता है।
POST https://api.pushwoosh.com/json/1.3/updateGeoZoneरिक्वेस्ट बॉडी पैरामीटर्स
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| auth | string | हाँ | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| geoZoneId | string | हाँ | /addGeoZone रिक्वेस्ट से जियोज़ोन आईडी। |
| name | string | नहीं | नया जियोज़ोन नाम। |
| cooldown | integer | नहीं | अपडेट करने के लिए कूलडाउन, सेकंड में। |
| status | integer | नहीं | 0 - निष्क्रिय, 1 - सक्रिय। |
| content | string | नहीं | जियोज़ोन पुश नोटिफिकेशन के लिए सामग्री। presetCode के साथ उपयोग नहीं किया जा सकता। |
| cluster | string | नहीं | नया क्लस्टर नाम। जियोज़ोन से क्लस्टर को अनबाइंड करने के लिए null निर्दिष्ट करें। |
| campaign | string | नहीं | नई अभियान आईडी। जियोज़ोन से अभियान को अनबाइंड करने के लिए null निर्दिष्ट करें। यदि छोड़ दिया जाता है, तो अभियान का मान नहीं बदलेगा। प्रीसेट से एक अभियान की तुलना में इसकी प्राथमिकता अधिक होती है। |
| lat | number | नहीं | जियोज़ोन अक्षांश। polygon के साथ जोड़ा नहीं जा सकता। |
| lng | number | नहीं | जियोज़ोन देशांतर। polygon के साथ जोड़ा नहीं जा सकता। |
| range | integer | नहीं | मीटर में नई रेंज। polygon के साथ जोड़ा नहीं जा सकता। |
| polygon | object | नहीं | {lat, lng} शीर्षों का नया रिंग — आकार को प्रतिस्थापित करता है और उससे lat/lng/range को फिर से प्राप्त करता है। पॉलीगॉन जियोज़ोन देखें। दोनों तरह से काम करता है: इसे एक मौजूदा वृत्त जियोज़ोन पर भेजें ताकि इसे एक पॉलीगॉन में बदल सकें, या एक मौजूदा पॉलीगॉन जियोज़ोन पर एक खाली रिंग ({"vertices": []}) भेजें ताकि इसे वापस एक वृत्त में बदल सकें। आकार को अपरिवर्तित छोड़ने के लिए polygon को पूरी तरह से छोड़ दें। addGeoZone के समान शीर्ष सत्यापन। |
| timetable | object | नहीं | जियोज़ोन टाइमटेबल। नीचे और जानकारी देखें। |
रिक्वेस्ट उदाहरण
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "geoZoneId": 100016750, // required, from /addGeoZone method "name": "new geozone name", // optional "cooldown": 222, // in seconds, optional "status": 0, // optional, 0 - deactivated, 1 - activated "presetCode": "BBBBB-AAAAA", // optional, cannot be used along with "content" "content": "new geozone content", // optional, cannot be used along with "presetCode" "cluster": "GEOZONE CLUSTER CODE", // optional. Specify null to unbind cluster from Geozone "campaign": "CAMPAIGN_CODE", // optional. Specify null to unbind Campaign from Geozone "lat": 10.56, // optional, geozone latitude "lng": 12.523, // optional, geozone longitude "range": 500, // optional, geozone range "timetable": { // optional "timezone": 1234, // in seconds "Mon": [ // available days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Push sending { "start": "04:11", "stop": "12:00" } ], "Sun": [ { // one or two intervals "start": "01:11", "stop": "17:00" }, { "start": "18:01", "stop": "23:59" } ] } }}deleteGeoZone
Anchor link toऐप से जियोज़ोन हटाता है।
POST https://api.pushwoosh.com/json/1.3/deleteGeoZoneरिक्वेस्ट बॉडी पैरामीटर्स
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| auth | string | हाँ | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| application | string | हाँ | Pushwoosh एप्लिकेशन कोड |
| geozones | string | हाँ | हटाने के लिए जियोज़ोन की आईडी का ऐरे या एकल आईडी। |
रिक्वेस्ट उदाहरण
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "application": "XXXXX-XXXXX", // required, Pushwoosh application code "geozones": [550, 526] // required, geozones IDs }}addGeoZoneCluster
Anchor link toऐप में जियोज़ोन क्लस्टर जोड़ता है।
POST https://api.pushwoosh.com/json/1.3/addGeoZoneClusterरिक्वेस्ट बॉडी पैरामीटर्स
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| auth | string | हाँ | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| application | string | हाँ | Pushwoosh एप्लिकेशन कोड |
| name | string | हाँ | क्लस्टर का नाम। |
| cooldown | integer | हाँ | एक एकल उपयोगकर्ता द्वारा जियोज़ोन क्लस्टर से वही संदेश प्राप्त करने से पहले एक देरी, सेकंड में। |
रिक्वेस्ट उदाहरण
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "application": "XXXXX-XXXXX", // required, Pushwoosh application code "name": "Raccoon city", // required, cluster name "cooldown": 3210 // required, in seconds }}deleteGeoZoneCluster
Anchor link toऐप से एक जियोज़ोन क्लस्टर हटाता है।
POST https://api.pushwoosh.com/json/1.3/deleteGeoZoneClusterरिक्वेस्ट बॉडी पैरामीटर्स
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| auth | string | हाँ | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| application | string | हाँ | Pushwoosh एप्लिकेशन कोड |
| geoZoneCluster | string | हाँ | हटाने के लिए जियोज़ोन क्लस्टर की आईडी। |
रिक्वेस्ट उदाहरण
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "application": "XXXXX-XXXXX", // required, Pushwoosh application code "geoZoneCluster": "EA1CE-69405" // required, cluster ID obtained from the /addGeoZoneCluster request }}listGeoZones
Anchor link toऐप के लिए जियोज़ोन की एक सूची प्राप्त करता है।
POST https://api.pushwoosh.com/json/1.3/listGeoZonesरिक्वेस्ट बॉडी पैरामीटर्स
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| auth | string | हाँ | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| application | string | हाँ | Pushwoosh एप्लिकेशन कोड |
रिक्वेस्ट उदाहरण
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "application": "XXXXX-XXXXX" // required, Pushwoosh application code }}listGeoZoneClusters
Anchor link toऐप के लिए जियोज़ोन क्लस्टर की एक सूची प्राप्त करता है।
POST https://api.pushwoosh.com/json/1.3/listGeoZoneClustersरिक्वेस्ट बॉडी पैरामीटर्स
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| auth | string | हाँ | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| application | string | हाँ | Pushwoosh एप्लिकेशन कोड |
रिक्वेस्ट उदाहरण
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "application": "XXXXX-XXXXX" // required, Pushwoosh application code }}