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

ইমেল API

createEmailMessage

Anchor link to

একটি ইমেল বার্তা তৈরি করে।

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

রিকোয়েস্ট বডি প্যারামিটার

Anchor link to
নামটাইপ
প্রয়োজনীয়বিবরণ
authstringহ্যাঁPushwoosh কন্ট্রোল প্যানেল থেকে প্রাপ্ত API অ্যাক্সেস টোকেন
applicationstringহ্যাঁPushwoosh অ্যাপ্লিকেশন কোড
notificationsarrayহ্যাঁJSON অ্যারে যা ইমেল বার্তার বিবরণ ধারণ করে। নীচের নোটিফিকেশন প্যারামিটার টেবিলটি দেখুন।

নোটিফিকেশন প্যারামিটার

Anchor link to
নামটাইপ
প্রয়োজনীয়বিবরণ
send_datestringহ্যাঁকখন ইমেল পাঠাতে হবে তা নির্ধারণ করে। ফরম্যাট: YYYY-MM-DD HH:mm অথবা "now"
presetstringহ্যাঁইমেল প্রিসেট কোড। Pushwoosh কন্ট্রোল প্যানেলের ইমেল কনটেন্ট এডিটর এর URL বার থেকে কপি করুন।
subjectstring বা objectনাইমেলের সাবজেক্ট লাইন। ইমেলটি সর্বদা কনটেন্টের ভাষায় থাকবে। যদি subject-এ content-এর জন্য কোনো মিল থাকা ভাষা না থাকে, তাহলে সাবজেক্ট খালি থাকবে।
contentstring বা objectনাইমেল বডির কনটেন্ট। এটি প্লেইন HTML কনটেন্টের জন্য একটি স্ট্রিং বা স্থানীয় সংস্করণগুলির জন্য একটি অবজেক্ট হতে পারে।
attachmentsarrayনাইমেল অ্যাটাচমেন্ট। শুধুমাত্র দুটি অ্যাটাচমেন্ট উপলব্ধ। প্রতিটি অ্যাটাচমেন্ট 1MB (base64 এনকোডেড) এর বেশি হতে পারবে না।
list_unsubscribestringনা”Link-Unsubscribe” হেডারের জন্য কাস্টম URL সেট করার অনুমতি দেয়।
campaignstringনাএকটি নির্দিষ্ট ক্যাম্পেইনের সাথে ইমেলটি যুক্ত করার জন্য ক্যাম্পেইন কোড
ignore_user_timezonebooleanনাযদি true হয়, তাহলে ব্যবহারকারীর টাইমজোন উপেক্ষা করে অবিলম্বে ইমেল পাঠায়।
timezonestringনাব্যবহারকারীর টাইমজোন অনুযায়ী ইমেল পাঠায়। উদাহরণ: "America/New_York"
filterstringনাএকটি নির্দিষ্ট ফিল্টার শর্ত মিলে যাওয়া ব্যবহারকারীদের কাছে ইমেল পাঠায়।
devicesarrayনাটার্গেটেড ইমেল পাঠানোর জন্য ইমেল ঠিকানার তালিকা (সর্বোচ্চ ১০০০)। যদি ব্যবহার করা হয়, বার্তাটি শুধুমাত্র এই ঠিকানাগুলিতে পাঠানো হয়। অ্যাপ্লিকেশন গ্রুপ ব্যবহার করা হলে উপেক্ষা করা হয়।
use_auto_registrationbooleanনাযদি true হয়, তাহলে devices প্যারামিটার থেকে ইমেলগুলি স্বয়ংক্রিয়ভাবে নিবন্ধন করে।
usersarrayনাযদি সেট করা হয়, ইমেল বার্তাটি শুধুমাত্র নির্দিষ্ট ইউজার আইডিগুলিতে (/registerEmail কলের মাধ্যমে নিবন্ধিত) বিতরণ করা হবে। একটি অ্যারেতে ১০০০-এর বেশি ইউজার আইডি থাকবে না। যদি “devices” প্যারামিটার নির্দিষ্ট করা হয়, তাহলে “users” প্যারামিটার উপেক্ষা করা হবে।
dynamic_content_placeholdersobjectনাডিভাইস ট্যাগ ভ্যালুর পরিবর্তে ডাইনামিক কনটেন্টের জন্য প্লেসহোল্ডার।
conditionsarrayনাট্যাগ ব্যবহার করে সেগমেন্টেশন শর্ত। উদাহরণ: [["Country", "EQ", "BR"]]
fromobjectনাঅ্যাপ্লিকেশন প্রোপার্টিজে ডিফল্ট প্রেরকের নাম এবং ইমেল ওভাররাইড করে একটি কাস্টম প্রেরকের নাম এবং ইমেল নির্দিষ্ট করুন।
reply-toobjectনাঅ্যাপ্লিকেশন প্রোপার্টিজে ডিফল্ট রিপ্লাই-টু ইমেল ওভাররাইড করে একটি কাস্টম রিপ্লাই-টু ইমেল নির্দিষ্ট করুন।
bccarrayনাBCC (ব্লাইন্ড কার্বন কপি): ইমেল ঠিকানাগুলির অ্যারে যা অন্য প্রাপকদের না দেখিয়ে ইমেলের একটি কপি পায়।
email_typestringনাইমেলের ধরন নির্দিষ্ট করুন: "marketing" বা "transactional"। যদি বাদ দেওয়া হয়, PW_ControlGroup: true সহ ব্যবহারকারীরা বার্তাটি পাবেন না।
email_categorystringemail_type যখন "marketing" হয় তখন প্রয়োজনীয়।সাবস্ক্রিপশন প্রেফারেন্স সেন্টারে কনফিগার করা ক্যাটাগরির নামগুলির মধ্যে একটি নির্দিষ্ট করুন (যেমন নিউজলেটার, প্রোমোশনাল, প্রোডাক্ট আপডেট)।
transactionIdstringনানেটওয়ার্ক সমস্যার ক্ষেত্রে পুনরায় পাঠানো রোধ করার জন্য ইউনিক বার্তা শনাক্তকারী। Pushwoosh-এর দিকে ৫ মিনিটের জন্য সংরক্ষণ করা হয়।
capping_daysintegerনাপ্রতি ডিভাইসে ফ্রিকোয়েন্সি ক্যাপিং প্রয়োগ করার জন্য দিনের সংখ্যা (সর্বোচ্চ ৩০)। দ্রষ্টব্য: কন্ট্রোল প্যানেলে গ্লোবাল ফ্রিকোয়েন্সি ক্যাপিং কনফিগার করা আছে তা নিশ্চিত করুন।
capping_countintegerনাএকটি capping_days সময়কালের মধ্যে একটি নির্দিষ্ট অ্যাপ থেকে একটি নির্দিষ্ট ডিভাইসে পাঠানো যেতে পারে এমন সর্বোচ্চ ইমেলের সংখ্যা। যদি তৈরি করা বার্তাটি একটি ডিভাইসের জন্য capping_count সীমা অতিক্রম করে, তবে এটি সেই ডিভাইসে পাঠানো হবে না।
capping_excludebooleanনাযদি true তে সেট করা হয়, এই ইমেলটি ভবিষ্যতের ইমেলগুলির জন্য ক্যাপিংয়ের দিকে গণনা করা হবে না।
capping_avoidbooleanনাযদি true তে সেট করা হয়, ক্যাপিং এই নির্দিষ্ট ইমেলের জন্য প্রয়োগ করা হবে না।
send_rateintegerনাসমস্ত ব্যবহারকারী জুড়ে প্রতি সেকেন্ডে কতগুলি বার্তা পাঠানো যেতে পারে তা সীমিত করুন। উচ্চ-ভলিউম পাঠানোর সময় ব্যাকএন্ড ওভারলোড প্রতিরোধ করতে সাহায্য করে।
send_rate_avoidbooleanনাযদি true তে সেট করা হয়, থ্রটলিং সীমা এই নির্দিষ্ট ইমেলের জন্য প্রয়োগ করা হবে না।

