বিষয়বস্তুতে যান

জিওজোনস API

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একটি বৃত্তের জন্য প্রয়োজনীয়।জিওজোনের পরিসীমা মিটারে। সর্বনিম্ন ৫০। যখন polygon সেট করা থাকে তখন এটি বাদ দিন — একটি বহুভুজ জিওজোন তার নিজস্ব পরিসীমা নির্ধারণ করে।
geozones.polygonobjectনাজিওজোনটিকে বৃত্তের পরিবর্তে একটি বহুভুজ তৈরি করে। lat/lng/range এর সাথে একত্রিত করা যাবে না — উভয়ই পাঠালে তা প্রত্যাখ্যান করা হবে। দেখুন বহুভুজ জিওজোন।
geozones.contentstring or objectpresetCode খালি থাকলে প্রয়োজনীয়।জিওজোন বার্তার বিষয়বস্তু।
geozones.presetCodestringcontent খালি থাকলে প্রয়োজনীয়।content এর পরিবর্তে ব্যবহার করার জন্য পুশ প্রিসেট।
geozones.clusterstringনাজিওজোন থেকে একটি ক্লাস্টার আনবাইন্ড করতে null উল্লেখ করুন।
geozones.campaignstringনাজিওজোন থেকে একটি ক্যাম্পেইন আনবাইন্ড করতে null উল্লেখ করুন। যদি বাদ দেওয়া হয়, ক্যাম্পেইনের মান অপরিবর্তিত থাকবে। দ্রষ্টব্য: প্রিসেটের ক্যাম্পেইনের চেয়ে এর অগ্রাধিকার বেশি।
geozones.timetableobjectনাসময়সূচীর ব্যবধান সেট করে।

অনুরোধের উদাহরণ

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"application": "XXXXX-XXXXX", // Pushwoosh অ্যাপ্লিকেশন কোড
"geozones": [{
"name": "Statue of George", // প্রয়োজনীয়। জিওজোনের নাম।
"lat": "40.70087797", // প্রয়োজনীয়। জিওজোনের অক্ষাংশ।
"lng": "-73.931851387", // প্রয়োজনীয়। জিওজোনের দ্রাঘিমাংশ।
"cooldown": 60, // সেকেন্ডে, প্রয়োজনীয়। একটি নোটিফিকেশন পাঠানোর পরে নীরব সময়
"range": 50, // মিটারে, সর্বনিম্ন ৫০, প্রয়োজনীয়। জিওজোনের পরিসীমা।
"content": "Lorem ipsum dolor sit amet,
consectetur adipiscing elit.", // অথবা অবজেক্ট
"presetCode": "AAAAA-BBBBB", // ঐচ্ছিক। কন্টেন্টের পরিবর্তে পুশ প্রিসেট ব্যবহার করা যেতে পারে
"cluster": "GEOZONE CLUSTER CODE", // ঐচ্ছিক। ক্লাস্টারের কুলডাউন সময় প্রয়োগ করা হবে
"campaign": "CAMPAIGN_CODE", // ঐচ্ছিক। জিওজোন থেকে ক্যাম্পেইন আনবাইন্ড করতে null উল্লেখ করুন
"timetable": { // ঐচ্ছিক
"timezone": 1234, // সেকেন্ডে
"Mon": [ // উপলব্ধ দিন: Mon, Tue, Wed, Thu, Fri, Sat, Sun। পুশ পাঠানো
{
"start": "04:11",
"stop": "12:00"
}
],
"Sun": [
{ // এক বা দুটি ব্যবধান
"start": "01:11",
"stop": "17:00"
},
{
"start": "18:01",
"stop": "23:59"
}
]
}
}]
}
}

একবারে একাধিক জিওজোন যোগ করা

Anchor link to

