सामग्री पर जाएं

जियोज़ोन एपीआई

getNearestZone

Anchor link to

SDK से आंतरिक रूप से कॉल किया जाता है। निकटतम जियोज़ोन के पैरामीटर और उससे दूरी प्राप्त करता है। जियो पुश नोटिफिकेशन के लिए डिवाइस के स्थान को भी रिकॉर्ड करता है।

POST https://api.pushwoosh.com/json/1.3/getNearestZone

रिक्वेस्ट बॉडी पैरामीटर्स

Anchor link to
पैरामीटरप्रकार
आवश्यकविवरण
applicationstringहाँPushwoosh एप्लिकेशन कोड
hwidstringहाँहार्डवेयर डिवाइस आईडी जिसका उपयोग /registerDevice रिक्वेस्ट में किया जाता है।
latstringहाँडिवाइस का अक्षांश।
lngstringहाँडिवाइस का देशांतर।

रिक्वेस्ट उदाहरण

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
पैरामीटर
प्रकार
आवश्यकविवरण
authstringहाँPushwoosh कंट्रोल पैनल से API एक्सेस टोकन
applicationstringहाँPushwoosh एप्लिकेशन कोड
geozonesarrayहाँJSON ऐरे के रूप में जियोज़ोन पैरामीटर।
geozones.namestringहाँजियोज़ोन का नाम।
geozones.latstringएक वृत्त के लिए आवश्यक।जियोज़ोन अक्षांश। जब polygon सेट हो तो इसे छोड़ दें — एक पॉलीगॉन जियोज़ोन अपना केंद्र खुद प्राप्त करता है।
geozones.lngstringएक वृत्त के लिए आवश्यक।जियोज़ोन देशांतर। जब polygon सेट हो तो इसे छोड़ दें — एक पॉलीगॉन जियोज़ोन अपना केंद्र खुद प्राप्त करता है।
geozones.cooldownintegerहाँएक सूचना भेजने के बाद साइलेंट पीरियड (सेकंड में)।
geozones.rangeintegerएक वृत्त के लिए आवश्यक।जियोज़ोन रेंज मीटर में। न्यूनतम 50। जब polygon सेट हो तो इसे छोड़ दें — एक पॉलीगॉन जियोज़ोन अपनी रेंज खुद प्राप्त करता है।
geozones.polygonobjectनहींजियोज़ोन को एक वृत्त के बजाय एक पॉलीगॉन बनाता है। lat/lng/range के साथ जोड़ा नहीं जा सकता — दोनों को भेजना अस्वीकार कर दिया जाता है। पॉलीगॉन जियोज़ोन देखें।
geozones.contentstring or objectयदि presetCode खाली है तो आवश्यक है।जियोज़ोन संदेश सामग्री।
geozones.presetCodestringयदि content खाली है तो आवश्यक है।content के बजाय उपयोग करने के लिए पुश प्रीसेट
geozones.clusterstringनहींजियोज़ोन से क्लस्टर को अनबाइंड करने के लिए null निर्दिष्ट करें।
geozones.campaignstringनहींजियोज़ोन से अभियान को अनबाइंड करने के लिए null निर्दिष्ट करें। यदि छोड़ दिया जाता है, तो अभियान का मान अपरिवर्तित रहता है। ध्यान दें: प्रीसेट में अभियान की तुलना में इसकी प्राथमिकता अधिक होती है।
geozones.timetableobjectनहींटाइमटेबल अंतराल सेट करता है।

रिक्वेस्ट उदाहरण

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 to

geozones एक ऐरे लेता है, इसलिए एक कॉल एक पूरा बैच बना सकता है। कुछ भी लिखे जाने से पहले बैच को पूरी तरह से मान्य किया जाता है: यदि कोई भी प्रविष्टि अस्वीकार कर दी जाती है, तो कॉल विफल हो जाती है और उस रिक्वेस्ट से कोई जियोज़ोन नहीं बनाया जाता है। त्रुटि ऐरे में उसकी स्थिति के अनुसार आपत्तिजनक प्रविष्टि का नाम देती है, जिसे शून्य से गिना जाता है:

{
"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
पैरामीटर
प्रकार
आवश्यकविवरण
authstringहाँPushwoosh कंट्रोल पैनल से API एक्सेस टोकन
geoZoneIdstringहाँ/addGeoZone रिक्वेस्ट से जियोज़ोन आईडी
namestringनहींनया जियोज़ोन नाम।
cooldownintegerनहींअपडेट करने के लिए कूलडाउन, सेकंड में।
statusintegerनहीं0 - निष्क्रिय, 1 - सक्रिय।
contentstringनहींजियोज़ोन पुश नोटिफिकेशन के लिए सामग्री। presetCode के साथ उपयोग नहीं किया जा सकता।
clusterstringनहींनया क्लस्टर नाम। जियोज़ोन से क्लस्टर को अनबाइंड करने के लिए null निर्दिष्ट करें।
campaignstringनहींनई अभियान आईडी। जियोज़ोन से अभियान को अनबाइंड करने के लिए null निर्दिष्ट करें। यदि छोड़ दिया जाता है, तो अभियान का मान नहीं बदलेगा। प्रीसेट से एक अभियान की तुलना में इसकी प्राथमिकता अधिक होती है।
latnumberनहींजियोज़ोन अक्षांश। polygon के साथ जोड़ा नहीं जा सकता।
lngnumberनहींजियोज़ोन देशांतर। polygon के साथ जोड़ा नहीं जा सकता।
rangeintegerनहींमीटर में नई रेंज। polygon के साथ जोड़ा नहीं जा सकता।
polygonobjectनहीं{lat, lng} शीर्षों का नया रिंग — आकार को प्रतिस्थापित करता है और उससे lat/lng/range को फिर से प्राप्त करता है। पॉलीगॉन जियोज़ोन देखें। दोनों तरह से काम करता है: इसे एक मौजूदा वृत्त जियोज़ोन पर भेजें ताकि इसे एक पॉलीगॉन में बदल सकें, या एक मौजूदा पॉलीगॉन जियोज़ोन पर एक खाली रिंग ({"vertices": []}) भेजें ताकि इसे वापस एक वृत्त में बदल सकें। आकार को अपरिवर्तित छोड़ने के लिए polygon को पूरी तरह से छोड़ दें। addGeoZone के समान शीर्ष सत्यापन।
timetableobjectनहींजियोज़ोन टाइमटेबल। नीचे और जानकारी देखें।

रिक्वेस्ट उदाहरण

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
पैरामीटर
प्रकार
आवश्यकविवरण
authstringहाँPushwoosh कंट्रोल पैनल से API एक्सेस टोकन
applicationstringहाँPushwoosh एप्लिकेशन कोड
geozonesstringहाँहटाने के लिए जियोज़ोन की आईडी का ऐरे या एकल आईडी

रिक्वेस्ट उदाहरण

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
पैरामीटर
प्रकार
आवश्यकविवरण
authstringहाँPushwoosh कंट्रोल पैनल से API एक्सेस टोकन
applicationstringहाँPushwoosh एप्लिकेशन कोड
namestringहाँक्लस्टर का नाम।
cooldownintegerहाँएक एकल उपयोगकर्ता द्वारा जियोज़ोन क्लस्टर से वही संदेश प्राप्त करने से पहले एक देरी, सेकंड में।

रिक्वेस्ट उदाहरण

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
पैरामीटर
प्रकार
आवश्यकविवरण
authstringहाँPushwoosh कंट्रोल पैनल से API एक्सेस टोकन
applicationstringहाँPushwoosh एप्लिकेशन कोड
geoZoneClusterstringहाँहटाने के लिए जियोज़ोन क्लस्टर की आईडी।

रिक्वेस्ट उदाहरण

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
पैरामीटर
प्रकार
आवश्यकविवरण
authstringहाँPushwoosh कंट्रोल पैनल से API एक्सेस टोकन
applicationstringहाँ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
पैरामीटर
प्रकार
आवश्यकविवरण
authstringहाँPushwoosh कंट्रोल पैनल से API एक्सेस टोकन
applicationstringहाँPushwoosh एप्लिकेशन कोड

रिक्वेस्ट उदाहरण

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control
"application": "XXXXX-XXXXX" // required, Pushwoosh application code
}
}