ইমেল API
createEmailMessage
Anchor link toএকটি ইমেল বার্তা তৈরি করে।
POST https://api.pushwoosh.com/json/1.3/createEmailMessage
রিকোয়েস্ট বডি প্যারামিটার
Anchor link to| নাম | টাইপ | প্রয়োজনীয় | বিবরণ |
|---|---|---|---|
| auth | string | হ্যাঁ | Pushwoosh কন্ট্রোল প্যানেল থেকে প্রাপ্ত API অ্যাক্সেস টোকেন। |
| application | string | হ্যাঁ | Pushwoosh অ্যাপ্লিকেশন কোড |
| notifications | array | হ্যাঁ | JSON অ্যারে যা ইমেল বার্তার বিবরণ ধারণ করে। নীচের নোটিফিকেশন প্যারামিটার টেবিলটি দেখুন। |
নোটিফিকেশন প্যারামিটার
Anchor link to| নাম | টাইপ | প্রয়োজনীয় | বিবরণ |
|---|---|---|---|
| send_date | string | হ্যাঁ | কখন ইমেল পাঠাতে হবে তা নির্ধারণ করে। ফরম্যাট: YYYY-MM-DD HH:mm অথবা "now"। |
| preset | string | হ্যাঁ | ইমেল প্রিসেট কোড। Pushwoosh কন্ট্রোল প্যানেলের ইমেল কনটেন্ট এডিটর এর URL বার থেকে কপি করুন। |
| subject | string বা object | না | ইমেলের সাবজেক্ট লাইন। ইমেলটি সর্বদা কনটেন্টের ভাষায় থাকবে। যদি subject-এ content-এর জন্য কোনো মিল থাকা ভাষা না থাকে, তাহলে সাবজেক্ট খালি থাকবে। |
| content | string বা object | না | ইমেল বডির কনটেন্ট। এটি প্লেইন HTML কনটেন্টের জন্য একটি স্ট্রিং বা স্থানীয় সংস্করণগুলির জন্য একটি অবজেক্ট হতে পারে। |
| attachments | array | না | ইমেল অ্যাটাচমেন্ট। শুধুমাত্র দুটি অ্যাটাচমেন্ট উপলব্ধ। প্রতিটি অ্যাটাচমেন্ট 1MB (base64 এনকোডেড) এর বেশি হতে পারবে না। |
| list_unsubscribe | string | না | ”Link-Unsubscribe” হেডারের জন্য কাস্টম URL সেট করার অনুমতি দেয়। |
| campaign | string | না | একটি নির্দিষ্ট ক্যাম্পেইনের সাথে ইমেলটি যুক্ত করার জন্য ক্যাম্পেইন কোড। |
| ignore_user_timezone | boolean | না | যদি true হয়, তাহলে ব্যবহারকারীর টাইমজোন উপেক্ষা করে অবিলম্বে ইমেল পাঠায়। |
| timezone | string | না | ব্যবহারকারীর টাইমজোন অনুযায়ী ইমেল পাঠায়। উদাহরণ: "America/New_York"। |
| filter | string | না | একটি নির্দিষ্ট ফিল্টার শর্ত মিলে যাওয়া ব্যবহারকারীদের কাছে ইমেল পাঠায়। |
| devices | array | না | টার্গেটেড ইমেল পাঠানোর জন্য ইমেল ঠিকানার তালিকা (সর্বোচ্চ ১০০০)। যদি ব্যবহার করা হয়, বার্তাটি শুধুমাত্র এই ঠিকানাগুলিতে পাঠানো হয়। অ্যাপ্লিকেশন গ্রুপ ব্যবহার করা হলে উপেক্ষা করা হয়। |
| use_auto_registration | boolean | না | যদি true হয়, তাহলে devices প্যারামিটার থেকে ইমেলগুলি স্বয়ংক্রিয়ভাবে নিবন্ধন করে। |
| users | array | না | যদি সেট করা হয়, ইমেল বার্তাটি শুধুমাত্র নির্দিষ্ট ইউজার আইডিগুলিতে (/registerEmail কলের মাধ্যমে নিবন্ধিত) বিতরণ করা হবে। একটি অ্যারেতে ১০০০-এর বেশি ইউজার আইডি থাকবে না। যদি “devices” প্যারামিটার নির্দিষ্ট করা হয়, তাহলে “users” প্যারামিটার উপেক্ষা করা হবে। |
| dynamic_content_placeholders | object | না | ডিভাইস ট্যাগ ভ্যালুর পরিবর্তে ডাইনামিক কনটেন্টের জন্য প্লেসহোল্ডার। |
| conditions | array | না | ট্যাগ ব্যবহার করে সেগমেন্টেশন শর্ত। উদাহরণ: [["Country", "EQ", "BR"]]। |
| from | object | না | অ্যাপ্লিকেশন প্রোপার্টিজে ডিফল্ট প্রেরকের নাম এবং ইমেল ওভাররাইড করে একটি কাস্টম প্রেরকের নাম এবং ইমেল নির্দিষ্ট করুন। |
| reply-to | object | না | অ্যাপ্লিকেশন প্রোপার্টিজে ডিফল্ট রিপ্লাই-টু ইমেল ওভাররাইড করে একটি কাস্টম রিপ্লাই-টু ইমেল নির্দিষ্ট করুন। |
| bcc | array | না | BCC (ব্লাইন্ড কার্বন কপি): ইমেল ঠিকানাগুলির অ্যারে যা অন্য প্রাপকদের না দেখিয়ে ইমেলের একটি কপি পায়। |
| email_type | string | না | ইমেলের ধরন নির্দিষ্ট করুন: "marketing" বা "transactional"। যদি বাদ দেওয়া হয়, PW_ControlGroup: true সহ ব্যবহারকারীরা বার্তাটি পাবেন না। |
| email_category | string | email_type যখন "marketing" হয় তখন প্রয়োজনীয়। | সাবস্ক্রিপশন প্রেফারেন্স সেন্টারে কনফিগার করা ক্যাটাগরির নামগুলির মধ্যে একটি নির্দিষ্ট করুন (যেমন নিউজলেটার, প্রোমোশনাল, প্রোডাক্ট আপডেট)। |
| transactionId | string | না | নেটওয়ার্ক সমস্যার ক্ষেত্রে পুনরায় পাঠানো রোধ করার জন্য ইউনিক বার্তা শনাক্তকারী। Pushwoosh-এর দিকে ৫ মিনিটের জন্য সংরক্ষণ করা হয়। |
| capping_days | integer | না | প্রতি ডিভাইসে ফ্রিকোয়েন্সি ক্যাপিং প্রয়োগ করার জন্য দিনের সংখ্যা (সর্বোচ্চ ৩০)। দ্রষ্টব্য: কন্ট্রোল প্যানেলে গ্লোবাল ফ্রিকোয়েন্সি ক্যাপিং কনফিগার করা আছে তা নিশ্চিত করুন। |
| capping_count | integer | না | একটি capping_days সময়কালের মধ্যে একটি নির্দিষ্ট অ্যাপ থেকে একটি নির্দিষ্ট ডিভাইসে পাঠানো যেতে পারে এমন সর্বোচ্চ ইমেলের সংখ্যা। যদি তৈরি করা বার্তাটি একটি ডিভাইসের জন্য capping_count সীমা অতিক্রম করে, তবে এটি সেই ডিভাইসে পাঠানো হবে না। |
| capping_exclude | boolean | না | যদি true তে সেট করা হয়, এই ইমেলটি ভবিষ্যতের ইমেলগুলির জন্য ক্যাপিংয়ের দিকে গণনা করা হবে না। |
| capping_avoid | boolean | না | যদি true তে সেট করা হয়, ক্যাপিং এই নির্দিষ্ট ইমেলের জন্য প্রয়োগ করা হবে না। |
| send_rate | integer | না | সমস্ত ব্যবহারকারী জুড়ে প্রতি সেকেন্ডে কতগুলি বার্তা পাঠানো যেতে পারে তা সীমিত করুন। উচ্চ-ভলিউম পাঠানোর সময় ব্যাকএন্ড ওভারলোড প্রতিরোধ করতে সাহায্য করে। |
| send_rate_avoid | boolean | না | যদি 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}{ "status_code": 403, "status_message": "Token restrictions forbid this operation", "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* | string | Pushwoosh অ্যাপ্লিকেশন কোড |
| email* | string | ইমেল ঠিকানা। |
| language | string | ডিভাইসের ভাষা লোকেল। এটি অবশ্যই ISO-639-1 স্ট্যান্ডার্ড অনুযায়ী একটি ছোট হাতের দুই-অক্ষরের কোড হতে হবে। |
| userId | string | ইমেল ঠিকানার সাথে যুক্ত করার জন্য ইউজার আইডি। |
| tz_offset | integer | সেকেন্ডে টাইমজোন অফসেট। |
| tags | object | নিবন্ধিত ডিভাইসে বরাদ্দ করার জন্য ট্যাগ ভ্যালু। |
{ "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| নাম | টাইপ | বিবরণ |
|---|---|---|
| application | string | Pushwoosh অ্যাপ্লিকেশন কোড |
| string | /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| নাম | টাইপ | বিবরণ |
|---|---|---|
| application | string | Pushwoosh অ্যাপ্লিকেশন কোড |
| string | ইমেল ঠিকানা। | |
| tags | object | সেট করার জন্য ট্যাগের JSON অবজেক্ট, ভ্যালু অপসারণ করতে ‘null’ পাঠান। |
| userId | string | ইমেল ঠিকানার সাথে যুক্ত ইউজার আইডি। |
{ "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* | string | Pushwoosh অ্যাপ্লিকেশন কোড |
| email* | string | ইমেল ঠিকানা। |
| userId* | string | ইমেল ঠিকানার সাথে যুক্ত করার জন্য ইউজার আইডি। |
| tz_offset | integer | সেকেন্ডে টাইমজোন অফসেট। |
{ "status_code": 200, "status_message": "OK", "response": null}{ "status_code": 400, "status_message": "Request format is not valid."}{ "status_code": 403, "status_message": "Forbidden."}{ "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. }}