রিকোয়েস্টের উদাহরণ

Anchor link to
{
"request": {
"auth": "API_ACCESS_TOKEN", // required. API access token from Pushwoosh Control Panel
"application": "APPLICATION_CODE", // required. Pushwoosh application code.
"notifications": [{
"send_date": "now", // required. YYYY-MM-DD HH:mm OR 'now'
"preset": "ERXXX-32XXX", // required. Copy Email preset code from the URL bar of
// the Email Content editor page in Pushwoosh Control Panel.
"subject": { // optional. Email message subject line.
"de": "subject de",
"en": "subject en"
},
"content": { // optional. Email body content.
"de": "<html><body>de Hello, moto</body></html>",
"default": "<html><body>default Hello, moto</body></html>"
},
"attachments": [{ // optional. Email attachments
"name": "image.png", // "name" - file name
"content": "iVBANA...AFTkuQmwC" // "content" - base64 encoded content of the file
}, {
"name": "file.pdf",
"content": "JVBERi...AFTarEGC"
}],
"list_unsubscribe": "URL", // optional. Allow to set custom URL for "Link-Unsubscribe" header
"campaign": "CAMPAIGN_CODE", // optional. To assign this email message to a particular campaign,
// add a campaign code here.
"ignore_user_timezone": true, // optional.
"timezone": "America/New_York", // optional. Specify to send the message according to
// timezone set on user's device.
"filter": "FILTER_NAME", // optional. Send the message to specific users meeting filter conditions.
"devices": [ // optional. Specify email addresses to send targeted email messages.
"email_address1", // Not more than 1000 addresses in an array.
"email_address2" // If set, the message will only be sent to the addresses on
], // the list. Ignored if the Application Group is used.
"use_auto_registration": true, // optional. Automatically register emails specified in "devices" parameter
"users": [ // optional. If set, the email message will only be delivered to the
"userId1", // specified user IDs (registered via /registerEmail call).
"userId2" // Not more than 1000 user IDs in an array.
], // If the "devices" parameter is specified,
// the "users" parameter will be ignored.
"dynamic_content_placeholders": { // optional. Placeholders for dynamic content instead of device tag values.
"firstname": "John",
"firstname_en": "John"
},
"conditions": [ // optional. Segmentation conditions, see remark below.
["Country", "EQ", "BR"],
["Language", "EQ", "pt"]
],
"from": { // optional. Specify a sender name and sender email address
"name": "alias from", // to replace the default "From name" and "From email"
"email": "from-email@email.com" // set up in application properties.
},
"reply-to": { // optional. Specify an email address to replace the
"name": "alias reply to ", // default "Reply to" set up in application properties.
"email": "reply-to@email.com"
},
"bcc": [ // optional. BCC: array of email addresses that receive a copy without other recipients seeing them.
"bcc1@example.com",
"bcc2@example.com"
],
"email_type": "marketing", // optional. "marketing" or "transactional".
// If omitted, users with PW_ControlGroup: true will not receive the message.
"email_category": "category name",// required when email_type is "marketing". Category name.
"transactionId": "unique UUID", // optional. Unique message identifier to prevent re-sending
// in case of network problems. Stored on the side
// of Pushwoosh for 5 minutes.
// Frequency capping params. Ensure that Global frequency capping is configured in the Control Panel.
// Frequency capping does not apply to transactional messages.
// In all other cases, including omitted "email_type", frequency capping applies.
"capping_days": 30, // optional. Amount of days for frequency capping (max 30 days)
"capping_count": 10, // optional. The max number of emails that can be sent from a
// specific app to a particular device within a 'capping_days'
// period. In case the message created exceeds the
// 'capping_count' limit for a device, it won't
// be sent to that device.
"capping_exclude": true, // optional. If set to true, this email will not
// be counted towards the capping for future emails.
"capping_avoid": true, // optional. If set to true, capping will not be applied to
// this specific email.
"send_rate": 100, // optional. Throttling limit.
// Limit how many messages can be sent per second across all users.
// Helps prevent backend overload during high-volume sends.
"send_rate_avoid": true, // optional. If set to true, throttling limit will not be applied to
// this specific email.
}]
}
}

