Cez REST API — rovnako ako cez webové rozhranie — je možné odoslať doklad e-mailom. Aby odosielanie fungovalo, musí byť na serveri nastavené pripojenie k SMTP serveru.
Nastavenie SMTP servera
Do súboru flexibee-server.xml (na Linuxe v /etc/flexibee/flexibee-server.xml, kde ho nájsť) doplňte tieto hodnoty:
Hodnota | Význam |
| Adresa SMTP servera, typicky |
| Port SMTP servera, typicky 25. Nepovinné. |
| Predvolená e-mailová adresa odosielateľa. |
| Režim zabezpečenia SMTP komunikácie — hodnoty nájdete v tabuľke nižšie. |
| Prihlasovacie meno, ak SMTP server vyžaduje autentizáciu. Nepovinné. |
| Heslo. Nepovinné. |
Hodnoty parametra smtp.encryption:
| Bez zabezpečenia (predvolené). |
| Zabezpečená komunikácia, ak ju server podporuje (príkaz STARTTLS). |
| Vyžadované prepnutie na zabezpečenú komunikáciu (TLS). |
| Plne zabezpečená komunikácia (SSL). |
💡 V cloude, kde k súboru flexibee-server.xml nemáte prístup, možno SMTP nastaviť aj cez REST API pre jednotlivú firmu — pozrite Nastavenie SMTP servera - API.
Odoslanie dokladu
Na správne nakonfigurovanom serveri znamená odoslanie dokladu volanie metódou PUT alebo POST na subevidenciu odeslani-dokladu:
PUT https://demo.flexibee.eu/c/demo/faktura-vydana/1/odeslani-dokladu.xml?to=email@example.com&subject=Doklad%20ABC
Parameter | Význam |
| Adresát; parameter možno uviesť viackrát. |
| Kópia; parameter možno uviesť viackrát. |
| Predmet e-mailu. |
| Používateľská e-mailová šablóna — identifikátor záznamu z evidencie |
| Jazyk PDF prílohy. Ak nie je uvedený, použije sa predvolený jazyk e-mailu. |
Musí byť zadaný aspoň jeden adresát alebo adresát v kópii — inak API vráti 400 s kódom recipientIsMissing a hlásením Musí byť uvedený aspoň jeden adresát. Ako odosielateľ (hlavička From) bude uvedený aktuálny používateľ, pod ktorým odoslanie vykonávate, prípadne predvolená hodnota z konfigurácie.
V tele požiadavky môže byť telo e-mailu v textovej podobe kódované v UTF-8. Súčasťou e-mailu bude v prílohe PDF a prípadne aj ISDOC podoba dokladu.
ℹ️ Je potrebné uviesť buď príponu odeslani-dokladu.xml, alebo hlavičku Accept: text/xml. Parametre v URL musia byť správne zakódované — všimnite si najmä predmet v príklade vyššie.
Odkiaľ sa berie text e-mailu
Predmet aj telo sa hľadajú v tomto poradí — použije sa prvý zdroj, ktorý má neprázdny text:
Parameter
subject, respektíve telo požiadavky. Text zložený len z bielych znakov sa nepoužije.Šablóna z parametra
sablona.Šablóna z typu dokladu.
Text z typu dokladu.
Predvolená šablóna pre danú evidenciu.
Predvolený systémový text.
Prispôsobovanie e-mailových správ
Zasielané správy možno upraviť dvoma spôsobmi:
Prispôsobenie textu — v type dokladu možno nastaviť predvolený text, ktorý sa pre zasielanie dokladov použije. Používateľské šablóny spravuje evidencia
sablona-mail, pozrite Používateľské e-mailové šablóny v REST API.Prispôsobenie šablóny — popísané v nasledujúcej sekcii.
Prispôsobenie šablóny e-mailovej správy
Základom je zapnutie vývojárskeho adresára (developerDirectory). Kompletný popis je dlhší, nás zaujíma len jeho nastavenie a následná úprava šablóny:
Do súboru
flexibee-server.xml(kde ho nájsť?) pridajte záznam s adresárom, kde budú dáta pre modifikáciu:<entry key="developerDirectory">/devel/</entry>Reštartujte ABRA Flexi.
V danom adresári vytvorte adresár
default— tzv. predvolenú inštanciu, iná hodnota má zmysel iba v cloudovej prevádzke — a v ňom adresár s identifikátorom firmy, ktorý je rovnaký ako vo webovom rozhraní. Prípadne možno použiť špeciálny identifikátor!all.Skopírujte ukážkové skripty do
$developerDirectory/$instance/!all; podstatné sú súbory z adresáramail-templates.
Automatické odoslanie dokladov
ABRA Flexi podporuje automatické odoslanie všetkých doposiaľ neodoslaných dokladov, ktoré sú označené na odoslanie — teda tých, ktoré majú vo vlastnosti stavMailK hodnotu stavMail.odeslat (v aplikácii pole Stav mailu = Odeslat). Ďalšie možné hodnoty sú stavMail.neodesilat a stavMail.odeslano.
Odoslanie možno vynútiť volaním:
PUT https://demo.flexibee.eu/c/demo/faktura-vydana/automaticky-odeslat-neodeslane
Accept: application/xml
🚨 Toto volanie rozošle e-maily na všetky doklady označené na odoslanie naraz, preto si vopred overte, koľkých dokladov sa to týka — napríklad dotazom /c/{firma}/faktura-vydana.json?detail=custom:kod,stavMailK&filter=stavMailK%20eq%20'stavMail.odeslat'.
Namiesto demo zadajte systémový názov svojej firmy — uvidíte ho napríklad v URL po prihlásení do webového rozhrania. Ak prevádzkujete Flexi na vlastnom serveri, uveďte namiesto demo.flexibee.eu adresu svojho servera.
