Naším cieľom je, aby bolo REST API ABRA Flexi jednoducho použiteľné pre vývojárov. Preto existuje režim, ktorý zjednodušuje prácu pri použití Ruby on Rails, respektíve Active Resource.
⚠️ Podpora Ruby on Rails je zatiaľ experimentálna.
Zapnutie režimu
Režim sa zapína parametrom ?mode=ruby v URL. Vo výstupnom XML potom dostávate výsledky v tvare, ktorý Active Resource očakáva, a zapne sa podpora pre pluralizáciu názvov evidencií (Invoice → Invoices):
# GET /invoices.xml?mode=ruby
Invoice.find(:all, :params => { :mode => 'ruby' })
Parameter mode pozná jedinú hodnotu — malými písmenami ruby. Akákoľvek iná hodnota skončí chybou 400 s hlásením No enum constant …, takže aj preklep sa spozná okamžite.
Čo sa zmení vo výstupe
Bežný výstup má koreňový element winstrom:
<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<faktura-vydana>
<id>1</id>
</faktura-vydana>
</winstrom>
S parametrom ?mode=ruby sa koreňový element pomenuje podľa evidencie, takže odpoveď zodpovedá tomu, ako Active Resource mapuje kolekcie na triedy:
<?xml version="1.0" encoding="utf-8"?>
<faktura-vydana version="1.0">
<faktura-vydana>
<id>1</id>
</faktura-vydana>
</faktura-vydana>
Anglické názvy evidencií
Niektoré evidencie majú anglický alias, ktorý možno v URL použiť namiesto českého názvu. Bez parametra mode na neho server odpovie presmerovaním 301 na kanonickú adresu; s ?mode=ruby vráti dáta priamo so stavom 200, čo je pre Active Resource podstatné.
Alias v URL | Evidencia |
|
|
|
|
|
|
|
|
|
|
|
|
🚨 Aliasov je len niekoľko a nie sú úplné ani konzistentné — pre väčšinu evidencií anglický názov neexistuje a vráti 404. V integráciách preto vždy používajte české názvy evidencií; alias berte len ako pomôcku pre Active Resource.
Úplný zoznam evidencií aj s ich kanonickými názvami vráti:
GET https://demo.flexibee.eu/c/demo/evidence-list.json
