टेम्पलेट से भेजें
संग्रहीत body संदेश देती है; अनुरोध लिफ़ाफ़ा और मान देता है।
असली कॉल आपकी अपनी कुंजी से आपके वर्कस्पेस पर चलाता है।
POST /templates/{id}/send
संग्रहीत body संदेश देती है; अनुरोध लिफ़ाफ़ा और मान देता है।
उदाहरण
templates:write और emails:send दोनों चाहिए। Idempotency-Key को ठीक वैसे ही मानता है जैसे POST /emails मानता है।
curl -X POST "$OE/templates/order-shipped/send" -H "$AUTH" \ -H "Content-Type: application/json" -H "Idempotency-Key: order:AC-4192:shipped" \ -d '{ "from": "Acme Dispatch <[email protected]>", "to": ["[email protected]"], "version": 5, "props": { "orderId": "AC-4192", "customer": "Ada" } }'{ "object": "email", "id": "msg_c5f21cc6…", "status": "queued", "from": "[email protected]", "subject": "Order AC-4192 is on its way", "template": { "id": "order-shipped", "version": 5 }}दोनों scopes, और कोई भी अतिरिक्त नहीं है: templates:write इसलिए कि कॉलर संग्रहीत body तक पहुँच रहा है, emails:send इसलिए कि मेल वर्कस्पेस से बाहर जाती है। जो key अपनी body भेज सकती है, वह भी किसी और का टेम्पलेट नहीं भेज सकती।
किसी भी स्वचालित चीज़ में version पिन करें। छोड़ देने पर आप वही हल करते हैं जो उस क्षण प्रकाशित है — जो तब ठीक है जब कॉपी का मालिक कोई और हो, और उस सुबह ठीक नहीं जब वे उसे दोबारा लिखें।
subject केवल इसी संदेश के लिए टेम्पलेट के अपने subject को ओवरराइड करता है, और cancellableForSeconds, tracking तथा tags ठीक वैसे ही काम करते हैं जैसे सादे send पर।
POST /emails एक template फ़ील्ड स्वीकार करता है जो यही काम करती है, उस कॉलर के लिए जो पहले से वहीं संदेश बनाता है। यह एंडपॉइंट इसलिए है कि संग्रहीत body तक पहुँचने के लिए उस संदेश का आकार देना न पड़े जिसे आप रच ही नहीं रहे।
जब send अस्वीकार होता है
Props सुझाव नहीं, अनुबंध हैं, और नीचे की हर विफलता कुछ भी भेजे जाने से पहले होती है। दूसरा रास्ता — वह संदेश जो ऑर्डर नंबर की जगह ख़ाली छोड़कर चला जाए — किसी भी चीज़ से रिपोर्ट नहीं होता और वापस नहीं बुलाया जा सकता।
| कोड | स्थिति | क्या हुआ |
|---|---|---|
| `resource_not_found` | 404 | इस connection पर उस id या slug वाला कोई टेम्पलेट नहीं है। |
| `template_not_published` | 422 | वह मौजूद है और कभी प्रकाशित नहीं हुआ, या आपने जिस संस्करण का नाम लिया वह अब भी ड्राफ़्ट है। |
| `template_version_not_found` | 422 | आपने ऐसा version पिन किया जो इस टेम्पलेट के पास कभी था ही नहीं। |
| `missing_template_prop` | 422 | required घोषित किया गया prop अनुपस्थित, null या ख़ाली था। |
| `unknown_template_prop` | 422 | आपने ऐसी key भेजी जिसे यह संस्करण घोषित नहीं करता। संदेश उन keys के नाम बताता है जिन्हें वह घोषित करता है। |
| `unknown_template_slot` | 422 | वही, एक slot के लिए। |
| `invalid_template_prop` | 422 | ऐसा मान जो string, number या boolean नहीं है। object या array को HTML में प्रतिस्थापित नहीं किया जा सकता। |
इन पर param template.props.<key> होता है, ताकि क्लाइंट संदेश पार्स किए बिना उस फ़ील्ड की ओर इशारा कर सके जो उससे ग़लत हुई।