Novinky v platformě pro vývojáře


#1

Zde budeme zveřejňovat novinky a chystané změny v platformě Mergado Apps, která umožňuje vývojářům programovat nové funkce do Mergada v podobě aplikací. Půjde tedy především o souhrn novinek, rozšíření a oprav v našem HTTP JSON API, v developers a na App Cloudu. Jinak řečeno, jde o takový change log.

:gb: Dokumentace

Dokumentaci v angličtině najdete zde.

:green_book: Tutoriál

Na vývojářském blogu vychází série článků pro vývojáře, kteří by se chtěli naučit vytvářet aplikace na platformě Mergado.

  1. Moje první aplikace v Mergadu – Seznámení s platformou

Aktuální verze platformy: 0.3.0


#2

:seedling: Mergado Apps 0.3.1

Release date

8. února 2017

Přidané funkce

  • Aplikace mohou v textech notifikací používat jednoduché Markdown. Seznam podporovaných značek je v dokumentaci. Užitečnou funkcí je možnost přidat do notifikace odkaz na nějakou stránku v Mergadu (např. na stránku s pravidly). Aby nehrozilo, že se některý odkaz uvnitř Mergada v budoucnu změní (a aplikace by pak zasílala odkaz na neexistující stránku), mají speciální syntax, která se uvnitř Mergada překládá.
  • Mergado scrapuje nové informace z administrace Heureky a Zboží.cz. Tato data jsou shromažďována jednou denně a jsou dostupná v API endpointu Eshop Statistics.
  • Na AppCloud byla nainstalována služba Sentry, kterou je možné použít k logování událostí v aplikacích. Služba bude dostupná od 7. března 2017 na https://sentry-appcloud.mergado.com.
  • Na AppCloud byl nainstalován Redis, což je key-value databáze běžící v paměti, kterou lze použít například jako cache nebo message broker.
  • Jelikož je AppCloud poháněný UNIX-like operačním systémem, pro spouštění periodických tasků se dá použít služba CRON. Pro její nastavení v terminálu použijte příkaz crontab -e. Nastavení CRONu je vždy platné pro konkrétního UNIX uživatele, nicméně se nemusíte bát. Nastavení crontabu je při vydání aplikace automaticky převedeno z uživatele vývojářské stage aplikace na uživatele produkční stage.
  • Při zpracování aplikačních pravidel Mergado navíc zasílá nové informace u každého produktu – created_at, updated_at a output_changed_at, více viz dokumentace k pravidlům aplikací.
  • Mergado podporuje několik nových formátů – Mailkit, CJ.com a také byla aktualizována specifikace formátu Shopalike.


#3

#4

#5

:herb: Mergado Apps 0.3.2

Release date

8. března 2017

Přidané funkce

  • Implementace měření konverzí v reklamních systémech AdWords, Sklik a Facebooku pro aplikace v Mergado Store.
  • Implementace Ecommerce Tracking v Mergado Store po zapnutí aplikace.
  • Podpora medium parametru u Google Analytics API endpointu.

Opravy

  • Markdown v e-mailových notifikacích zvládne víc než jeden odkaz.
  • Generování access tokenu pro offline režim u aplikací typu user.
  • Přepisování URL pravidla při releasu aplikace.

#6

:four_leaf_clover: Mergado Apps 0.3.3

Release date

24. května 2017

Přidané funkce

  • Indikátor stavu spojení s napojenými službami a zbožáky (u GET Shop Info API endpointu).
  • Nový API endpoint obsahující seznam všech dostupných tarifů v Mergadu.
  • Nový API endpoint umožňující úpravu eshopu přes API.
  • Nové API endpointy zobrazující seznam zapnutých aplikací pod uživatelem, u eshopu nebo u exportu.
  • Možnost nahrávat obrázky v Developers u popisu aplikace v Markdown editoru přes drag&drop.
  • Screenshoty a loga aplikací se nyní nahrávají přímo u aplikace v administraci v Developers.

