ईमेल टेम्पलेट्स API
ईमेल टेम्पलेट्स API एक एप्लिकेशन के ईमेल प्रीसेट के पीछे पुन: प्रयोज्य ईमेल टेम्पलेट्स का प्रबंधन करता है — वही टेम्पलेट्स जो आप कंट्रोल पैनल के ईमेल संपादक में बनाते हैं। प्रत्येक टेम्पलेट प्रति-लोकेल विषय, प्रेषक जानकारी और संपादक सामग्री संग्रहीत करता है, और यह उस ईमेल प्रीसेट के कोड द्वारा पहचाना जाता है जिससे यह जुड़ा हुआ है। उस कोड का उपयोग Notify (ईमेल पेलोड email_template) या एक कस्टमर जर्नी Send email point के माध्यम से टेम्पलेट भेजने के लिए करें।
बेस URL
Anchor link tohttps://rpc-api.svc-nue.pushwoosh.comसभी एंडपॉइंट HTTPS पर परोसे जाते हैं। अनुरोध और प्रतिक्रियाएं application/json का उपयोग करती हैं जब तक कि अन्यथा उल्लेख न किया गया हो।
प्रमाणीकरण
Anchor link toहर अनुरोध में आपके सर्वर API टोकन के साथ एक Authorization हेडर शामिल होना चाहिए:
Authorization: Api YOUR_API_TOKENपरंपराएं
Anchor link to- फील्ड नेमिंग: अनुरोध बॉडी और क्वेरी/पाथ पैरामीटर
lowerCamelCase(उदाहरण के लिए,previewSettings,searchByLabel,includeHtml) स्वीकार करते हैं — सर्वर किसी भी केसिंग को अनमार्शल करता है। प्रतिक्रियाएं हमेशा प्रोटो फील्ड नामों का उपयोग करकेsnake_caseमें मार्शल की जाती हैं (per_page,email_template,sender_info,preview_settings, इत्यादि)। प्रतिक्रिया उदाहरण और नीचे दिए गए ऑब्जेक्ट संदर्भ उस केसिंग का उपयोग करते हैं। code: प्रत्येक टेम्पलेट प्रतिक्रिया अपने जुड़े हुए ईमेल प्रीसेट का कोड ले जाती है, न कि एक आंतरिक टेम्पलेट आईडी। इसी कोड कोGet,Update,Delete, और ऊपर दिए गए मैसेजिंग/जर्नी API को पास करें।- अनपॉप्युलेटेड फील्ड्स: प्रतिक्रियाओं में सभी फील्ड्स शामिल होते हैं, भले ही वे खाली या शून्य-मूल्य वाले हों।
त्रुटि प्रतिक्रियाएं
Anchor link to| HTTP स्थिति | अर्थ |
|---|---|
400 Bad Request | अमान्य तर्क — एक आवश्यक फ़ील्ड गुम है या विकृत है, या एक पूर्व शर्त विफल हो गई है (उदाहरण के लिए, एक टेम्पलेट को हटाना जो अभी भी एक Journey द्वारा उपयोग किया जा रहा है)। |
401 Unauthorized | गुम या अमान्य Authorization हेडर। |
403 Forbidden | एप्लिकेशन या प्रीसेट कॉलर के खाते से संबंधित नहीं है। |
404 Not Found | टेम्पलेट, प्रीसेट, या एप्लिकेशन नहीं मिला। |
500 Internal Server Error | अप्रत्याशित सर्वर-साइड विफलता। |
एंडपॉइंट्स
Anchor link to| मेथड | पाथ | विवरण |
|---|---|---|
POST | /api/email_templates | एक नया ईमेल टेम्पलेट बनाएं |
GET | /api/email_templates | एक एप्लिकेशन के ईमेल टेम्पलेट्स की सूची बनाएं |
GET | /api/email_templates/{code} | एक एकल ईमेल टेम्पलेट प्राप्त करें |
PUT | /api/email_templates/{code} | एक ईमेल टेम्पलेट अपडेट करें |
DELETE | /api/email_templates/{code} | एक ईमेल टेम्पलेट हटाएं |
POST | /api/email_templates:clone | एक ईमेल टेम्पलेट को एक एप्लिकेशन में क्लोन करें |
बनाएं
Anchor link toएक एप्लिकेशन में एक नया ईमेल टेम्पलेट बनाता है — इसकी संपादक सामग्री और एक जुड़ा हुआ ईमेल प्रीसेट — और उत्पन्न टेम्पलेट कोड लौटाता है।
POST /api/email_templates
अनुरोध बॉडी
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
application | string | हाँ | वह Pushwoosh एप्लिकेशन कोड जिसमें टेम्पलेट बनाना है। |
name | string | हाँ | टेम्पलेट का नाम, 1-255 अक्षर। |
content | object | हाँ | ईमेल सामग्री ऑब्जेक्ट। |
label | string | नहीं | फ्री-टेक्स्ट लेबल, 255 अक्षरों तक। |
categories | array of strings | नहीं | टेम्पलेट को टैग करने के लिए श्रेणी के नाम। |
previewSettings | object | नहीं | मनमानी संपादक पूर्वावलोकन सेटिंग्स, जैसी हैं वैसी ही संग्रहीत और लौटाई जाती हैं। |
system | boolean | नहीं | टेम्पलेट को एक सिस्टम टेम्पलेट के रूप में चिह्नित करता है — एक आंतरिक सुविधा, जैसे एक सिंक-ब्लॉक टुकड़ा। सिस्टम टेम्पलेट्स List से छिपे होते हैं (नीचे नोट देखें), लेकिन कोड द्वारा पहुंच योग्य रहते हैं। डिफ़ॉल्ट रूप से false होता है। |
अनुरोध उदाहरण
Anchor link to{ "application": "XXXXX-XXXXX", "name": "Welcome email", "label": "onboarding", "categories": ["lifecycle"], "content": { "senderInfo": { "from": { "email": "hello@acme.com", "name": "Acme" }, "replyTo": { "email": "support@acme.com", "name": "Acme Support" } }, "subject": { "en": "Welcome to Acme!", "default": "Welcome to Acme!" }, "pushwoosh": { "html": "<html><body>Welcome, {name|string|there}!</body></html>", "localizationData": { "default": { "name": "there" } } } }}प्रतिक्रिया
Anchor link to{ "email_template": { ... } } लौटाता है — बनाया गया ईमेल टेम्पलेट ऑब्जेक्ट, लेकिन content के बिना (यह एंडपॉइंट इसे वापस नहीं भेजता है)। यदि आपको सामग्री वापस पढ़ने की आवश्यकता है तो लौटाए गए code के साथ Get को कॉल करें।
सूची
Anchor link toएक एप्लिकेशन के ईमेल टेम्पलेट्स की सूची बनाता है — केवल मेटाडेटा, कोई सामग्री नहीं — पेजिंग, ऑर्डरिंग, और नाम, लेबल, या श्रेणी के आधार पर फ़िल्टरिंग के साथ।
GET /api/email_templates
क्वेरी पैरामीटर
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
application | string | हाँ | वह एप्लिकेशन कोड जिसके लिए टेम्पलेट्स की सूची बनानी है। |
orderBy | string | नहीं | NAME (डिफ़ॉल्ट), CREATED, या UPDATED। |
orderDirection | string | नहीं | ASC (डिफ़ॉल्ट) या DESC। |
page | integer | नहीं | शून्य-आधारित पेज इंडेक्स। |
perPage | integer | नहीं | पेज का आकार। छोड़े जाने या 0 होने पर 100 पर डिफ़ॉल्ट होता है। यह एंडपॉइंट एक स्पष्ट अधिकतम लागू नहीं करता है। |
searchByName | string | नहीं | टेम्पलेट के नाम या उसके कोड के खिलाफ सबस्ट्रिंग मिलान (like %value%) — कोई भी मिलान पर्याप्त है। |
searchByLabel | string | नहीं | लेबल पर सबस्ट्रिंग मिलान (like %label%), या जब strictSearchByLabel true हो तो सटीक मिलान। |
strictSearchByLabel | boolean | नहीं | searchByLabel के लिए सबस्ट्रिंग के बजाय सटीक-मिलान का उपयोग करें। |
searchByCategory | array of strings | नहीं | कई श्रेणियों में से किसी एक द्वारा फ़िल्टर करने के लिए पैरामीटर को दोहराएं, जैसे ?searchByCategory=lifecycle&searchByCategory=promo। |
प्रतिक्रिया
Anchor link to| फील्ड | प्रकार | विवरण |
|---|---|---|
email_templates | array of objects | ईमेल टेम्पलेट ऑब्जेक्ट्स का वर्तमान पेज। प्रत्येक आइटम पर content null है। |
page | integer | लौटाया गया पेज इंडेक्स। |
per_page | integer | इस प्रतिक्रिया के लिए उपयोग किया गया पेज आकार। |
total | integer | सभी पेजों पर फ़िल्टर से मेल खाने वाले टेम्पलेट्स की कुल संख्या। |
प्रतिक्रिया उदाहरण
Anchor link to{ "email_templates": [ { "code": "AAAAA-BBBBB", "name": "Welcome email", "label": "onboarding", "categories": ["lifecycle"] } ], "page": 0, "per_page": 100, "total": 1}प्राप्त करें
Anchor link toएक एकल ईमेल टेम्पलेट को उसके कोड द्वारा लौटाता है, जिसमें प्रेषक जानकारी, प्रति-लोकेल विषय और पूर्ण संपादक सामग्री शामिल है।
GET /api/email_templates/{code}
पाथ पैरामीटर
Anchor link to| पैरामीटर | प्रकार | विवरण |
|---|---|---|
code | string | टेम्पलेट का कोड (इसका जुड़ा हुआ ईमेल प्रीसेट कोड)। |
क्वेरी पैरामीटर
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
includeHtml | boolean | नहीं | क्या संपादक सामग्री के साथ रेंडर किया गया html लौटाना है। डिफ़ॉल्ट रूप से true होता है। इसे छोड़ने के लिए false पर सेट करें — यह आमतौर पर पेलोड का आधा से अधिक होता है, और संपादक सामग्री पहले से ही टेम्पलेट का वर्णन करती है। |
प्रतिक्रिया
Anchor link to{ "email_template": { ... } } लौटाता है, जो पूर्ण ईमेल टेम्पलेट ऑब्जेक्ट है।
अपडेट करें
Anchor link toएक मौजूदा ईमेल टेम्पलेट को कोड द्वारा अपडेट करता है, दिए गए फ़ील्ड्स को ओवरराइट करता है।
PUT /api/email_templates/{code}
पाथ पैरामीटर
Anchor link to| पैरामीटर | प्रकार | विवरण |
|---|---|---|
code | string | अपडेट करने के लिए टेम्पलेट का कोड। |
अनुरोध बॉडी
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
name | string | नहीं | नया नाम, 1-255 अक्षर। वर्तमान नाम रखने के लिए छोड़ दें। |
content | object | नहीं | नया ईमेल सामग्री ऑब्जेक्ट, संग्रहीत सामग्री को पूरी तरह से बदल देता है। सामग्री को अपरिवर्तित छोड़ने के लिए छोड़ दें। |
label | string | नहीं | नया लेबल। हमेशा ओवरराइट किया जाता है — इसे साफ़ करने के लिए छोड़ दें या "" भेजें। |
categories | array of strings | नहीं | श्रेणी नामों का नया पूरा सेट। श्रेणियों को अपरिवर्तित छोड़ने के लिए छोड़ दें; उन्हें साफ़ करने के लिए [] भेजें। |
previewSettings | object | नहीं | नई पूर्वावलोकन सेटिंग्स। अपरिवर्तित छोड़ने के लिए छोड़ दें। |
अनुरोध उदाहरण
Anchor link to{ "name": "Welcome email v2", "label": "onboarding", "content": { "senderInfo": { "from": { "email": "hello@acme.com", "name": "Acme" } }, "subject": { "default": "Welcome to Acme — updated!" }, "pushwoosh": { "html": "<html>...</html>", "localizationData": {} } }}प्रतिक्रिया
Anchor link to{ "email_template": { ... } } लौटाता है — अपडेट किया गया ईमेल टेम्पलेट ऑब्जेक्ट, यह भी content के बिना। यदि आपको सामग्री वापस पढ़ने की आवश्यकता है तो Get को कॉल करें।
हटाएं
Anchor link toएक ईमेल टेम्पलेट और उसके जुड़े प्रीसेट को कोड द्वारा हटाता है, संग्रहीत सामग्री को हटा देता है।
DELETE /api/email_templates/{code}
पाथ पैरामीटर
Anchor link to| पैरामीटर | प्रकार | विवरण |
|---|---|---|
code | string | हटाने के लिए टेम्पलेट का कोड। |
प्रतिक्रिया
Anchor link toसफलता पर एक खाली ऑब्जेक्ट: {}।
क्लोन करें
Anchor link toएक ईमेल टेम्पलेट — उसकी सामग्री और प्रीसेट — को एक गंतव्य एप्लिकेशन में क्लोन करता है, वैकल्पिक रूप से एक नए नाम के तहत।
POST /api/email_templates:clone
अनुरोध बॉडी
Anchor link to| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
emailPresetCode | string | हाँ | क्लोन करने के लिए टेम्पलेट का code (Create, Get, List, या Update द्वारा लौटाया गया)। यहाँ emailPresetCode नाम दिया गया है क्योंकि यह जुड़े हुए ईमेल प्रीसेट का कोड है — परंपराएं देखें। |
application | string | हाँ | गंतव्य एप्लिकेशन कोड। यह वही एप्लिकेशन हो सकता है, या उसी खाते के स्वामित्व वाला एक अलग एप्लिकेशन हो सकता है। |
name | string | नहीं | क्लोन के लिए नाम, 1-255 अक्षर। स्रोत टेम्पलेट के नाम पर डिफ़ॉल्ट होता है। |
अनुरोध उदाहरण
Anchor link to{ "emailPresetCode": "AAAAA-BBBBB", "application": "YYYYY-YYYYY", "name": "Welcome email (copy)"}प्रतिक्रिया
Anchor link to| फील्ड | प्रकार | विवरण |
|---|---|---|
email_preset_code | string | नए टेम्पलेट का code — वही पहचानकर्ता जिसे Get/Update/Delete code कहते हैं। |
ऑब्जेक्ट संदर्भ
Anchor link toनीचे दिए गए फ़ील्ड नाम Get, List, Update, और Create द्वारा वास्तव में लौटाए गए नामों से मेल खाते हैं — snake_case प्रोटो फ़ील्ड नाम (परंपराएं देखें)। जब आप इन समान संरचनाओं को एक अनुरोध बॉडी (Create, Update) में वापस भेजते हैं, तो ऊपर दिए गए अनुरोध उदाहरणों में उपयोग किया गया lowerCamelCase रूप भी काम करता है; सर्वर इनपुट पर किसी भी केसिंग को स्वीकार करता है।
ईमेल टेम्पलेट ऑब्जेक्ट
Anchor link to| फील्ड | प्रकार | विवरण |
|---|---|---|
code | string | जुड़े हुए ईमेल प्रीसेट का कोड। API में हर जगह इस टेम्पलेट की पहचान करता है। |
name | string | टेम्पलेट का नाम। |
label | string | फ्री-टेक्स्ट लेबल। |
categories | array of strings | श्रेणी के नाम। |
content | object | ईमेल सामग्री ऑब्जेक्ट। केवल Get द्वारा पॉप्युलेट किया जाता है; Create, List, और Update प्रतिक्रियाओं में null होता है। |
preview_settings | object | मनमानी संपादक पूर्वावलोकन सेटिंग्स। |
created | string (RFC 3339) | निर्माण टाइमस्टैम्प। |
updated | string (RFC 3339) | अंतिम अपडेट टाइमस्टैम्प। |
ईमेल सामग्री ऑब्जेक्ट
Anchor link to| फील्ड | प्रकार | विवरण |
|---|---|---|
sender_info | object | प्रेषक जानकारी ऑब्जेक्ट — from और reply_to पते। |
subject | object (map) | प्रति-लोकेल विषय, जैसे { "en": "Subject", "default": "Subject" }। |
unlayer / pushwoosh / smartcards | object | संपादक सामग्री। इनमें से ठीक एक सेट होना चाहिए — यह चुनता है कि कौन सा संपादक टेम्पलेट का उत्पादन (और रेंडर) करेगा। नीचे संपादक प्रकार देखें। |
संपादक प्रकार
Anchor link to| प्रकार | फील्ड | आवश्यक उप-फील्ड्स | विवरण |
|---|---|---|---|
unlayer | html, localization_data, editor_config | editor_config, localization_data | ड्रैग-एंड-ड्रॉप ब्लॉक संपादक (Unlayer)। editor_config Unlayer डिज़ाइन JSON है। |
pushwoosh | html, localization_data | localization_data | Pushwoosh का अपना HTML-आधारित संपादक। प्रोग्रामेटिक/API-लिखित टेम्पलेट्स के लिए अनुशंसित। |
smartcards | html, localization_data, content | content, localization_data | स्मार्ट कार्ड्स ब्लॉक संपादक; content इसका संपादक-विशिष्ट JSON है। |
हर प्रकार में, html रेंडर किया गया आउटपुट है। localization_data उस संपादक की अपनी प्रति-लोकेल सामग्री है: लोकेल कोड (en, es, default, …) द्वारा कुंजीबद्ध एक ऑब्जेक्ट, जहां प्रत्येक मान उस लोकेल के संपादक के फ़ील्ड्स की प्रति है। इसका आंतरिक आकार संपादक-विशिष्ट है और इस API के लिए अपारदर्शी है — API इसे जैसा है वैसा ही संग्रहीत और लौटाता है। यह Create/Update पर हर प्रकार के लिए आवश्यक है (यदि स्थानीयकरण के लिए कुछ भी नहीं है तो {} भेजें)।
html या localization_data मान के अंदर का टेक्स्ट Dynamic Content टैग शामिल कर सकता है, जैसे {name|string|there} — जब ईमेल वास्तव में भेजा जाता है तो वे प्राप्तकर्ता के डिवाइस टैग के खिलाफ हल होते हैं। यह API उन्हें हल नहीं करता है; यह बस आपके द्वारा डाले गए किसी भी टेक्स्ट को संग्रहीत और लौटाता है।
प्रेषक जानकारी ऑब्जेक्ट
Anchor link to| फील्ड | प्रकार | विवरण |
|---|---|---|
from | object | { "email": string, "name": string } — प्रेषक का पता। |
reply_to | object | { "email": string, "name": string } — उत्तर-से पता। |
दोनों email उप-फ़ील्ड, जब खाली न हों, तो मान्य ईमेल पते होने चाहिए।