formáty XML, napojení na reklamní systémy ▪ Heureka, Zboží.cz, Sklik, Google, Facebook, CJ.com, … ▪ Celkově přes 50 různých formátů • Parsování nevalidních XML ▪ Vlastní parser XML • Vlastní dotazovací jazyk ▪ Mergado Query Language (MQL) ▪ Deklarativní jazyk • Real-Time analytika ▪ Terabajty dat • Audit XML
Nové funkce by přibývaly ve formě aplikací ▪ zcela oddělené od jádra Mergada • Výhody ▪ Outsourcing nových funkcí ▪ Jádro se neznečišťuje novým kódem ▪ Nižší nároky na údržbu a vývoj ▪ Lepší použitelnost rozhraní • Nevýhody ▪ Menší dohled nad novými funkcemi ▪ Vysoká počáteční investice ▪ Horší použitelnost rozhraní
jádrem? • Jak bude fungovat autentizace? • Co správa oprávnění? • Jak vývojářům platformu zpřístupnit? • Jaké bude jejich workflow? • Kde aplikace poběží? • Jaké technologie budou mít vývojáři k dispozici?
server Aplikace 1. refresh token 2. access token 3. access token 4. chráněný zdroj • Během povolení aplikace uživatelem si autorizační server uloží refresh token • Ten pak aplikace použije k vyžádání access tokenu
• Komunikace probíhá přes HTTP JSON API • Oprávnění aplikace stanovují OAuth scopy ▪ Uživatel uděluje práva (scopy) při zapnutí aplikace GET /api/users/42 Je token validní? 403 Forbidden NE Má aplikace práva číst tato data? ANO NE Má uživatel práva číst tato data? ANO 200 OK NE ANO 401 Unauthorized
e-shop ▪ A více uživatelů může v Mergadu přistupovat k jednomu e-shopu ▪ ⇒ access token se váže na entitu (na uživatele, e-shop nebo export) • Mergado někdy komunikuje i s aplikací ▪ ⇒ Aplikace potřebují mít vlastní API/webhook • Aplikace někdy potřebují komunikovat s API periodicky ▪ Zatímco uživatel není přihlášen v Mergadu
PHP • V budoucnu Python a další jazyky App Cloud App 1 Mergado API App 2 App N App M Statistiky Analytika Pravidla Výběry Audit Elementy Proměnné Notifikace
HTML stránka ▪ IFRAME, kde src=”https://appcloud.mergado.com/...” MERGADO <IFRAME src=“https://appcloud...”/> <HTML> ... </HTML> </IFRAME> App: Logbook Logbook content-type: text/html App Cloud • Sekundárně jako widget v přehledu zapnutých aplikací ▪ Opět pouze HTML dokument v IFRAME
Cloud ◦ Technologicky je však možné použít vlastní hosting • 70 % z částky zaplacené zákazníky se vyplatí vývojáři ◦ 30 % je na provoz a další vývoj platformy • Mergado dále pomáhá vývojářům marketingově ◦ Prostřednictvím blogu, e-mailingem, atd.
dokumentace platformy v angličtině, 14 aplikací na produkci a 3 ve vývoji. • Bidding Fox • Feed Image Editor • Pricing Rank • Data Owl • Weekday Bidding Booster • … a další v Mergado Store
◦ návrh HTTP API má smysl teprve až v pozdějších fázích vývoje • Neomezovat vývojáře příliš ◦ začnou vymýšlet “hacky” • Aplikace v docker kontejneru ◦ jednodušší správa oprávnění, ◦ jednodušší řízení zdrojů, ◦ aplikace si navzájem nekradou zdroje, ◦ aplikace si mohou v rámci kontejneru nainstalovat co potřebují.