Email API
createEmailMessage
Anchor link toএকটি ইমেইল বার্তা তৈরি করে।
POST https://api.pushwoosh.com/json/1.3/createEmailMessage
Request body প্যারামিটার
Anchor link to| নাম | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
| auth | string | হ্যাঁ | Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন। |
| application | string | হ্যাঁ | Pushwoosh অ্যাপ্লিকেশন কোড |
| notifications | array | হ্যাঁ | ইমেইল বার্তার বিবরণ সম্বলিত JSON অ্যারে। নিচের Notifications প্যারামিটার টেবিলটি দেখুন। |
Notifications প্যারামিটার
Anchor link to| নাম | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
| send_date | string | হ্যাঁ | ইমেইলটি কখন পাঠাতে হবে তা নির্ধারণ করে। ফরম্যাট: YYYY-MM-DD HH:mm অথবা "now"। |
| preset | string | হ্যাঁ | ইমেইল প্রিসেট কোড। Pushwoosh কন্ট্রোল প্যানেলের Email Content Editor-এর URL বার থেকে কপি করুন। |
| subject | string অথবা object | না | ইমেইলের বিষয় (Subject line)। ইমেইলটি সর্বদা কন্টেন্টের ভাষায় থাকবে। যদি 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 | না | টার্গেটেড ইমেইল পাঠানোর জন্য ইমেইল ঠিকানার তালিকা (সর্বোচ্চ ১০০০)। যদি ব্যবহার করা হয়, বার্তাটি শুধুমাত্র এই ঠিকানাগুলিতে পাঠানো হয়। Application Group ব্যবহার করা হলে এটি উপেক্ষা করা হয়। |
| use_auto_registration | boolean | না | যদি true হয়, তবে devices প্যারামিটার থেকে ইমেইলগুলি স্বয়ংক্রিয়ভাবে নিবন্ধন করে। |
| users | array | না | যদি সেট করা থাকে, ইমেইল বার্তাটি শুধুমাত্র নির্দিষ্ট User ID-তে পৌঁছে দেওয়া হবে (/registerEmail কলের মাধ্যমে নিবন্ধিত)। একটি অ্যারেতে ১০০০-এর বেশি ইউজার আইডি নয়। যদি “devices” প্যারামিটার নির্দিষ্ট করা থাকে, তবে “users” প্যারামিটার উপেক্ষা করা হবে। |
| dynamic_content_placeholders | object | না | ডিভাইস ট্যাগ ভ্যালুর পরিবর্তে ডায়নামিক কন্টেন্টের জন্য প্লেসহোল্ডার। |
| conditions | array | না | ট্যাগ ব্যবহার করে সেগমেন্টেশন শর্তাবলী। উদাহরণ: [["Country", "EQ", "BR"]]। |
| from | object | না | অ্যাপ্লিকেশন প্রপার্টিতে ডিফল্ট ওভাররাইড করে একটি কাস্টম প্রেরকের নাম এবং ইমেইল নির্দিষ্ট করুন। |
| reply-to | object | না | অ্যাপ্লিকেশন প্রপার্টিতে ডিফল্ট ওভাররাইড করে একটি কাস্টম reply-to ইমেইল নির্দিষ্ট করুন। |
| 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 সেট করা হয়, তবে এই নির্দিষ্ট ইমেইলের জন্য থ্রটলিং সীমা প্রয়োগ করা হবে না। |
Request উদাহরণ
Anchor link to{ "request": { "auth": "API_ACCESS_TOKEN", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন "application": "APPLICATION_CODE", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড। "notifications": [{ "send_date": "now", // আবশ্যক। YYYY-MM-DD HH:mm অথবা 'now' "preset": "ERXXX-32XXX", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেলের Email Content editor পেজের // URL বার থেকে Email প্রিসেট কোড কপি করুন। "subject": { // ঐচ্ছিক। ইমেইল বার্তার বিষয়। "de": "subject de", "en": "subject en" }, "content": { // ঐচ্ছিক। ইমেইল বডি কন্টেন্ট। "de": "<html><body>de Hello, moto</body></html>", "default": "<html><body>default Hello, moto</body></html>" }, "attachments": [{ // ঐচ্ছিক। ইমেইল অ্যাটাচমেন্ট "name": "image.png", // "name" - ফাইলের নাম "content": "iVBANA...AFTkuQmwC" // "content" - ফাইলের base64 এনকোডেড কন্টেন্ট }, { "name": "file.pdf", "content": "JVBERi...AFTarEGC" }], "list_unsubscribe": "URL", // ঐচ্ছিক। "Link-Unsubscribe" হেডারের জন্য কাস্টম URL সেট করার অনুমতি দেয় "campaign": "CAMPAIGN_CODE", // ঐচ্ছিক। এই ইমেইল বার্তাটি একটি নির্দিষ্ট ক্যাম্পেইনের সাথে যুক্ত করতে, // এখানে একটি ক্যাম্পেইন কোড যোগ করুন। "ignore_user_timezone": true, // ঐচ্ছিক। "timezone": "America/New_York", // ঐচ্ছিক। ব্যবহারকারীর ডিভাইসে সেট করা টাইমজোন অনুযায়ী // বার্তা পাঠাতে নির্দিষ্ট করুন। "filter": "FILTER_NAME", // ঐচ্ছিক। ফিল্টার শর্ত পূরণকারী নির্দিষ্ট ব্যবহারকারীদের বার্তা পাঠান। "devices": [ // ঐচ্ছিক। টার্গেটেড ইমেইল বার্তা পাঠাতে ইমেইল ঠিকানা নির্দিষ্ট করুন। "email_address1", // একটি অ্যারেতে ১০০০-এর বেশি ঠিকানা নয়। "email_address2" // যদি সেট করা থাকে, বার্তাটি শুধুমাত্র তালিকার ঠিকানাগুলিতে ], // পাঠানো হবে। Application Group ব্যবহার করা হলে উপেক্ষা করা হয়। "use_auto_registration": true, // ঐচ্ছিক। "devices" প্যারামিটারে নির্দিষ্ট করা ইমেইলগুলি স্বয়ংক্রিয়ভাবে নিবন্ধন করুন "users": [ // ঐচ্ছিক। যদি সেট করা থাকে, ইমেইল বার্তাটি শুধুমাত্র নির্দিষ্ট "userId1", // ইউজার আইডিগুলিতে পৌঁছে দেওয়া হবে (/registerEmail কলের মাধ্যমে নিবন্ধিত)। "userId2" // একটি অ্যারেতে ১০০০-এর বেশি ইউজার আইডি নয়। ], // যদি "devices" প্যারামিটার নির্দিষ্ট করা থাকে, // তবে "users" প্যারামিটার উপেক্ষা করা হবে। "dynamic_content_placeholders": { // ঐচ্ছিক। ডিভাইস ট্যাগ ভ্যালুর পরিবর্তে ডায়নামিক কন্টেন্টের জন্য প্লেসহোল্ডার। "firstname": "John", "firstname_en": "John" }, "conditions": [ // ঐচ্ছিক। সেগমেন্টেশন শর্তাবলী, নিচের মন্তব্য দেখুন। ["Country", "EQ", "BR"], ["Language", "EQ", "pt"] ], "from": { // ঐচ্ছিক। অ্যাপ্লিকেশন প্রপার্টিতে সেট করা ডিফল্ট "From name" "name": "alias from", // এবং "From email" প্রতিস্থাপন করতে একটি প্রেরকের নাম "email": "from-email@email.com" // এবং প্রেরকের ইমেইল ঠিকানা নির্দিষ্ট করুন। }, "reply-to": { // ঐচ্ছিক। অ্যাপ্লিকেশন প্রপার্টিতে সেট করা ডিফল্ট "Reply to" "name": "alias reply to ", // প্রতিস্থাপন করতে একটি ইমেইল ঠিকানা নির্দিষ্ট করুন। "email": "reply-to@email.com" }, "transactionId": "unique UUID", // ঐচ্ছিক। নেটওয়ার্ক সমস্যার ক্ষেত্রে পুনরায় পাঠানো প্রতিরোধ করতে // অনন্য বার্তা শনাক্তকারী। Pushwoosh-এর সাইডে // ৫ মিনিটের জন্য সংরক্ষিত থাকে। // Frequency capping প্যারামিটার। নিশ্চিত করুন যে কন্ট্রোল প্যানেলে গ্লোবাল ফ্রিকোয়েন্সি ক্যাপিং কনফিগার করা আছে। "capping_days": 30, // ঐচ্ছিক। ফ্রিকোয়েন্সি ক্যাপিংয়ের জন্য দিনের পরিমাণ (সর্বোচ্চ ৩০ দিন) "capping_count": 10, // ঐচ্ছিক। একটি 'capping_days' পিরিয়ডের মধ্যে একটি নির্দিষ্ট অ্যাপ থেকে // একটি নির্দিষ্ট ডিভাইসে পাঠানো যেতে পারে এমন ইমেইলের সর্বোচ্চ সংখ্যা। // যদি তৈরি করা বার্তাটি কোনো ডিভাইসের জন্য 'capping_count' সীমা // অতিক্রম করে, তবে এটি সেই ডিভাইসে পাঠানো হবে না। "capping_exclude": true, // ঐচ্ছিক। যদি true সেট করা হয়, তবে এই ইমেইলটি ভবিষ্যতের ইমেইলগুলির // জন্য ক্যাপিংয়ের দিকে গণনা করা হবে না। "capping_avoid": true, // ঐচ্ছিক। যদি true সেট করা হয়, তবে এই নির্দিষ্ট ইমেইলের জন্য // ক্যাপিং প্রয়োগ করা হবে না। "send_rate": 100, // ঐচ্ছিক। থ্রটলিং সীমা। // সমস্ত ব্যবহারকারী জুড়ে প্রতি সেকেন্ডে কতগুলি বার্তা পাঠানো যেতে পারে তা সীমাবদ্ধ করুন। // উচ্চ-ভলিউম পাঠানোর সময় ব্যাকএন্ড ওভারলোড প্রতিরোধে সহায়তা করে। "send_rate_avoid": true, // ঐচ্ছিক। যদি true সেট করা হয়, তবে এই নির্দিষ্ট ইমেইলের জন্য // থ্রটলিং সীমা প্রয়োগ করা হবে না। }] }}Response উদাহরণ
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
Operand বিবরণ
Anchor link to- EQ: ট্যাগ ভ্যালু operand-এর সমান;
- IN: ট্যাগ ভ্যালু operand-এর সাথে ছেদ করে (operand সর্বদা একটি অ্যারে হতে হবে);
- NOTEQ: ট্যাগ ভ্যালু operand-এর সমান নয়;
- NOTIN: ট্যাগ ভ্যালু operand-এর সাথে ছেদ করে না (operand সর্বদা একটি অ্যারে হতে হবে);
- GTE: ট্যাগ ভ্যালু operand-এর চেয়ে বড় বা সমান;
- LTE: ট্যাগ ভ্যালু operand-এর চেয়ে ছোট বা সমান;
- BETWEEN: ট্যাগ ভ্যালু min operand ভ্যালুর চেয়ে বড় বা সমান কিন্তু max operand ভ্যালুর চেয়ে ছোট বা সমান (operand সর্বদা একটি অ্যারে হতে হবে)।
স্ট্রিং ট্যাগ
Anchor link toবৈধ অপারেটর: EQ, IN, NOTEQ, NOTIN
বৈধ অপারেন্ড:
- EQ, NOTEQ: operand অবশ্যই একটি স্ট্রিং হতে হবে;
- IN, NOTIN: operand অবশ্যই স্ট্রিংয়ের একটি অ্যারে হতে হবে যেমন
["value 1", "value 2", "value N"];
ইন্টিজার ট্যাগ
Anchor link toবৈধ অপারেটর: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
বৈধ অপারেন্ড:
- EQ, NOTEQ, GTE, LTE: operand অবশ্যই একটি ইন্টিজার হতে হবে;
- IN, NOTIN: operand অবশ্যই ইন্টিজারের একটি অ্যারে হতে হবে যেমন
[value 1, value 2, value N]; - BETWEEN: operand অবশ্যই ইন্টিজারের একটি অ্যারে হতে হবে যেমন
[min_value, max_value]।
তারিখ ট্যাগ
Anchor link toবৈধ অপারেটর: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
বৈধ অপারেন্ড:
"YYYY-MM-DD 00:00"(string)- unix timestamp
1234567890(integer) "N days ago"(string) অপারেটর EQ, BETWEEN, GTE, LTE-এর জন্য
বুলিয়ান ট্যাগ
Anchor link toবৈধ অপারেটর: EQ
বৈধ অপারেন্ড: 0, 1, true, false
লিস্ট ট্যাগ
Anchor link toবৈধ অপারেটর: IN
বৈধ অপারেন্ড: operand অবশ্যই স্ট্রিংয়ের একটি অ্যারে হতে হবে যেমন ["value 1", "value 2", "value N"]।
registerEmail
Anchor link toঅ্যাপের জন্য ইমেইল ঠিকানা নিবন্ধন করে।
POST https://api.pushwoosh.com/json/1.3/registerEmail
Request হেডার
Anchor link to| নাম | আবশ্যক | ভ্যালু | বিবরণ |
|---|---|---|---|
| Authorization | হ্যাঁ | টোকেন XXXX | Device API অ্যাক্সেস করতে API ডিভাইস টোকেন। XXXX কে আপনার আসল Device API টোকেন দিয়ে প্রতিস্থাপন করুন। |
Request body
Anchor link to| নাম | টাইপ | বিবরণ |
|---|---|---|
| application* | string | Pushwoosh অ্যাপ্লিকেশন কোড |
| email* | string | ইমেইল ঠিকানা। |
| language | string | ডিভাইসের ল্যাঙ্গুয়েজ লোকেল। ISO-639-1 স্ট্যান্ডার্ড অনুযায়ী অবশ্যই একটি ছোট হাতের দুই-অক্ষরের কোড হতে হবে। |
| userId | string | ইমেইল ঠিকানার সাথে যুক্ত করতে User ID। |
| tz_offset | integer | সেকেন্ডে টাইমজোন অফসেট। |
| tags | object | নিবন্ধিত ডিভাইসে অ্যাসাইন করার জন্য ট্যাগ ভ্যালু। |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request": { "application": "APPLICATION_CODE", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড। "email":"email@domain.com", // আবশ্যক। নিবন্ধিত করার জন্য ইমেইল ঠিকানা। "language": "en", // ঐচ্ছিক। ল্যাঙ্গুয়েজ লোকেল। "userId": "userId", // ঐচ্ছিক। ইমেইল ঠিকানার সাথে যুক্ত করতে User ID। "tz_offset": 3600, // ঐচ্ছিক। সেকেন্ডে টাইমজোন অফসেট। "tags": { // ঐচ্ছিক। নিবন্ধিত ডিভাইসের জন্য সেট করার ট্যাগ ভ্যালু। "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1","string2"], // List টাইপের ট্যাগের জন্য ভ্যালুর তালিকা সেট করে "DateTag": "2024-10-02 22:11", // মনে রাখবেন সময়টি UTC-তে হওয়া উচিত "BooleanTag": true // বৈধ ভ্যালুগুলি হলো: true, false } }}deleteEmail
Anchor link toআপনার ইউজার বেস থেকে ইমেইল ঠিকানা সরিয়ে দেয়।
POST https://api.pushwoosh.com/json/1.3/deleteEmail
Request হেডার
Anchor link to| নাম | আবশ্যক | ভ্যালু | বিবরণ |
|---|---|---|---|
| Authorization | হ্যাঁ | টোকেন XXXX | Device API অ্যাক্সেস করতে API ডিভাইস টোকেন। XXXX কে আপনার আসল Device API টোকেন দিয়ে প্রতিস্থাপন করুন। |
Request body
Anchor link to| নাম | টাইপ | বিবরণ |
|---|---|---|
| application | string | Pushwoosh অ্যাপ্লিকেশন কোড |
| string | /registerEmail অনুরোধে ব্যবহৃত ইমেইল ঠিকানা। |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request": { "application": "APPLICATION_CODE", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড "email": "email@domain.com" // আবশ্যক। অ্যাপ সাবস্ক্রাইবারদের থেকে মুছে ফেলার জন্য ইমেইল। }}setEmailTags
Anchor link toইমেইল ঠিকানার জন্য ট্যাগ ভ্যালু সেট করে।
POST https://api.pushwoosh.com/json/1.3/setEmailTags
Request হেডার
Anchor link to| নাম | আবশ্যক | ভ্যালু | বিবরণ |
|---|---|---|---|
| Authorization | হ্যাঁ | টোকেন XXXX | Device API অ্যাক্সেস করতে API ডিভাইস টোকেন। XXXX কে আপনার আসল Device API টোকেন দিয়ে প্রতিস্থাপন করুন। |
Request body
Anchor link to| নাম | টাইপ | বিবরণ |
|---|---|---|
| application | string | Pushwoosh অ্যাপ্লিকেশন কোড |
| string | ইমেইল ঠিকানা। | |
| tags | object | সেট করার জন্য ট্যাগের JSON অবজেক্ট, ভ্যালু সরাতে ‘null’ পাঠান। |
| userId | string | ইমেইল ঠিকানার সাথে যুক্ত User ID। |
{ "status_code": 200, "status_message": "OK", "response": { "skipped": [] }}{ "request": { "email": "email@domain.com", // আবশ্যক। ট্যাগ সেট করার জন্য ইমেইল ঠিকানা। "application": "APPLICATION_CODE", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড। "tags": { "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], "DateTag": "2024-10-02 22:11", // UTC-তে সময় "BooleanTag": true // বৈধ ভ্যালুগুলি হলো: true, false }, "userId": "userId" // ঐচ্ছিক। ইমেইল ঠিকানার সাথে যুক্ত User ID। }}registerEmailUser
Anchor link toএকটি নির্দিষ্ট ইমেইল ঠিকানার সাথে একটি এক্সটার্নাল User ID যুক্ত করে।
POST https://api.pushwoosh.com/json/1.3/registerEmailUser
/createEmailMessage API কলে (‘users’ প্যারামিটার) ব্যবহার করা যেতে পারে।
Request হেডার
Anchor link to| নাম | আবশ্যক | ভ্যালু | বিবরণ |
|---|---|---|---|
| Authorization | হ্যাঁ | টোকেন XXXX | Device API অ্যাক্সেস করতে API ডিভাইস টোকেন। XXXX কে আপনার আসল Device API টোকেন দিয়ে প্রতিস্থাপন করুন। |
Request body
Anchor link to| নাম | টাইপ | বিবরণ |
|---|---|---|
| application* | string | Pushwoosh অ্যাপ্লিকেশন কোড |
| email* | string | ইমেইল ঠিকানা। |
| userId* | string | ইমেইল ঠিকানার সাথে যুক্ত করতে User ID। |
| 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", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড। "email": "email@domain.com", // আবশ্যক। ব্যবহারকারীর ইমেইল ঠিকানা। "userId": "userId", // আবশ্যক। ইমেইল ঠিকানার সাথে যুক্ত করতে User ID। "tz_offset": 3600 // ঐচ্ছিক। সেকেন্ডে টাইমজোন অফসেট। }}