Jak napojit libovolný e-shop na účetnictví ABRA FlexiBee – část 2. z e-shopu do účetnictví

Přenos objednávek z e-shopu do ABRA FlexiBee

Doporučujeme nejdříve prostudovat 1. díl článku: Přenos dat z účetnictví do e-shopu.

Jaká data bude nutné přenášet z e-shopu do systému ABRA FlexiBee?

Zákazník svou cestu po e-shopu zakončil vytvořením objednávky, kterou je nutné přenést a zpracovat v ABRA FlexiBee. Vytvořit z ní výdejku na skladové zboží a fakturu. K této faktuře pak „napárovat“ úhrady.

Většina napojení e-shopů na FlexiBee nevytváří ve FlexiBee záznamy do evidence objednavka-prijata ale rovnou vytváří faktury nebo výzvy k platbě, aby se snížil počet dokladů, které je potřebné zpracovat. Je však samozřejmě možné vytvořit nejdříve objednávku, a tu vyfakturovat. Každá objednávka obsahuje položky, které určují, co si zákazník objednal. Ve FlexiBee je možné do objednávek (i faktur) zadávat položky z ceníku i bez vyplnění ceníku, skladové i neskladové. Zákazníka lze vybrat z adresáře firem nebo vyplnit přímo na dokladu.

Pro úspěšné vytvoření objednávky je nutné na straně e-shopu nejdříve sestavit XML nebo JSON soubor, a ten pak pomocí metody PUT nebo POST zaslat do FlexiBee.

Soubor pro vytvoření objednávky by měl mít strukturu například:

<winstrom>
<objednavka-prijata>
<id>ext:OBP-ESHOP:123</id> <!-- místo 123 použijte vnitřní identifikátor objendávky v eshopu -->
<typDokl>code:OBP-ESHOP</typDokl> <!-- zkratka typu dokladu, který se má použít na vytvářenou objednávku -->
<stredisko>code:ESHOP</stredisko> <!-- pokud využíváte střediskovou cenotvorbu -->
<firma>code:FIRMA</firma> <!-- zkratka firmy pro výběr firmy z adresáře -->
...
<polozkyDokladu removeAll="true">
<objednavka-prijata-polozka>
<id>ext:OBP-POL-ESHOP:234</id> <!-- místo 234 použijte vnitřní identifikátor položky objednávky v eshopu -->
<cenik>code:CENIK</cenik> <!-- zkratka objednaného zboží z ceníku-->
<sklad>code:SKLAD</sklad> <!-- zkratka skladu ze kterého bude zboží vyskladněno -->
<mnozMj>1</mnozMj> <!-- objednané množství -->
<cenaMj>100</cenaMj> <!-- jednotková cena za kterou bylo zboží objednáno -->
...
</objednavka-prijata-polozka>
</polozkyDokladu>
</objednavka-prijata>
</winstrom>

TIP: Doporučujeme Vám, vždy když posíláte nějaká data do ABRA FlexiBee, snažte se používat identifikátory (elementy id). Umožníte tím zpětné změny na objednávce pro zákazníky z e-shopu (například změnu objednaného množství nebo dodací adresy). Také vyplňujte jen pole, o kterých víte, co znamenají a co se s nimi ovlivňuje. Kompletní seznam polí dostupných pro objednávky přijaté naleznete na adrese https://demo.flexibee.eu/c/demo/objednavka-prijata/properties .

Realizace objednávky

Objednávku z e-shopu nyní zrealizujeme. To je možné v provést buď ručně, nebo automatizovaně.

Pro zautomatizování je potřeba do ABRA FlexiBee poslat XML které bude vypadat například takto:

<objednavka-prijata>
<id>ext:OBP-ESHOP:123</id>
<realizaceObj type="faktura-vydana">
<id>ext:FAV-ESHOP:123</id> <!-- nepovinné, id faktury, která se z objednávky vytvoří -->
<polozkyObchDokladu>
<polozka>
<cisRad>1</cisRad> <!--č. řádky v obj.-->
<mj>1</mj>
</polozka>
</polozkyObchDokladu>
</realizaceObj>
</objednavka-prijata>