Opravy

  • Spouštění dlouhotrvajících úkolů na exportech jen pro čtení vrací správný HTTP status.
  • Volání API endpointu s prázdnými hodnotami parametrů limit a offset nevrací chybu serveru.
  • Po úpravě nebo vytvoření nového pravidla přes API metodami PATCH nebo POST je změna v pravidlech zaznamenána na backendu a dané pravidlo je správně aplikováno na produkty v průběhu příští plánované aplikace pravidel.
  • Opraveny výpadky spojení s Redisem v PHP kvůli chybě v RHELu 7.

#7

:deciduous_tree: Mergado Apps 0.3.4

Release date

14. června 2017

Přidané funkce

  • Vylepšení Mergado Store - vyhledávání, filtrování, řazení appek
  • Na stránce s detailem aplikace se nově zobrazují doporučené aplikace
  • Nový formát Shoptet.cz
  • Nový API endpoint - kolekce Google crecentials, která vrací například access token pro přístup do různých Google API
  • Možnost přes API označit jednotlivé produkty jako změněné, aby je Mergado rozpoznalo a zpracovalo v příštím automatickém přegenerování

Opravy

  • API nepovoluje aplikacím vytvářet elementy a proměnné s nevalidními jmény. Místo toho server vrátí 400 HTTP status.
  • Změny v popisu aplikace v Developers se neuložily správně, pokud byl zobrazený náhled Markdownu

#8

:sunflower: Mergado Apps 0.3.5

Release date

12. července 2017

Přidané funkce

  • Eshopy v Mergadu lze spojit s účtem v Google Adwords. U propojených eshopů lze získat přes API access token.
  • Mergado podporuje nový formát Spartoo. Součástí podpory je i převodník.
  • Aplikace mají nově možnost mít uživatelské hodnocení - a to jak číselné, tak i slovní. Hodnotit mohou momentálně ti uživatelé, kteří danou appku mají nějakou dobu zapnutou pod některou z jimi vlastněných entit.
  • Aplikace mohou mít přiřazeny štítky pro lepší kategorizaci v Mergado Store. Seznam možných štítků spravují administrátoři Mergada. Vývojáři mohou své appce přiřadit štítky v jejím profilu v Developers.
  • U žádosti o vydání aplikace je nově možnost stručně popsat aktuální změny, což našim správům pomůže lépe zacílit následnou kontrolu a zjednodušit tak a urychlit schvalování žádosti o vydání aplikace.

Změny

  • V horním menu aplikací je lépe vidět právě aktivní aplikace a nově je i na tomto místě rozlišena vývojová stage od produkční.
  • Přidána nová vyhrazená fronta pro přegenerování exportů, které bylo vyvoláno aplikací přes API.
  • K aplikacím jsou nově místo států přiřazené měny. Je to důsledek změn v interním fungování fakturačního procesu Mergada, kdy uživatelé mají explicitně nastavenou měnu a ta se tak již nedeterminuje jeho adresou, resp. sídlem společnosti. Řeši to tak nejasnosti při fakturaci appek, kdy např. uživatel sídlí ve Velké Británii, avšak zároveň platí v eurech.

Opravy

  • Opraveny chyby s detekcí jazyka v Mergado Store, kdy se některé popisy aplikací zobrazovaly ve špatném jazyce.

#9

:palm_tree: Mergado Apps 0.3.6

Release date

10. srpna 2017

