Využíváme cookies pro zajištění snadnějšího použití našich webových stránek. Pokračováním v prohlížení webu předpokládáme, že s tím souhlasíte. Rozumím Více informací

Pro vývojáře

Technické parametry POHODA mServer:

  • POHODA mServer využívá HTTP protokol pro přenos libovolných dat pomocí páru požadavek-odpověď. Požadavek i odpověď jsou složeny z textových hlaviček, prázdného řádku a binárních dat. Typ dat je určen pomocí MIME (Intenet Mail Extension) typů v hlavičce Content-Type.
  • Přenos dat z účetní jednotky programu POHODA pouze ve formátu XML. Program POHODA podporuje pouze tento typ dat Content-Type: text/xml.
  • XML data je možné předávat pouze pomocí metody POST. Metoda GET není pro přenos XML dat podporována.
  • Pro přenos libovolného typu souboru je nutné použít metodu GET. POHODA mServer umožní přenést(exportovat) pouze soubory ze složky dokumentů firmy.
  • POHODA mServer je určen pro komunikaci na lokální síti/PC. POHODA mServer naslouchá na nastaveném portu. Pokud obdrží http požadavek, provede jeho zpracování a odpoví zpět.
  • Hlavička HTTP požadavku musí obsahovat parametr STW-Authorization, který slouží pro přístup(autentizaci) k programu POHODA. POHODA mServer přijme HTTP požadavek a spoustí XML komunikaci v programu POHODA pro zpracování XML dat. Aby mohl POHODA mServer spustit XML zpracování dat v programu POHODA, potřebuje platné přístupové údaje(uživatelské jméno a heslo) do programu POHODA. Jméno a heslo je zasláno jako jeden textový řetězec. Za jméno je připojena dvojtečka a za ni heslo. Výsledný řetězec je poté zakódován metodou Base64 a odeslán v rámci HTTP požadavku. Aktuálně je podporována pouze Basic Authentication.
  • POHODA mServer podporuje komprese přenášených dat. Aktuálně jsou podporovány metody: gzip/deflate.

Komunikace s POHODA mServer prostřednictvím metody POST:

Je určena pro:
  • přenos XML dat do/z účetní jednotky programu POHODA.

Při volání mServeru prostřednictvím HTTP protokolu a metody POST je nutné v HTTP požadavku zadat:

  • adresa mServeru.
  • číslo portu, na kterém mServer naslouchá".
  • umístění na serveru "/XML".
  • autentizaci pro přístup do programu POHODA, parametr STW-Authorization
Příklad použití: POST http://localhost:444/xml

V hlavičce HTTP požadavku je možné zadat tyto nepovinné rozšiřující parametry:

  • STW-Application, který slouží pro identifikaci aplikace, která komunikaci s POHODA mServere vyvola.
  • STW-Instance, který slouží pro identifikaci jednotlivé komunikace v rámci jedné aplikace s POHODA mServere.
  • Accept-Encoding informace pro POHODA mServer, že klient podporuje kompresi přenášených dat.
Pomocí těchto parametrů můžete následně provádět filtrování záznamu v diloagu pro monotoring komunikace na mServeru.

Přenos dat přes POHODA mServer

Pohoda mServer využívá pro přenos dat standardní XML komunikaci programu POHODA. Bližší informace ke struktuře XML nalezenete na www.stormware.cz/xml

Ukázka komunikace HTTP klienta s POHODA mServer

Příklad požadavku HTTP klienta na mServer POHODA na export "Zásob" z programu POHODA.

POST http://localhost:444/xml HTTP/1.1
User-Agent: User-Agent: STORMWARE HTTP client. http://www.stormware.cz
STW-Authorization: Basic QDo=
Content-Type: text/xml
Accept-Encoding: gzip, deflate
Host: http://localhost:444
Content-Length: 527
Pragma: no-cache
Connection: Keep-Alive