রেসপন্সের উদাহরণ

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": null
}

ট্যাগ শর্তাবলী

Anchor link to

প্রতিটি ট্যাগ শর্ত একটি অ্যারে যেমন [tagName, operator, operand] যেখানে

  • tagName: একটি ট্যাগের নাম
  • operator: “EQ” | “IN” | “NOTEQ” | “NOTIN” | “LTE” | “GTE” | “BETWEEN”
  • operand: string | integer | array | date

অপারেন্ডের বর্ণনা

Anchor link to
  • EQ: ট্যাগ ভ্যালু অপারেন্ডের সমান;
  • IN: ট্যাগ ভ্যালু অপারেন্ডের সাথে ছেদ করে (অপারেন্ড অবশ্যই একটি অ্যারে হতে হবে);
  • NOTEQ: ট্যাগ ভ্যালু একটি অপারেন্ডের সমান নয়;
  • NOTIN: ট্যাগ ভ্যালু অপারেন্ডের সাথে ছেদ করে না (অপারেন্ড অবশ্যই একটি অ্যারে হতে হবে);
  • GTE: ট্যাগ ভ্যালু অপারেন্ডের চেয়ে বড় বা সমান;
  • LTE: ট্যাগ ভ্যালু অপারেন্ডের চেয়ে ছোট বা সমান;
  • BETWEEN: ট্যাগ ভ্যালু সর্বনিম্ন অপারেন্ড ভ্যালুর চেয়ে বড় বা সমান কিন্তু সর্বোচ্চ অপারেন্ড ভ্যালুর চেয়ে ছোট বা সমান (অপারেন্ড অবশ্যই একটি অ্যারে হতে হবে)।