geozones একটি অ্যারে নেয়, তাই একটি কলে একটি সম্পূর্ণ ব্যাচ তৈরি করা যায়। কিছু লেখার আগে ব্যাচটি সম্পূর্ণরূপে যাচাই করা হয়: যদি কোনো এন্ট্রি প্রত্যাখ্যান করা হয়, তাহলে কলটি ব্যর্থ হয় এবং সেই অনুরোধ থেকে কোনো জিওজোন তৈরি হয় না। ত্রুটিটি অ্যারেতে তার অবস্থান দ্বারা আপত্তিকর এন্ট্রিটির নাম দেয়, শূন্য থেকে গণনা করা হয়:

{
"status_code": 210,
"status_message": "geozones[301]: range: পরিসীমা কমপক্ষে ৫০ মিটার হতে হবে"
}

সেই এন্ট্রিটি ঠিক করুন এবং অনুরোধটি আবার পাঠান। সফল হলে, GeoZones আপনার পাঠানো এন্ট্রিগুলির একই ক্রমে নতুন সংখ্যাসূচক আইডি ধারণ করে।

৫০০ টির বেশি এন্ট্রির ব্যাচ গ্রহণ করা হয় এবং অভ্যন্তরীণভাবে খণ্ডে বিভক্ত করা হয়। প্রথম লেখার আগে সম্পূর্ণ অ্যারেটি এখনও যাচাই করা হয়, তবে লেখাটি নিজে খণ্ড জুড়ে পারমাণবিক নয়: একটি এন্ট্রি যাচাইকরণ পাস করতে পারে এবং এখনও লেখা হতে ব্যর্থ হতে পারে, উদাহরণস্বরূপ যদি এর মধ্যে এটির নাম দেওয়া প্রিসেটটি মুছে ফেলা হয়। সেই ক্ষেত্রে কলটি 200 রিটার্ন করে যা লেখা হয়েছিল সেই আইডিগুলির সাথে এবং একটি Errors অ্যারে যা রান বন্ধ করে দেওয়া এন্ট্রিটির নাম দেয়, তাই তৈরি করা কিছুই হারিয়ে যায় না:

{
"status_code": 200,
"status_message": "OK",
"response": {
"GeoZones": [100016750, 100016751],
"Errors": [{ "index": 2, "message": "প্রিসেট পাওয়া যায়নি" }]
}
}

যখন প্রতিটি এন্ট্রি লেখা হয়েছিল তখন 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": "স্বাগতম! আজ আপনার প্রথম কেনাকাটায় ১৫% ছাড় উপভোগ করুন।"
}]
}
}

lat, lng, এবং range রিং থেকে উদ্ভূত হয় — একটি ডিভাইস আসলে যে বৃত্তটি পর্যবেক্ষণ করে তা আকৃতির উপর কেন্দ্র করে যার ব্যাসার্ধ তার সবচেয়ে দূরবর্তী শীর্ষবিন্দুতে পৌঁছায় (সর্বনিম্ন ৫০ মিটার)। lat/lng/range এর সাথে polygon একসাথে পাঠানো প্রত্যাখ্যান করা হয়।

আপনি রিংটি খোলা বা বন্ধ পাঠাতে পারেন — যদি শেষ শীর্ষবিন্দুটি প্রথমটি পুনরাবৃত্তি করে, সার্ভার যাচাই করার আগে সেই বন্ধ সদৃশটি ফেলে দেয়। ফলস্বরূপ রিং-এ শীর্ষবিন্দু যাচাইকরণ: ৩ থেকে ১০০টি স্বতন্ত্র শীর্ষবিন্দু। রিংটি প্রত্যাখ্যান করা হয় যদি এর বিন্দুগুলি সমরেখ হয়, যদি এর প্রান্তগুলি স্ব-ছেদ করে, অথবা যদি এটি অ্যান্টিমেরিডিয়ান অতিক্রম করে।

updateGeoZone

Anchor link to

জিওজোনের বৈশিষ্ট্য আপডেট করে।

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

অনুরোধের বডি প্যারামিটার