<?xml version="1.0" encoding="Windows-1250"?>
<dat:dataPack xmlns:dat="http://www.stormware.cz/schema/version_2/data.xsd" xmlns:stk="http://www.stormware.cz/schema/version_2/stock.xsd" xmlns:ftr="http://www.stormware.cz/schema/version_2/filter.xsd" xmlns:lStk="http://www.stormware.cz/schema/version_2/list_stock.xsd" xmlns:typ="http://www.stormware.cz/schema/version_2/type.xsd" id="00000001" ico="25313142" application="HTTP klient" version="2.0" note="Export zasob">
  <dat:dataPackItem id="00000001" version="2.0">
    <lStk:listStockRequest version="2.0" stockVersion="2.0">
      <lStk:requestStock/>
    </lStk:listStockRequest>
  </dat:dataPackItem>
</dat:dataPack>

Příklad odpovědi mServeru programu POHODA

HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Type: text/xml; charset=Windows-1250
Content-Length: 1151

<?xml version="1.0" encoding="Windows-1250"?>
<rsp:responsePack version="2.0" id="Z001" state="ok" programVersion="11600.32 (8.2.2017)" ico="12345678" note="export zásob" xmlns:rsp="http://www.stormware.cz/schema/version_2/response.xsd" xmlns:rdc="http://www.stormware.cz/schema/version_2/documentresponse.xsd" xmlns:typ="http://www.stormware.cz/schema/version_2/type.xsd" xmlns:lst="http://www.stormware.cz/schema/version_2/list.xsd" xmlns:lStk="http://www.stormware.cz/schema/version_2/list_stock.xsd" xmlns:lAdb="http://www.stormware.cz/schema/version_2/list_addBook.xsd" xmlns:acu="http://www.stormware.cz/schema/version_2/accountingunit.xsd" xmlns:inv="http://www.stormware.cz/schema/version_2/invoice.xsd" xmlns:vch="http://www.stormware.cz/schema/version_2/voucher.xsd" xmlns:int="http://www.stormware.cz/schema/version_2/intDoc.xsd" xmlns:stk="http://www.stormware.cz/schema/version_2/stock.xsd" xmlns:ord="http://www.stormware.cz/schema/version_2/order.xsd" xmlns:ofr="http://www.stormware.cz/schema/version_2/offer.xsd" xmlns:enq="http://www.stormware.cz/schema/version_2/enquiry.xsd" xmlns:vyd="http://www.stormware.cz/schema/version_2/vydejka.xsd" xmlns:pri="http://www.stormware.cz/schema/version_2/prijemka.xsd" xmlns:bal="http://www.stormware.cz/schema/version_2/balance.xsd" xmlns:pre="http://www.stormware.cz/schema/version_2/prevodka.xsd" xmlns:vyr="http://www.stormware.cz/schema/version_2/vyroba.xsd" xmlns:pro="http://www.stormware.cz/schema/version_2/prodejka.xsd" xmlns:con="http://www.stormware.cz/schema/version_2/contract.xsd" xmlns:adb="http://www.stormware.cz/schema/version_2/addressbook.xsd" xmlns:prm="http://www.stormware.cz/schema/version_2/parameter.xsd" xmlns:lCon="http://www.stormware.cz/schema/version_2/list_contract.xsd" xmlns:ctg="http://www.stormware.cz/schema/version_2/category.xsd" xmlns:ipm="http://www.stormware.cz/schema/version_2/intParam.xsd" xmlns:str="http://www.stormware.cz/schema/version_2/storage.xsd" xmlns:idp="http://www.stormware.cz/schema/version_2/individualPrice.xsd" xmlns:sup="http://www.stormware.cz/schema/version_2/supplier.xsd" xmlns:prn="http://www.stormware.cz/schema/version_2/print.xsd" xmlns:act="http://www.stormware.cz/schema/version_2/accountancy.xsd" xmlns:bnk="http://www.stormware.cz/schema/version_2/bank.xsd" xmlns:sto="http://www.stormware.cz/schema/version_2/store.xsd" xmlns:grs="http://www.stormware.cz/schema/version_2/groupStocks.xsd" xmlns:acp="http://www.stormware.cz/schema/version_2/actionPrice.xsd" xmlns:csh="http://www.stormware.cz/schema/version_2/cashRegister.xsd" xmlns:bka="http://www.stormware.cz/schema/version_2/bankAccount.xsd" xmlns:ilt="http://www.stormware.cz/schema/version_2/inventoryLists.xsd" xmlns:nms="http://www.stormware.cz/schema/version_2/numericalSeries.xsd" xmlns:pay="http://www.stormware.cz/schema/version_2/payment.xsd" xmlns:mKasa="http://www.stormware.cz/schema/version_2/mKasa.xsd" xmlns:ftr="http://www.stormware.cz/schema/version_2/filter.xsd">
  <rsp:responsePackItem version="2.0" id="0001" state="ok">
    <lStk:listStock version="2.0" dateTimeStamp="2017-02-09T13:09:45" dateValidFrom="2017-02-09" state="ok">
      <lStk:stock version="2.0">
        <stk:stockHeader>
          <stk:id>1</stk:id>
          <stk:stockType>text</stk:stockType>
          <stk:code>Jídel</stk:code>
          <stk:PLU>624</stk:PLU>
          <stk:isSales>true</stk:isSales>
          <stk:isSerialNumber>false</stk:isSerialNumber>
          <s>true</stk:isInternet>
          <stk:isBatch>false</stk:isBatch>
          <stk:purchasingRateVAT>high</stk:purchasingRateVAT>
          <stk:sellingRateVAT>high</stk:sellingRateVAT>
          <stk:name>Stůl jídelní - rozkládací</stk:name>
          <stk:unit>ks</stk:unit>
          <stk:storage>
            <typ:id>9</typ:id>
            <typ:ids>Ceník</typ:ids>
          </stk:storage>
          <stk:typePrice>
            <typ:id>4</typ:id>
            <typ:ids>Nábytek</typ:ids>
          </stk:typePrice>
          <stk:weightedPurchasePrice>2511.56</stk:weightedPurchasePrice>
          <stk:purchasingPrice>2500</stk:purchasingPrice>
          <stk:sellingPrice>3000</stk:sellingPrice>
        </stk:stockHeader>
        <stk:stockPriceItem>
          <stk:stockPrice>
            <typ:id>1</typ:id>
            <typ:ids>Prodejní</typ:ids>
            <typ:price>7680</typ:price>
          </stk:stockPrice>
        </stk:stockPriceItem>
      </lStk:stock>
    </lStk:listStock>
  </rsp:responsePackItem>
