Přejít na dokumentaci
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ý href je 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/render a 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.