Přenos objednávek z e-shopu do ABRA Flexi
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 Flexi?
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 Flexi. 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 Flexi nevytváří ve Flexi 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 Flexi 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 Flexi.
Soubor pro vytvoření objednávky by měl mít strukturu například:
<?xml version="1.0"?> <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 Flexi, 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 Flexi poslat XML které bude vypadat například takto:
<?xml version="1.0"?> <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 Flexi XML soubor:
<?xml version="1.0"?> <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}.xmljanheslo
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 Flexi doplnit vlastní SQL dotazy, které budou „ušity“ Vám na míru. Díky nim je možné získat z ABRA Flexi 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 Flexi 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
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 Flexi v reálném čase.
Dokumentace k web hooks je dostupná zde. Web hooky Vám ušetří mnoho zbytečně složitých dotazů do ABRA Flexi a budete moci načítat pouze ta data, která se reálně změnila.
Užitečné odkazy
Internetový obchod
Často kladené otázky
Index