</rsp:responsePack>

Komunikace s POHODA mServer prostřednictvím metody GET:

Je určena pro:
  • přenos libovolného typu souboru ze složky dokumentů firmy programu POHODA (pouze export dat). Např. tisková sestava uložené do PDF souboru, obrázky zásoby, dokumenty dokladu atd.

Při volání mServeru prostřednictvím HTTP protokolu a metody GET je nutné v HTTP požadavku zadat:

  • adresa mServeru.
  • číslo portu, na kterém mServer naslouchá".
  • umístění na serveru "/documents" + cesta k souboru.
  • autentizaci pro přístup do programu POHODA, parametr STW-Authorization
Parametr /documents v URL adrese = cesta do složky dokumentů firmy(účetní jednotky).
Za tento parametr je nutné zadat cestu k souboru, který chceme přenést. Soubor se musí nacházet ve složce dokumentů firmy nebo jejich podsložkách.

Upozornění: České znaky s diakritikou v URL adrese je nutné překódovat do"Windows-1250".
Bližší informace o kódování URL nalezente např. https://cs.wikipedia.org

Příklad:
Složka dokumentů firmy = C:\Stormware\Pohoda\Dokumenty\Novák
Soubor, který chceme přenést = C:\Stormware\Pohoda\Dokumenty\Novák\Obrázky\židle.jpg
URL adresa, kterou použijeme v HTTP pažadavku = http://localhost:444/documents/obr%E1zky/%9Eidle.jpg