Přidané funkce

  • IFrame API: Mergado objekt má novou metodu scrollTo(int px), která se dá použít k nastavení vertikálního scrollu rodičovského Mergado okna. Pixely se udávají relativně k vnitřnímu oknu aplikace, o zbytek se postará okolní Mergado.
  • Appcloud: Nově podporuje post-release skripty, které se spustí na závěr releasu aplikace. To se dá využít například pro spuštění databázových migrací či restart dlouhotrvajících workerů a podobně. Soubor <app_home_dir>/app/mergado_post_release (bez přípony, je možné použít shebang) se spustí jako poslední příkaz při releasu aplikace; spouští se pod uživatelem produkční stage appky.
  • Developers: Markdown nově podporuje přidání popisku k obrázkům pomocí tagu images. Příklad: {images=http://img.jpg#Popisek obrázku,http://img2.jpg#Druhý obrázek}. Momentálně v popisu nelze použít znak čárky ,, protože je použitý jako oddělovač jednotivých URL obrázků.

Změny

  • API endpoint Show Eshop Info zobrazuje navíc více informací o spojení s reklamními systémy v poli info.
  • Z API endpointu Show Eshop Info byla odstraněna všechna deprecated pole is_connected_to_<service>.

#10

:beer: Mergado Apps 0.3.7

Release date

14. září 2017

Přidané funkce

  • Mergado opět podporuje několik nových formátů:
  • Audit feedů nově umí přijímat soubory ve formátu CSV. Audit byl také rozšířen o podporu několika nových specifikací: Shoptet, Spartoo, Price Grabber a Everysize.
  • Do detailu aplikace v Developers byla přidána záložka Releases, kde lze nalézt přehled vývojových fází a verzí aplikace.
  • V detailu aplikace v Developers se zobrazuje “skóre vyplnění aplikace”. Jde o procentuální zhodnocení toho, jak kompletně máte vyplněné informace o vaší aplikaci. Dobře vyplněné informace vaší aplikaci pomáhají lépe se prezentovat v Mergado Store.
  • Do nastavení aplikace přibyla možnost vyplnit odkaz na web aplikace, který se zobrazí v detailu aplikace v Mergado Store.
  • Na přehledu aplikací v Developers se zobrazuje uživatelské hodnocení aplikace.
  • Prvek pro výběr formátů v editaci aplikace dostal hromadné akce.
  • Nově se v každém requestu při aplikaci pravidla aplikace posílá společně pole apply_log_id.
  • Počet možných jazyků pro lokalizaci aplikace ve Store byl “zredukován”, aby odpovídal jazykům, které reálně Mergado aktuálně podporuje.
  • Nově si Mergado interně sbírá o něco více dat. Pro vývojáře to aspoň prozatím znamená nový graf s počtem zapnutých instancí na přehledu aplikací v Developers.

Opravy

  • Obsah meta elementu description byl zkrácen, zobrazuje se pouze zkrácený popis aplikace bez markdown.
  • Vylepšená detekce jazyka při zobrazování popisku aplikace ve Store.

#11

:space_invader: Mergado Apps 0.3.8

Release date

11. října 2017

Nově

  • Mergado podporuje nový formát Glami pro Maďarsko.
  • Developers: V profilu aplikace je pro vývojáře k dispozici nová záložka se seznamem subjektů, u kterých je daná aplikace zapnutá (může ulehčit práci s řešením různých chyb aplikace).
  • Store: Seznam aplikací se dá nově seřadit podle jejich uživatelského hodnocení.

Změny

  • Seznam výběrů při voláni API endpointu pro zobrazení seznamu výběrů u projektu se nově řadí podle názvu. S tím, že na prvním místě je vždy výběr, který vybírá všechny produkty.
  • Byl rozšířen API endpoint Show Eshop Info, který nově zobrazuje stav stažení jednotlivých zdrojů statistik.
  • API endpoint na spouštění tasků vrací HTTP status 423 Locked u projektů, které jsou zrovna pouze pro čtení a nelze s nimi manipulovat (dříve se vracelo 303 See Other).
  • Připomenutí k ohodnocení aplikace se nyní posílá pouze uživatelům, kteří aplikaci zapnuli.
  • Developers: Výchozí řazení aplikací je nově dle jejich názvu (dříve se řadilo dle stejné logiky jako ve Store.)
  • Store: Výpis seznamu aplikací ve Store byl optimalizován a je nově několikrát rychlejší.
  • Ikonka vývojové stage aplikace má nyní černobílý vzhled i v notifikacích. Dříve byla černobílá pouze v nabídce aplikací pod zeleným menu.

Opravy

  • Při vytváření či úpravě pravidla přes příslušné API endpointy, mohla nastat chyba, pokud se daným requestem upravoval i seznam výběrů, na které bylo dané pravidlo vázané. Ta je nyní opravena.
  • Opraveny chyby typu "Rule type 'tagstripping' not found.", které se projevovaly u některých projektů při volání seznamu pravidel přes API.
  • Store: Výchozí algoritmus, dle kterého se řadily aplikace ve Store obsahoval chybu. Ta je nyní opravena a do pozic jednotlivých aplikací se nyní různé (tajné) signály projevují správným způsobem.
  • Store: V “doporučených aplikacích” na stránce s detailem aplikace se mohly objevit i profily zatím nevydaných aplikací. To je nyní opraveno.

#12

:bread: Mergado Apps 0.3.9

Release date

14. listopadu 2017

Nově

  • V Developers je nová položka obsahující seznam vyúčtování vendorů, ke kterým má vývojář přístup.
  • Nově si interně uchováváme chybové hlášky, které může appka při aplikaci pravidel vrátit. To může významně pomoci při potenciálním debugování chyb v komunikaci platformy s appkou, která poskytuje pravidla.
  • Přidán API endpoint na úpravu projektu.
  • Přidáno pole is_dirty do Project resource. Pokud je is_dirty=True, tak to prakticky znamená, že během příštího přegenerování projektu budou aplikována všechna pravidla na všechny produkty. Toto je ekvivalentní spuštění Přegenerovat vše v UI Mergada.
    V API endpointu pro získávání kategorií Heureky je nové pole heureka_id, které kategorii unikátně označuje.

Změny

  • Odstraněny API endpointy na vytváření tasků pro přegenerování exportů. Aplikace nyní nemohou v Mergadu vyvolat manuální přegnerování. Namísto toho se má Project (export) označit jako “špinavý” (viz výše), což způsobí, že se při následujícím zpracování exportu provede kompletní zpracování (zcela totožné chování, jako dříve posílání parametru force=True při vytváření tasků).

#13

:christmas_tree: Mergado Apps 0.3.10

Release date

29. listopad 2017

Nově

  • Nový formát pro Řecko - Skroutz.gr.
  • Po schválení žádosti o aktualizaci údajů aplikace v Mergado Store dojde vývojářům aplikace notifikace.

Změny

Opravy

  • Opravené rozházené pořadí v seznamu releasů v Developers. (Issue tracker: https://github.com/mergado/mergado-apps/issues/70)
  • Opravená editace existujícího pravidla v Developers - formulář byl prázdný. (Issue tracker: https://github.com/mergado/mergado-apps/issues/66)
  • Opraveno: V aktuálně provozovaných verzích prohlížeče Safari nešel zobrazovat IFRAME aplikací, protože vykreslovací jádro WebKit tento element odmítalo vykreslit, obsahoval-li jeho atribut sandbox hodnotu allow-modals. Nově detekujeme prohlížeč Safari a allow-modals jej neposíláme. To aplikacím v Safari znemožní používat výhody tohoto parametru sandboxování, nicméně alespoň se zobrazí aplikace jako taková. (V novějších verzích WebKitu by tato věc měla být ošetřena)

#14

:curling_stone: Nová URL pro přístup k Mergado API

https://api.mergado.com

Release date

12. prosinec 2017

Informace o změně

K od nynějška zastaralé URL https://app.mergado.com/api, na které bylo a stále je dostupné API platformy Mergado, se přidává nová adresa, na které je toto API dostupné: https://api.mergado.com.

Přístup přes tuto adresu je pro appky v Mergadu výhodnější; např. je této nové adrese nastaven mnohem volnější režim limitování počtů příchozích požadavků. Stará adresa zůstává funkční a přestože se tak nestane v dohledné době, je možné, že se v budoucnu přístup k API přes starou adresu https://app.mergado.com/api zcela zruší.

Všechny vývojáře proto vyzýváme, aby ve svých aplikacích pro platformu Mergado od této chvíle používali novou URL https://api.mergado.com.


#15

:butterfly: Mergado Apps 0.3.11

Release date

  1. ledna 2018

Nově

  • Při průběhu aplikace pravidel se u pravidel zobrazuje kromě názvu i jejich ikonka. U pravidel aplikací se tedy bude zobrazovat ikonka konkrétní appky.
  • Podporujeme nové formáty: Bestprice.gr, Ladenzile.de.
  • Data z analytiky vrácená z endpointu /projects/<id>/google/analytics/ nově zohledňují případné uživatelské nastavení specifických analytických zdrojů v nastavení daného exportu.
  • V přehledu fakturace za vaše aplikace se u konečných měsíčních provizí nově zobrazuje i přesný počet spuštěných aplikací, ze kterých daná částka k provizi vyplývá.
  • Formát datetime, který se v API na různých místech vrací, byl sjednocen do formy ISO 8601, tedy např. "2016-11-02T09:12:09+00:00".
  • V apply logu získáném přes API je vývojářům nově k dispozici i seznam aplikovaných pravidel.
      ...
      "rules": [
      {
      	"processed_products": 64,
      	"products": 64,
      	"rule_id": "1"
      },
      {
      	"processed_products": 64,
      	"products": 64,
      	"rule_id": "5"
      }
      ...
    
  • Endpointy pro získání logů procesů exportu se změnily:
    • /projects/<id>/logs/import/ je nově /projects/<id>/importlogs/
    • /projects/<id>/logs/apply/ je nově /projects/<id>/applylogs/
    • /projects/<id>/logs/export/ je nově /projects/<id>/exportlogs/
    • /projects/<id>/logs/access/ je nově /projects/<id>/accesslogs/
    • Pozor! Přestože jsou staré URL (kvůli zpětné kompatibilitě) prozatím zachovány, důrazně vás vyzýváme, abyste používali nové endpointy.
  • V API endpointu vracejícím informace o exportu /projects/<id>/info/ se nově vrací i další metadata daného exportu.

Opravy

  • V Developers byla opravena drobná chyba výpisu subjektů aplikace, která způsobovala nesprávný výčet subjektů, pokud byla zapnuta i vývojová stage aplikace.
  • Byla opravena chyba ve výpočtu správného odscollování v MAIA metodě .scrollTo(). (Issue tracker: https://github.com/mergado/mergado-apps/issues/76)

#16

:signal_strength: Mergado Apps 0.3.12

Release date

24. leden 2018

Upgrade verze PHP na Mergado Appcloud

  • Verze PHP byla ze 7.0 zvýšena na 7.1.

Změny

Opraveno


#17

:ice_hockey: Mergado Apps 0.3.13

Release date

28. únor 2018

Změny

  • Upravili jsme způsob, jakým pracujeme s API Google Analytics, což by mělo pomoci vyřešit občasné nenadálé a neočekávané odpojování spojení s Google Analytics v Mergado Keychain.

  • Nově je možné přesněji specifikovat umístění pravidla pomocí pole placement. Toto pole obsahuje klíč s hodnotou odkazující na ID pravidla, vůči kterému se má dané pravidlo umístnit. Použitím klíče before resp. after může vývojář specifikovat, před kterým či za kterým pravidlem se má vynutit umístění nově vytvářeného (či upravovaného) pravidla.

    Příklad:

    ...  
      "placement": {
          "after": "123" // Nové pravidlo se _určitě_ umístí za pravidlo 123.
      }
    ...
    
  • Zpřístupněný nový endpoint pro získávání statistik ze Zboží.cz.