Při realizaci objednávky je výhodné vytvářené faktuře rovnou přiřadit externí identifikátor, abychom mohli následně s fakturou pracovat, např. získat PDF tiskopis, odeslat do EET, poslat PDF zákazníkovi mailem.

V případě, že je objednávka zaplacena kartou, je potřeba fakturu, vzniklou z této objednávky, odeslat do EET. Odesílání dokladů do EET popisujeme v článku EET automaticky přes REST API.

Pokud chcete poslat fakturu zákazníkovi mailem, stačí po úspěšné realizaci objednávky odeslat do ABRA FlexiBee XML soubor:

<winstrom>
<faktura-vydana>
<id>ext:FAV-ESHOP:123</id>
<stavMailK>stavMail.odeslat</stavMailK> <!-- na faktuře nastaví, že má dojít k automatickému odeslání -->
</faktura-vydana>
</winstrom>

Samostatné odeslání faktur určených k odeslání se provádí pomocí volání

PUT|POST /c/{firma}/faktura-vydana/automaticky-odeslat-neodeslane

Autentizace evidencí kontaktů

Pokud přemýšlíte, kde mít bezpečně uložena uživatelská jména a hesla vašich zákazníků a jak jednoduchou formou pomocí těchto údajů umožnit uživatelům se přihlásit, je výhodné využít evidenci kontakt.

Pro každého zákazníka je potřeba vytvořit záznam do evidence kontakt s vyplněním polí username a password:

POST /c/{firma}/kontakty/{id}.xml
<kontakt>
<username>jan</username>
<password hash=”” salt=””>heslo</password>
</kontakt>

Autentizace pomocí záznamů v evidenci kontakt se pak provádí pomocí požadavkem POST na adresu:

POST /c/{firma}/kontakty/{id}/authenticate username=jan&password=heslo

Uživatelské dotazy

Pokud se vám zdá, že některá volání jsou pro vás zbytečně složitá nebo pomalá, případně nevracejí výsledky přesně tak, jak potřebujete, můžete využít evidenci uzivatelsky-dotaz.

Tato evidence umožňuje do ABRA FlexiBee doplnit vlastní SQL dotazy, které budou „ušity“ Vám na míru. Díky nim je možné získat z ABRA FlexiBee data, která jsou přes API nedostupná nebo optimalizovat jejich čtení.

Nevýhodou tvorby uživatelských dotazů je nutná znalost databázového schématu ABRA FlexiBee a také to, že systém negarantuje na rozdíl od API stabilitu databázového schématu.

Uživatelský dotaz je pak možné přes API volat:

GET|POST /c/{firma}/uzivatelsky-dotaz/{id}/call.{xml|json}?parametry=hodnoty... &detail/start/limit

Web Hooks

Hook

Další možností, jak propojení zoptimalizovat, je využití web hooks. Je to nejlepší způsob, jakým se e-shop může dozvědět o změnách v systému ABRA FlexiBee v reálném čase.

Dokumentace k web hooks je dostupná na stránce https://www.flexibee.eu/api/dokumentace/ref/web-hooks/. Web hooky Vám ušetří mnoho zbytečně složitých dotazů do ABRA FlexiBee a budete moci načítat pouze ta data, která se reálně změnila.

Zpět na úvodní část návodu

Četli jste první díl tohoto návodu – jak dostat data z účetnictví do e-shopu?

Užitečné odkazy

https://www.flexibee.eu/api/navody/napojeni-internetovy-obchod/
https://www.flexibee.eu/api/dokumentace/casto-kladene-dotazy-pro-api/
https://www.flexibee.eu/api/dokumentace/ref/index/
https://www.flexibee.eu/api/dokumentace/ref/individualni-cenik/
https://www.flexibee.eu/api/dokumentace/ref/realizace-objednavky/
https://www.flexibee.eu/api/dokumentace/ref/uzivatelske-dotazy/