Přes REST API — stejně jako přes webové rozhraní — lze odeslat doklad e-mailem. Aby odesílání fungovalo, musí být na serveru nastavené připojení k SMTP serveru.
Nastavení SMTP serveru
Do souboru flexibee-server.xml (na Linuxu v /etc/flexibee/flexibee-server.xml, kde jej najít) doplňte tyto hodnoty:
Hodnota | Význam |
| Adresa SMTP serveru, typicky |
| Port SMTP serveru, typicky 25. Nepovinné. |
| Výchozí e-mailová adresa odesílatele. |
| Režim zabezpečení SMTP komunikace — hodnoty najdete v tabulce níže. |
| Přihlašovací jméno, pokud SMTP server vyžaduje autentizaci. Nepovinné. |
| Heslo. Nepovinné. |
Hodnoty parametru smtp.encryption:
| Bez zabezpečení (výchozí). |
| Zabezpečená komunikace, pokud ji server podporuje (příkaz STARTTLS). |
| Vyžadované přepnutí na zabezpečenou komunikaci (TLS). |
| Plně zabezpečená komunikace (SSL). |
💡 V cloudu, kde k souboru flexibee-server.xml nemáte přístup, lze SMTP nastavit i přes REST API pro jednotlivou firmu — viz Nastavení SMTP serveru - API.
Odeslání dokladu
Na správně nakonfigurovaném serveru znamená odeslání dokladu volání metodou PUT nebo POST na subevidenci odeslani-dokladu:
PUT https://demo.flexibee.eu/c/demo/faktura-vydana/1/odeslani-dokladu.xml?to=email@example.com&subject=Doklad%20ABC
Parametr | Význam |
| Adresát; parametr lze uvést vícekrát. |
| Kopie; parametr lze uvést vícekrát. |
| Předmět e-mailu. |
| Uživatelská e-mailová šablona — identifikátor záznamu z evidence |
| Jazyk PDF přílohy. Není-li uveden, použije se výchozí jazyk e-mailu. |
Musí být zadán alespoň jeden adresát nebo adresát na kopii — jinak vrací API 400 s kódem recipientIsMissing a hlášením Musí být uveden alespoň jeden adresát. Jako odesílatel (hlavička From) bude uveden aktuální uživatel, pod kterým odeslání provádíte, případně výchozí hodnota z konfigurace.
V těle požadavku může být tělo e-mailu v textové podobě kódované v UTF-8. Součástí e-mailu bude v příloze PDF a případně i ISDOC podoba dokladu.
ℹ️ Je nutné uvést buď příponu odeslani-dokladu.xml, nebo hlavičku Accept: text/xml. Parametry v URL musí být správně zakódovány — všimněte si zejména předmětu v příkladu výše.
Odkud se bere text e-mailu
Předmět i tělo se hledají v tomto pořadí — použije se první zdroj, který má neprázdný text:
Parametr
subject, respektive tělo požadavku. Text složený jen z bílých znaků se nepoužije.Šablona z parametru
sablona.Šablona z typu dokladu.
Text z typu dokladu.
Výchozí šablona pro danou evidenci.
Výchozí systémový text.
Přizpůsobování e-mailových zpráv
Zasílané zprávy lze upravit dvěma způsoby:
Přizpůsobení textu — v typu dokladu lze nastavit výchozí text, který se pro zasílání dokladů použije. Uživatelské šablony spravuje evidence
sablona-mail, viz Uživatelské e-mailové šablony v REST API.Přizpůsobení šablony — popsáno v následující sekci.
Přizpůsobení šablony e-mailové zprávy
Základem je zapnutí vývojářského adresáře (developerDirectory). Kompletní popis je delší, nás zajímá jen jeho nastavení a následná úprava šablony:
Do souboru
flexibee-server.xml(kde jej najít?) přidejte záznam s adresářem, kde budou data pro modifikaci:<entry key="developerDirectory">/devel/</entry>Restartujte ABRA Flexi.
V daném adresáři vytvořte adresář
default— tzv. výchozí instanci, jiná hodnota má smysl pouze v cloudovém provozu — a v něm adresář s identifikátorem firmy, který je stejný jako ve webovém rozhraní. Případně lze použít speciální identifikátor!all.Nakopírujte ukázkové skripty do
$developerDirectory/$instance/!all; podstatné jsou soubory z adresářemail-templates.
Automatické odeslání dokladů
ABRA Flexi podporuje automatické odeslání všech dosud neodeslaných dokladů, které jsou označené k odeslání — tedy těch, které mají ve vlastnosti stavMailK hodnotu stavMail.odeslat (v aplikaci pole Stav mailu = Odeslat). Další možné hodnoty jsou stavMail.neodesilat a stavMail.odeslano.
Odeslání lze vynutit voláním:
PUT https://demo.flexibee.eu/c/demo/faktura-vydana/automaticky-odeslat-neodeslane
Accept: application/xml
🚨 Toto volání rozešle e-maily na všechny doklady označené k odeslání naráz, takže si předem ověřte, kolika dokladů se to týká — například dotazem /c/{firma}/faktura-vydana.json?detail=custom:kod,stavMailK&filter=stavMailK%20eq%20'stavMail.odeslat'.
Místo demo zadejte systémový název své firmy — uvidíte jej například v URL po přihlášení do webového rozhraní. Provozujete-li Flexi na vlastním serveru, uveďte místo demo.flexibee.eu adresu svého serveru.