স্ট্রিং ট্যাগ

Anchor link to

বৈধ অপারেটর: EQ, IN, NOTEQ, NOTIN
বৈধ অপারেন্ড:

  • EQ, NOTEQ: অপারেন্ড অবশ্যই একটি স্ট্রিং হতে হবে;
  • IN, NOTIN: অপারেন্ড অবশ্যই ["value 1", "value 2", "value N"] এর মতো স্ট্রিংগুলির একটি অ্যারে হতে হবে;

পূর্ণসংখ্যা ট্যাগ

Anchor link to

বৈধ অপারেটর: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
বৈধ অপারেন্ড:

  • EQ, NOTEQ, GTE, LTE: অপারেন্ড অবশ্যই একটি পূর্ণসংখ্যা হতে হবে;
  • IN, NOTIN: অপারেন্ড অবশ্যই [value 1, value 2, value N] এর মতো পূর্ণসংখ্যার একটি অ্যারে হতে হবে;
  • BETWEEN: অপারেন্ড অবশ্যই [min_value, max_value] এর মতো পূর্ণসংখ্যার একটি অ্যারে হতে হবে।

তারিখ ট্যাগ

Anchor link to

বৈধ অপারেটর: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
বৈধ অপারেন্ড:

  • "YYYY-MM-DD 00:00" (স্ট্রিং)
  • ইউনিক্স টাইমস্ট্যাম্প 1234567890 (পূর্ণসংখ্যা)
  • "N days ago" (স্ট্রিং) অপারেটর EQ, BETWEEN, GTE, LTE এর জন্য

বুলিয়ান ট্যাগ

Anchor link to

বৈধ অপারেটর: EQ
বৈধ অপারেন্ড: 0, 1, true, false

তালিকা ট্যাগ

Anchor link to

বৈধ অপারেটর: IN
বৈধ অপারেন্ড: অপারেন্ড অবশ্যই ["value 1", "value 2", "value N"] এর মতো স্ট্রিংগুলির একটি অ্যারে হতে হবে।

registerEmail

Anchor link to

অ্যাপের জন্য ইমেল ঠিকানা নিবন্ধন করে।

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

রিকোয়েস্ট হেডার

Anchor link to
নামপ্রয়োজনীয়মানবিবরণ
Authorizationহ্যাঁToken XXXXডিভাইস API অ্যাক্সেস করার জন্য API ডিভাইস টোকেনXXXX কে আপনার আসল ডিভাইস API টোকেন দিয়ে প্রতিস্থাপন করুন।

রিকোয়েস্ট বডি

Anchor link to
নামটাইপবিবরণ
application*stringPushwoosh অ্যাপ্লিকেশন কোড
email*stringইমেল ঠিকানা।
languagestringডিভাইসের ভাষা লোকেল। এটি অবশ্যই ISO-639-1 স্ট্যান্ডার্ড অনুযায়ী একটি ছোট হাতের দুই-অক্ষরের কোড হতে হবে।
userIdstringইমেল ঠিকানার সাথে যুক্ত করার জন্য ইউজার আইডি
tz_offsetintegerসেকেন্ডে টাইমজোন অফসেট।
tagsobjectনিবন্ধিত ডিভাইসে বরাদ্দ করার জন্য ট্যাগ ভ্যালু।
{
"status_code": 200,
"status_message": "OK",
"response": null
}
উদাহরণ
{
"request": {
"application": "APPLICATION_CODE", // required. Pushwoosh application code.
"email":"email@domain.com", // required. Email address to be registered.
"language": "en", // optional. Language locale.
"userId": "userId", // optional. User ID to associate with the email address.
"tz_offset": 3600, // optional. Timezone offset in seconds.
"tags": { // optional. Tag values to set for the device registered.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1","string2"], // sets the list of values for Tags of List type
"DateTag": "2024-10-02 22:11", // note the time should be in UTC
"BooleanTag": true // valid values are: true, false
}
}
}

