Znalostní báze
Šablony
Tělo napsané jednou, verzované a odeslané mnohokrát: z editoru zpráv, z vašeho vlastního kódu nebo agentem.
Podrobnosti
- Šablona patří připojení, nikoli osobě, která ji napsala, což je celý důvod, proč byla první verze tohoto řešení nahrazena. Ta byla klíčovaná podle uživatele: šablona kolegy byla pro API klíč pracovního prostoru neviditelná, takže integrace nemohla odeslat to, co viděl člověk, který ji nastavil, a smazání autorova účtu vzalo s sebou i šablony pracovního prostoru. Řádky byly převedeny, nikoli zahozeny.
- Dva způsoby, jak napsat tělo. Strom bloků nad komponentami
@react-email/components(Section, Row, Column, Container, Text, Heading, Button, Link, Img, Hr, Markdown, CodeBlock, CodeInline), kontrolovaný už při psaní, takže vadný uzel nebo nebezpečnýhrefje odmítnut při volání, které jej zapsalo, místo aby dorazil jako rozbitý e-mail. Nebo značkovací kód, který jste vykreslili sami: pokud jsou vaše šablony už react-email komponentami ve vašem vlastním repozitáři, vykreslete je tam pomocí@react-email/rendera odešlete HTML, které se při publikování verze jednou sanitizuje. - Dvacet tři výchozích bodů a jeden prázdný, v galerii místo v nabídce, protože jde o věci, na které se musíte podívat, než si mezi nimi vyberete, takže každá karta ukazuje samotný e-mail. Uvítání a ověření, účtenky a faktury, doručení a obnovení, přehledy a oznámení, rozložené pod čtyřmi nadpisy, a každý se otevře ve vizuálním editoru, kde je každý kus přesunutelný, přestylovatelný a smazatelný. Ať si vyberete kterýkoli, dorazí jako koncept, takže dokud jej nepublikujete, nelze nic odeslat.
- Galerie je jediná část tohoto celku, která existuje pouze v aplikaci. Volající, který se k šablonám dostává z vašeho vlastního kódu nebo z agenta, odešle tělo (blokový dokument nebo vlastní značkovací kód), místo aby pojmenoval výchozí bod, takže těch dvacet tři je místem, kde začít, nikoli katalogem k instalaci.
- Pojmenované sloty a pojmenované props jsou dva druhy mezer, zapisované jako {{key}} v těle i v předmětu. Slot vyplňuje ten, kdo šablonu upravuje, a nese výchozí hodnotu, takže odeslání, které nepojmenuje nic, se přesto vykreslí. Prop se dodává při odeslání a ten označený jako required odeslání odmítne, pokud chybí: 422 a žádná pošta neodejde. To odmítnutí je smyslem jeho deklarace: alternativou je zpráva odcházející s prázdným místem tam, kde mělo být číslo objednávky, což nic nehlásí a nikdo nedokáže vzít zpět.
- Publikovaná verze je zmrazená. Úprava těla publikované šablony vytvoří nový koncept, místo aby přepsala to, co je živé, takže odesílání dál rozřešuje to, co rozřešovalo včera, dokud někdo nepublikuje, a odeslání, které připíná číslo verze, není zasaženo ani pak. Tělo se kompiluje při publikování, díky čemuž šablona, která se nevykreslí, selže pro toho, kdo ji publikuje, a ne pro příjemce.
- Náhled vykreslí přesně to, co by odeslání vytvořilo, aniž by to odeslal, a nahlásí, co je stále prázdné, místo aby to odmítl. Šablona, která se prohlíží v náhledu, je obvykle šablona, která se právě píše, a autor vyplňující jeden blok po druhém by neměl muset uspokojit každý prop, aby viděl, co má zatím hotové.
- Každá šablona nese vlastní záznam o tom, co odeslala: kolik zpráv odešlo za posledních sedm, třicet nebo devadesát dní, které z nich byly otevřeny a u kterých bylo kliknuto, řadu den po dni a rozdělení podle toho, odkud každé odeslání přišlo: z editoru zpráv, z vašeho kódu, od agenta nebo z fronty. Každá míra pojmenovává vlastní jmenovatel, místo aby si ho půjčovala, protože se skutečně liší: otevření se počítají ze zpráv, které nesly pixel, kliknutí ze zpráv, které nesly přepsaný odkaz, a zpráva může nést jedno bez druhého. Náhled se nezaznamenává vůbec a testovací odeslání se počítá zvlášť a je vynecháno z každého čísla, protože nikdy neodešlo.
- Tento záznam je upřímný v tom, co nevidí, a právě proto lze věřit té polovině, kterou vidí. Odeslání se ke svému záznamu o doručení páruje samotným odesláním a takový záznam nese pouze pošta odeslaná z vašeho vlastního kódu nebo z fronty. Zpráva odeslaná z editoru zpráv, od agenta nebo asistentem jej nenese. Šablona používaná převážně z editoru zpráv tak dorazí s většinou odeslání nespárovaných a počet nespárovaných se zobrazuje jako vlastní číslo, místo aby se započítal jako „nikdo ji neotevřel“.
- Čtyři rozhraní nad jednou službou, takže otázka „co znamená publikovat“ má jednu odpověď místo tří, které se dnes shodnou. Tlačítko Šablony v editoru zpráv nabízí ty publikované a NAHRAZUJE zprávu tím, co vyberete, místo aby to vložilo dovnitř: odeslání pojmenuje šablonu, verze se připne v okamžiku, kdy ji zvolíte, a tělo se vykreslí tam, kde bylo napsáno, takže publikace mezi výběrem a kliknutím nemůže změnit to, co odejde, a rozvržení, které by editor zpráv neudržel, zůstane nedotčené. To, co tam vyplňujete, jsou hodnoty, ne tělo. /templates je devět endpointů za scopy templates:read a templates:write, obalených metodu po metodě v SDK. Odeslání šablony vyžaduje kromě oprávnění k šablonám i oprávnění k odesílání, takže klíč vydaný nástroji na psaní textů může psát a publikovat, aniž by mohl komukoli poslat poštu. MCP server nese pět nástrojů: výpis, čtení, náhled, vytvoření a odeslání. Záměrně neexistuje žádný nástroj pro úpravu, smazání nebo publikování existující šablony. Úprava vytvoří koncept, ke kterému by se další odeslání nedostalo, a smazání nelze vzít zpět. Úprava uloženého těla je obrazovka: /workspace/templates nese blokové plátno s paletou a inspektorem, živý náhled vedle něj a Uložit a Publikovat jako oddělené úkony, což je to, díky čemu je publikovaná verze něčím, co můžete nechat být, zatímco pracujete na další.
- 200 šablon na připojení, blokový dokument omezený na 500 bloků, osm úrovní vnoření, 20 000 znaků v jedné hodnotě a 100 slotů a 100 props; tělo odeslané jako značkovací kód omezené na milion znaků a předmět na 998. Každý z těchto limitů je pojistka proti zdivočelému skriptu, nikoli limit tarifu, každý odmítne hlášením, které pojmenuje číslo, na kterém odmítl, a nic ze šablon není vázáno na úroveň tarifu.