ارسال اعلان تراکنشی
تعریف اعلان تراکنشی
این نوع ارسال محتوا (عنوان، متن، آیکون، عکس و ...) به یک و یا به چند کاربر میباشد.
تفاوت این نوع اعلان با نوع ساده و فیلتردار این است که در این نوع اعلان ارسال شده در پنل ثبت نمیشود و آمار آن هم قابل مشاهده نخواهد بود و ویژگی این نوع اعلان سرعت بالای ارسال آن نسبت به انواع دیگر اعلان میباشد.
در ارسال این نوع اعلان باید به موارد زیر دقت کنید
- گیرندگان اعلان در هر درخواست باید توسط یکی از امکانهای دستهبندی
device_id
و یاcustom_id
مشخص شوند - حداکثر تعداد دریافتکنندهگان اعلان در یک درخواست ۵۰۰ کاربر است
آدرس (url) ارسال اعلان تراکنشی
برای ارسال اعلان تراکنشی برای هر دو پلتفرم اندروید و آیاواس می توانید از آدرس زیر استفاده کنید.
https://api.pushe.co/v2/messaging/web-rapid/
کلیدهای ارسال اعلان تراکنشی
برای ارسال یک اعلان تراکنشی حداقل کلیدهایی که می توان استفاده کرد تا یک اعلان به صورت صحیح ساخته و ارسال شود به شکل زیر است.
- app_id: شناسه اپلیکیشن که از نوع رشته string است.
این فیلد اجباری است
- device_id:
لیستی از شناسه(های) یکتا کاربر است که توسط بروزر به کاربر داده میشود و
مقدار آن با مقدار کلید
device_id
برابر است.
برای مشاده روش دریافت به راهنما پلتفرم مورد استفادهتان بروید
- custom_id:
لیستی از شناسه(های) کاربر میباشد که توسط توسعهدهنده(شما) در کتابخانه پوشه به کاربران وب نسبت داده میشود.
برای مشاده روش دریافت به راهنما پلتفرم مورد استفادهتان بروید
دقت کنید
برای دستهبندی کاربران در اعلان تراکنشی تنها استفاده از یکی از امکانهای دستهبندی یعنی
custom_id
یا device_id
اجباری میباشد و در صورت استفاده همزمان بیش از یک مورد به شما پیام خطا بازگردانده میشود.
data: یک دیکشنری که مقادیر (محتوای) اعلان را نگه میدارد.
- title: این فیلد بیانگر عنوان اعلان میباشد و از نوع رشته string میباشد.
این فیلد اجباری است - content: این فیلد بیانگر متن اعلان میباشد و از نوع رشته string میباشد.
این فیلد اجباری است
- title: این فیلد بیانگر عنوان اعلان میباشد و از نوع رشته string میباشد.
custom_content: یک دیکشنری که در داخل آن میتوانید از کلید و مقدار برای ارسال محتوای دلخواه به اپلیکیشن استفاده کنید.
نکته
برای مشاهده تمامی کلیدهای قابل استفاده در ارسال اعلان به تمامی کلید های اعلان مراجعه کنید.
نمونه کد ارسال اعلان تراکنشی
در نمونه کد های زیر حداقل کد مورد نیاز برای ارسال یک اعلان ساده در زبان های مختلف با عنوان و متن نمایش داده شده. برای مشاهده تمامی کلید های قابل استفاده به بخش تمامی کلید های اعلان مراجعه کنید.
- CURL
- NODE.JS
- PYTHON
- PHP
- GO
- در این نمونه کد از cURL استفاده شده است که میتوانیدتوسط
sudo apt install curl
آن را نصب کنید.
curl -X POST https://api.pushe.co/v2/messaging/web-rapid/ \
-H 'authorization: Token YOUR_TOKEN' \
-H 'content-type: application/json' \
-d '{
"app_id": "YOUR_APP_ID",
"device_id": ["device_id_1","device_id_3", "device_id_2", "device_id_4"],
"data": {"title": "عنوان پیام", "content": "محتوای پیام"},
"custom_content": {"key1": "Value1","Key2": "Value2"}}'
- برای اجرای این کد باید ابتدا پکیج axios را نصب کنید
npm install axios
const axios = require('axios');
const YOUR_TOKEN = 'put your token here ...';
const YOUR_APP_ID = 'put your app id here ...';
const url = `https://api.pushe.co/v2/messaging/web-rapid/`;
const options = {
headers: {
'Authorization': `Token ${YOUR_TOKEN}`,
'Content-Type': 'application/json'
}
};
const data = {
app_id: YOUR_APP_ID,
data: {
title: 'عنوان پیام',
content: 'متن پیام'
},
custom_content: {
key1: "value1",
key2: "value2"
},
device_id: [
'device_id_1',
'device_id_2',
]
};
axios.post(url, data, options)
.then(resp => console.log(resp))
.catch(err => console.error(err));
- برای اجرا نیاز به پایتون ورژن ۳.۶ و به بالا میباشد
- برای اجرای این کد باید ابتدا پکیج requests را نصب کنید.
pip install requests
import requests
import json
YOUR_TOKEN = 'put your token here ...'
YOUR_APP_ID = 'put your app id here ...'
url = f'https://api.pushe.co/v2/messaging/web-rapid/'
headers = {
'Authorization': f'Token {YOUR_TOKEN}',
'Content-Type': 'application/json'
}
payload = json.dumps({
'app_id': YOUR_APP_ID,
'data': {
'title': 'عنوان اعلان',
'content': 'متن اعلان'
},
'custom_content': {
'key1': 'value1',
'key2': 'value2'
},
'device_id': [
'device_id_1',
'device_id_2',
]
})
r = requests.post(url, data=payload, headers=headers)
print(r.status_code)
$YOUR_TOKEN = 'put your token here ...';
$YOUR_APP_ID = 'put your app id here ...';
$ch = curl_init('https://api.pushe.co/v2/messaging/web-rapid/');
curl_setopt_array($ch, array(
CURLOPT_POST => 1,
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"Authorization: Token " . $YOUR_TOKEN,
),
));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array(
'app_id' => $YOUR_APP_ID,
'data' => array(
'title' => 'عنوان پیام',
'content' => 'متن پیام'
),
'custom_content' => array(
'key1' => 'value1',
'key2' => 'value2'
),
'device_id' => array(
'device_id_1',
'device_id_2'
)
)));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
package main
import (
"fmt"
"bytes"
"io/ioutil"
"encoding/json"
"net/http"
)
const YOUR_TOKEN = "put your token here ..."
const YOUR_APP_ID = "put your app id here ..."
func main() {
url := "https://api.pushe.co/v2/messaging/web-rapid/"
payload := map[string]interface{}{
"app_id" : YOUR_APP_ID,
"data": map[string]string{
"title": "عنوان اعلان",
"content": "متن اعلان",
},
"custom_content": map[string]string{
"key1": "value1",
"key2": "value2",
},
"device_id": []string{
"device_id_1",
"device_id_2",
}
}
jsonValue, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonValue))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Token " + YOUR_TOKEN)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("response Status:", resp.Status)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println("response Body:", string(body))
}