Anchor link to
প্যারামিটার
টাইপ
প্রয়োজনীয়বিবরণ
authstringহ্যাঁPushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন।
geoZoneIdstringহ্যাঁ/addGeoZone অনুরোধ থেকে প্রাপ্ত জিওজোন আইডি।
namestringনানতুন জিওজোনের নাম।
cooldownintegerনাআপডেট করার জন্য কুলডাউন, সেকেন্ডে।
statusintegerনা০ - নিষ্ক্রিয়, ১ - সক্রিয়।
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", // প্রয়োজনীয়, Pushwoosh কন্ট্রোল থেকে API অ্যাক্সেস টোকেন
"geoZoneId": 100016750, // প্রয়োজনীয়, /addGeoZone পদ্ধতি থেকে
"name": "new geozone name", // ঐচ্ছিক
"cooldown": 222, // সেকেন্ডে, ঐচ্ছিক
"status": 0, // ঐচ্ছিক, ০ - নিষ্ক্রিয়, ১ - সক্রিয়
"presetCode": "BBBBB-AAAAA", // ঐচ্ছিক, "content" এর সাথে ব্যবহার করা যাবে না
"content": "new geozone content", // ঐচ্ছিক, "presetCode" এর সাথে ব্যবহার করা যাবে না
"cluster": "GEOZONE CLUSTER CODE", // ঐচ্ছিক। জিওজোন থেকে ক্লাস্টার আনবাইন্ড করতে null উল্লেখ করুন
"campaign": "CAMPAIGN_CODE", // ঐচ্ছিক। জিওজোন থেকে ক্যাম্পেইন আনবাইন্ড করতে null উল্লেখ করুন
"lat": 10.56, // ঐচ্ছিক, জিওজোনের অক্ষাংশ
"lng": 12.523, // ঐচ্ছিক, জিওজোনের দ্রাঘিমাংশ
"range": 500, // ঐচ্ছিক, জিওজোনের পরিসীমা
"timetable": { // ঐচ্ছিক
"timezone": 1234, // সেকেন্ডে
"Mon": [ // উপলব্ধ দিন: Mon, Tue, Wed, Thu, Fri, Sat, Sun। পুশ পাঠানো
{
"start": "04:11",
"stop": "12:00"
}
],
"Sun": [
{ // এক বা দুটি ব্যবধান
"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", // প্রয়োজনীয়, Pushwoosh কন্ট্রোল থেকে API অ্যাক্সেস টোকেন
"application": "XXXXX-XXXXX", // প্রয়োজনীয়, Pushwoosh অ্যাপ্লিকেশন কোড
"geozones": [550, 526] // প্রয়োজনীয়, জিওজোন আইডি
}
}

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", // প্রয়োজনীয়, Pushwoosh কন্ট্রোল থেকে API অ্যাক্সেস টোকেন
"application": "XXXXX-XXXXX", // প্রয়োজনীয়, Pushwoosh অ্যাপ্লিকেশন কোড
"name": "Raccoon city", // প্রয়োজনীয়, ক্লাস্টারের নাম
"cooldown": 3210 // প্রয়োজনীয়, সেকেন্ডে
}
}

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", // প্রয়োজনীয়, Pushwoosh কন্ট্রোল থেকে API অ্যাক্সেস টোকেন
"application": "XXXXX-XXXXX", // প্রয়োজনীয়, Pushwoosh অ্যাপ্লিকেশন কোড
"geoZoneCluster": "EA1CE-69405" // প্রয়োজনীয়, /addGeoZoneCluster অনুরোধ থেকে প্রাপ্ত ক্লাস্টার আইডি
}
}

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", // প্রয়োজনীয়, Pushwoosh কন্ট্রোল থেকে API অ্যাক্সেস টোকেন
"application": "XXXXX-XXXXX" // প্রয়োজনীয়, Pushwoosh অ্যাপ্লিকেশন কোড
}
}

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", // প্রয়োজনীয়, Pushwoosh কন্ট্রোল থেকে API অ্যাক্সেস টোকেন
"application": "XXXXX-XXXXX" // প্রয়োজনীয়, Pushwoosh অ্যাপ্লিকেশন কোড
}
}