deleteEmail

Anchor link to

আপনার ইউজার বেস থেকে ইমেল ঠিকানা সরিয়ে দেয়।

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

রিকোয়েস্ট হেডার

Anchor link to
নামপ্রয়োজনীয়মানবিবরণ
Authorizationহ্যাঁToken XXXXডিভাইস API অ্যাক্সেস করার জন্য API ডিভাইস টোকেনXXXX কে আপনার আসল ডিভাইস API টোকেন দিয়ে প্রতিস্থাপন করুন।

রিকোয়েস্ট বডি

Anchor link to
নামটাইপবিবরণ
applicationstringPushwoosh অ্যাপ্লিকেশন কোড
emailstring/registerEmail রিকোয়েস্টে ব্যবহৃত ইমেল ঠিকানা।
{
"status_code": 200,
"status_message": "OK",
"response": null
}
উদাহরণ
{
"request": {
"application": "APPLICATION_CODE", // required. Pushwoosh application code
"email": "email@domain.com" // required. Email to delete from app subscribers.
}
}

setEmailTags

Anchor link to

ইমেল ঠিকানার জন্য ট্যাগ ভ্যালু সেট করে।

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

রিকোয়েস্ট হেডার

Anchor link to
নামপ্রয়োজনীয়মানবিবরণ
Authorizationহ্যাঁToken XXXXডিভাইস API অ্যাক্সেস করার জন্য API ডিভাইস টোকেনXXXX কে আপনার আসল ডিভাইস API টোকেন দিয়ে প্রতিস্থাপন করুন।

রিকোয়েস্ট বডি

Anchor link to
নামটাইপবিবরণ
applicationstringPushwoosh অ্যাপ্লিকেশন কোড
emailstringইমেল ঠিকানা।
tagsobjectসেট করার জন্য ট্যাগের JSON অবজেক্ট, ভ্যালু অপসারণ করতে ‘null’ পাঠান।
userIdstringইমেল ঠিকানার সাথে যুক্ত ইউজার আইডি
{
"status_code": 200,
"status_message": "OK",
"response": {
"skipped": []
}
}
উদাহরণ
{
"request": {
"email": "email@domain.com", // required. Email address to set tags for.
"application": "APPLICATION_CODE", // required. Pushwoosh application code.
"tags": {
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // time in UTC
"BooleanTag": true // valid values are: true, false
},
"userId": "userId" // optional. User ID associated with the email address.
}
}

registerEmailUser

Anchor link to

একটি নির্দিষ্ট ইমেল ঠিকানার সাথে একটি এক্সটার্নাল ইউজার আইডি যুক্ত করে।

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

/createEmailMessage API কলে ব্যবহার করা যেতে পারে (‘users’ প্যারামিটার)।

রিকোয়েস্ট হেডার

Anchor link to
নামপ্রয়োজনীয়মানবিবরণ
Authorizationহ্যাঁToken XXXXডিভাইস API অ্যাক্সেস করার জন্য API ডিভাইস টোকেনXXXX কে আপনার আসল ডিভাইস API টোকেন দিয়ে প্রতিস্থাপন করুন।

রিকোয়েস্ট বডি

Anchor link to
নামটাইপবিবরণ
application*stringPushwoosh অ্যাপ্লিকেশন কোড
email*stringইমেল ঠিকানা।
userId*stringইমেল ঠিকানার সাথে যুক্ত করার জন্য ইউজার আইডি
tz_offsetintegerসেকেন্ডে টাইমজোন অফসেট।
{
"status_code": 200,
"status_message": "OK",
"response": null
}
উদাহরণ
{
"request": {
"application": "APPLICATION_CODE", // required. Pushwoosh application code.
"email": "email@domain.com", // required. User email address.
"userId": "userId", // required. User ID to associate with the email address.
"tz_offset": 3600 // optional. Timezone offset in seconds.
}
}