V hlavičce HTTP požadavku je možné zadat tyto nepovinné rozšiřující parametry:

  • If-Modified-Since, přenos pouze změněných souborů od uvedeného data.
  • STW-Application, který slouží pro identifikaci aplikace, která komunikaci s POHODA mServere vyvola.
  • STW-Instance, který slouží pro identifikaci jednotlivé komunikace v rámci jedné aplikace s POHODA mServere.

Ukázka komunikace HTTP klienta s POHODA mServer

Příklad požadavku HTTP klienta na mServer POHODA na export "obrázku zásoby" ze složky dokumentů firmy programu POHODA.

GET http://localhost:444/documents/obrazky/zidle.jpg HTTP/1.1
User-Agent: User-Agent: STORMWARE HTTP client. http://www.stormware.cz
STW-Authorization: Basic QDo=
Host: http://localhost:444
STW-application: eShop
STW-Instance: export souboru
If-Modified-Since: Wed, 19 Jun 2017 07:28:00
Connection: Keep-Alive
Cache-Control: no-cache

Příklad odpovědi mServeru programu POHODA

HTTP/1.1 200 OK
Date: Thu, 05 Oct 2017 11:09:47 GMT
Connection: Keep-Alive
Content-Type: image/jpeg
Content-Length: 12431
Last-Modified: Mon, 02 Oct 2017 08:55:23 GMT


POHODA mServer vs přístupová práva programu POHODA

Před použítím POHODA mServeru je nutné provést nastavení přístupových práv v programu POHODA.
  • Pro přenos XML dat je nutné povolit XML komunikaci v programu POHODA ve větvi Práva/Soubor/Datová komunikace
  • Pro povolení nastavení POHODA mServer a přenos souborů ze složky dokumentů firmy je nutné povolit práva ve větvi Práva/Aministrátorské funkce/POHODA mServer
Stavové kódy HTTP
Kód chyby
 
Popis chyby
400
Bad request
"Požadavek nemůže být vyřízen, poněvadž byl syntakticky nesprávně zapsán"
401
Unauthorized
"Používán tam, kde je vyžadována autentifikace, ale nebyla zatím provedena". V tomto případě se jedná o problém, kdy buď v HTTP požadavku chybí autentizační údaje nebo daný uživatel není v programu POHODA vytvořen.
403
Forbidden
"Požadavek byl legální, ale server odmítl odpovědět". Například se jedná o problém, kdy daný uživatel nemá právo na otevření účetní jednotky v programu POHODA.
404
Not found
„Požadovaný dokument nebyl nalezen“. Jedná se o problém, kdy byla chybně zadaná URL cesta k mServeru. Například se jedná o problém, kdy v URL adrese není uvedena cesta k umístění na serveru "/XML". Příklad správně zadné URL: 192.168.0.1:444/xml
405
Method Not Allowed
„Požadavek byl zavolán na zdroj s metodou, kterou nepodporuje. Například se jedná o službu, na kterou se odesílají data metodou POST a někdo se je místo toho pokusí odeslat metodou GET.“
408
Request Timeout
„Vypršel čas vyhrazený na zpracování požadavku“
500
Internal server error
„Při zpracovávání požadavku došlo k blíže nespecifikované chybě“
502
Bad Gateway
„Proxy server nebo brána obdržely od serveru neplatnou odpověď“
503
Service unavailable
„Služba je dočasně nedostupná“
504
Gateway Timeout
„Proxy server nedostal od cílového serveru odpověď v daném čase“
505
HTTP Version Not Supported
„Server nepodporuje verzi protokolu HTTP použitou v požadavku“

ASP konektor pro IIS

  • Ukázkový příklad ASP konektoru pro IIS pro přesměrování HTTP požadavku z Internetu do lokální sítě stáhnout
  • Návod nasazení ASP konektoru pro mServer stáhnout