Novinky v platformě pro vývojáře

:cloud: MERGADO Apps 0.3.17

Release date

13. červen 2018

Změny

  • Nové atributy pro API endpoint /shops/{id}/stats/ (dokumentace)
    • Atribut heureka_total_sales vrací data o celkových tržbách pro daný e-shop za zvolené období.
    • Atribut heureka_total_orders vrací data celkovém počtu objednávek pro daný e-shop za zvolené období.
    • Issue platformy: Add Heureka sales and orders to /shops/[id]/stats/ #83
  • Endpointy, které vrací statistiky vztahující se na celý eshop, nyní mají scope shop.stats.read
    • /shops/{id}/stats/
      • Změněn scope z project.stats.read na shop.stats.read
    • /products/{id}/stats/
      • Vrací pouze obecné statistiky a statistiky vztahující se k danému projektu
      • project_id se získá podle product_id
      • Obecnými statistikami jsou id, item_id, date, shop, cost, is_starter a is_topseller
      • Pokud by měl být field product_id==null, nevrátí se vůbec.
    • /projects/{id}/stats/products/
      • Vrací pouze obecné statistiky a statistiky vztahující se k danému projektu
      • Pokud se pro daný formát nestahují statistiky, je vrácen prázdný seznam
      • Pokud by měl být field product_id==null, nevrátí se vůbec.
    • /shops/{id}/stats/products/
      • Nový endpoint
      • Vrací statistiky produktů ze všech zdrojů api
    • /projects/{id}/stats/categories/
      • Odstraněn, nahrazen novým endpointem na URL /shops/{id}/stats/categories/
      • Vrací to samé, jako endpoint, který nahrazuje
      • Vyžaduje scope shop.stats.read
    • /projects/{id}/stats/audits/
      • Odstraněn, nahrazen novým endpointem na URL /shops/{id}/stats/audits/
      • Vrací to samé, jako endpoint, který nahrazuje
      • Vyžaduje scope shop.stats.read
    • /stats/audits/{m3shop_id}-{date_id}/
      • Změněn scope z project.stats.read na shop.stats.read
    • /stats/audits/{m3shop_id}-{date_id}/issues/
      • Změněn scope z project.stats.read na shop.stats.read
3 Likes

:ribbon: MERGADO Apps 0.3.18

Release date

27. červen 2018

Změny

  • Aplikace nyní mohou používat jiné úložiště, než je MERGADO Appcloud.

    • Většina dalších změn, které jsou uvedeny níže, vychází z této změny, která v některých oblastech zásadně mění paradigma, v jakém appky existují a fungují.
    • U appky v Developers je nová stránka Úložiště, kterou může vývojář použít ke správě úložiště zvlášť vývojové a zvlášť produkční verze appky.
      • Defaultní úložiště je vždy Appcloud. Potom lze každé verzi appky nastavovat jiné URL, které MERGADO používá:
        1. Při odesílání hook requestů.
        2. Při posílání payloadů na endpointy pravidel appky.
        3. Pro zobrazení IFRAMEů (widget i plná verze) při zobrazování appky v UI.
      • Pokud alespoň jedna verze appky nepoužívá Appcloud úložiště, pak při vytváření nového vydání na stránce Releases není možné spouštět tradiční release proces na Appcloudu.
      • Hook URL musí začínat stejnou URL, jako je Základní URL appky.
      • Lze nastavovat způsob routingu aplikace. Oproti stávajícímu pretty routingu ve stylu:
        .../eshop/1/project/2
        
        … lze nově nastavit i jednodušší routing přes GET parametry:
        .../?eshop=1&project=2
        
  • Přepracovaný a zjednodušený životní cyklus aplikace.

    • Možnost “soběstačných” releasů aplikace.
      • Umožňuje použití pokročilejších CI a CD nástrojů.
      • Aplikace nově nepodléhá tradičnímu cyklickému vývoj-žádost o release-potvrzení podporou-release-vývoj....
      • Nové verze si vývojář řeší a vydává sám, bez explicitního potvrzování podporou Mergada.
        • Pokud vývojová i produkční verze aplikace užívá Appcloud úložiště, lze tradiční “appcloudovský” release spouštět i nadále - při vytvoření nového vydání na stránce Releases v Developers je k dispozici checkbox, který toto zajistí. (Více o této přepracované stránce níže.)
        • Pokud alespoň jedna verze na Appcloudu nesídlí, celý releasovací proces si musí vývojáři řešit sami. To však zároveň vývojářům umožňuje integraci pokročilých build či CI systémů do jejich vývojové workflow. A toto vše je možné, protože…
    • Nově má vývojář aplikace SSH přístup k oběma verzím appky (dříve byl přístup pouze k vývojové verzi).
      • Autoři aplikace tak mají větší kontrolu nad tím, co se s aplikací děje - např. je potřeba mít přístup k logům, je potřeba urychleně vydat fix nějaké chyby, nebo si vývojáři chtějí nakonfigurovat složitější build procesy přes nějaké externí CI nástroje.
      • Tradiční schvalovací proces toto zásadně brzdil či zcela znemožňoval.
    • Informace v MERGADO Store se nyní “přelévají” tlačítkem Aktualizovat Store, bez předchozí kontroly podpory (je však o tomto aktu notifikována).
      • Poznámka: Informace se přelejí automaticky i při vytvoření nového release.
    • Přes to všechno má naše podpora v případě potřeby stále možnost zasáhnout a “zlobivou” aplikaci např. skrýt z Mergado Store, či ji u některého subjektu přímo vypnout.
  • Přepracovaná stránka Releases v Developers.

    • Namísto historie stavů mezi vývoj-žádost o release-potvrzení podporou-release-vývoj... jsou nyní na stránce s výdánímí appky vypsané běžné záznamy s novými verzemi aplikace, které vývojář může vytvářet, editovat i mazat.
    • Zatím se tato historie ukazuje jen v Developers a momentálně je především pro interní účely, aby podpora Mergada měla přehled o tom, co se v aplikaci kdy a jak změnilo.
    • V editoru “poznámek v vydání” lze používat Markdown.
  • Přepracované zabezpečení hook requestů ze strany Mergada.

    • V minulosti se o autentizaci hook requestů staral samotný Appcloud. Ten - pro vývojáře zcela transparentně - kontroloval, zda požadavky z Mergada obsahují správnou hodnotu speciální HTTP hlavičky. Pokud request na URL, kde appka přijímala hooky (.../_mergado/hook/), neobsahoval správnou hodnotu příslušné hlavičky, požadavek server vůbec nepustil dál. Protože nově appky mohou sídlit i jinde, než na Appcloudu, tento magický mechanismus se musel přepracovat a zjednodušit.
    • Nově se o autentizaci hook requestů musí starat samotná appka (resp. její vývojáři).
    • Jak to funguje:
      • Každá stage appky má vlastní náhodně vygenerovaný a tajný klíč, tedy Webhook Secret. Tento klíč je k dispozici u appky v Developers.
      • Daný klíč zná jen MERGADO a vývojáři appky.
      • MERGADO tento klíč posílá v HTTP hlavičce Mergado-Apps-Webhook-Secret u všech requestů, které na appku míří - tj. všechny požadavky na hook endpoint a na endpointy pravidel aplikace.
      • Aplikace by při přijímání requestů na těchto endpointech měla kontrolovat správnou hodnotu tajného klíče - a odmítnout ty požadavky, které ji neobsahují.
      • Takto je zabráněno neoprávněným requestům od třetích stran.
  • Nový hook ping, kterým se v Developers dá jednoduše otestovat funkčnost hook endpointu aplikace.

    • U appky na stránce Přehled v Developers jsou dvě nová tlačítka (pro každou stage jedno), kterým se na hook endpoint appky dá odeslat testovací hook (POST request) v tomto formátu:

      {
      	"action": "ping"
      }
      

      Pokud se na tento request vrátí odpověď ve formátu …

      {
      	"message": "pong"
      }
      

      … považuje se hook za úspěšně vyřízený. Vrátí-li se cokoliv jiného, je to považováno za neúspěch. V obou případech se tento výsledek ihned zobrazí v UI.

  • Na Appcloudu je implementovaná možnost spouštět pre-release skript.

    • Tato možnost je k dispozici pouze v případě, že celý release appky probíhá v rámci Appcloudu. To znamená, že aby se pre-release spouštěl, musí obě stage appky musí jako úložiště používat Appcloud.
    • Jak to funguje:
      • Vývojová verze appky v rootu svého zdrojového kódu (např. /srv/production/apps/app_logbook.dev/app/) může obsahovat soubor s názvem mergado_pre_release.
      • Tento soubor se před přepsáním produkční verze verzí vývojovou zkopíruje do root adresáře se zdrojovým kódu produkční verze (např. /srv/production/apps/app_logbook/app/).
      • Zde se soubor spustí, pod uživatelem produkční verze appky. Respektuje se shebang, takže tento skript může být napsaný jak v bashi, tak třeba i v PHP.
      • Release pokračuje až po skončení tohoto skriptu (bez ohledu na výsledek). Pokud tento skript neskončí do jedné hodiny, ukončí se, výsledek se ignoruje a release pokračuje dál.
  • V Developers je nově k dispozici :uk: anglická jazyková verze MERGADO Store banneru.

  • Aplikace lze nově označit jako “deprecated”.

    • U “deprecated” appky bude na její stránce v Mergado Store vidět hláška, že již není ve vývoji.
    • Lze nastavit jinou appku, jakožto nástupce, na kterou se u dané hlášky v MERGADO Store bude odkazovat.
    • Je to marketing-friendly alternativa k úplnému smazání aplikace.
    • Je k tomu potřeba kontaktovat podporu Mergada.
3 Likes

:ice_cream: MERGADO Apps 0.3.19

Release date

18. červenec 2018

Změny

  • MQL má nové operátory CONTAINS a NOT CONTAINS.
    • Příklad:
      {
      	"name": "Product has CZ country in square brackets",
      	"query": "[PRODUCT] CONTAINS \"[cz]\"",
      	"read_only": false,
      	"search_output": true
      }	
      
    • Tyto operátory doplňují původní regulární operátory ~ a !~, které by u výše uvedeného příkladu pravou stranu interpretovaly nikoliv jako čistý text, nýbrž (chybně) jako regulární výraz (buď znak “c” a nebo znak “z”).
  • Pravidlo nastavení dopravy nyní správně vytváří element PRICE_COD pro formát Favi.cz, Favi.sk a Favi.ro.
  • Opravena chyba, kdy převodník na Zboží.cz pomíchával pořadí elementů s obrázky.
  • Opravena chyba, kde Google/Facebook převodník špatně vyplňoval měnu.

:pretzel: MERGADO Apps 2.0

Release date

22. srpen 2018

Změny

Vydáváme MERGADO API v nové major verzi 2.0.
API je nyní verzováno. V hlavičce Accept je možné zadat požadovanou verzi API, a to v této podobě:

application/mergado-v2+json

Pokud není vyžádána konkrétní verze, použije se výchozí (tj. verze 1). Veškeré změny vycházející z této nové verze jsou sepsány níže.

Změny ve staré verzi MERGADO API

  • Endpointy /stats/audits/<id>/ a /stats/audits/<id>/issues statistických auditů mohou obsahovat nový verdict missing_stats.

    • Použije se, pokud ve statistikách chybí hodnota potřebná pro validaci. Např. validátor heureka_price_status vyžaduje hodnotu min_price_2, která však chybí v sortiment reportu z Heureky, pokud produkt prodává jen jeden eshop.
  • Endpointy /products/<id>/stats/ a /projects/<id>/stats/products/ a /shops/<id>/stats/products/:

    • Pole stats.price, stats.heureka_is_alone, stats.heureka_cpc_status, stats.heureka_is_paired, stats.heureka_margin_status, stats.heureka_price_status, stats.heureka_position_status a stats.heureka_profit vždy vrací null (pro zachování alespoň částečné zpětné kompatibility).
    • Přidáno pole heureka_id, které odpovídá poli product_id ze sortiment reportu Heureky.

Změny v MERGADO API v2.0

  • Endpointy /shops/<id>/statslogs/ a /statslogs/<id>/

    • Nový typ logů audit nahradil původní typ report.
  • Endpoint /products/<id>/stats/

    • Nově vrací historii statistik (původně vracel statistiky pro jeden den) - vrací se tedy kolekce (seznam) místo jednoho záznamu.
      • Pokud se v URL zašle parametr date, vrátí seznam o jednom prvku, kterým jsou statistiky pro zadaný den.
      • Jinak je možné specifikovat start_date a end_date.
      • Pokud není specifikováno nic, použije se výchozí start_date (měsíc nazpět) a end_date (včerejšek).
    • Úpravy polí:
      • Přidáno pole heureka_id, které odpovídá poli product_id ze sortiment reportu Heureky.
      • Odstraněná pole:
        • price
        • heureka_is_alone
        • heureka_cpc_status
        • heureka_is_paired
        • heureka_margin_status
        • heureka_price_status
        • heureka_position_status
        • heureka_profit
      • Přejmenovaná pole:
        • categorytext :arrow_right: heureka_categorytext
        • delivery_date :arrow_right: heureka_delivery_date
        • heureka_cpc :arrow_right: heureka_feed_cpc
        • heureka_stats_clicks :arrow_right: heureka_clicks
        • heureka_stats_cost_of_sales :arrow_right: heureka_cost_of_sales
        • heureka_stats_cpc :arrow_right: heureka_cpc
        • heureka_stats_sales :arrow_right: heureka_sales
        • heureka_stats_total_cost :arrow_right: heureka_total_cost
        • heureka_stats_total_orders :arrow_right: heureka_total_orders
        • imgurl :arrow_right: heureka_imgurl
        • manufacturer :arrow_right: heureka_manufacturer
        • url :arrow_right: heureka_shop_url
        • heureka_name :arrow_right: heureka_card_name
        • price_vat :arrow_right: heureka_price_vat
        • name :arrow_right: heureka_name
      • Polím cost, is_starter a is_topseller byl přidán prefix mergado_:
        • cost :arrow_right: mergado_cost
        • is_starter :arrow_right: mergado_is_starter
        • is_topseller :arrow_right: mergado_is_topseller
      • Přidána pole Zboží.cz CVS reportu:
        • zbozi_conversion_cost_czk
        • zbozi_conversion_cost_czk_product_detail
        • zbozi_conversion_cost_czk_category_search
        • zbozi_conversion_cost_czk_top_product_detail
        • zbozi_conversion_cost_czk_category_listing
        • zbozi_conversion_cost_czk_search_result
        • zbozi_cpc_czk_product_detail
        • zbozi_cpc_czk_category_search
        • zbozi_cpc_czk_top_product_detail
        • zbozi_cpc_czk_category_listing
        • zbozi_cpc_czk_search_result
        • zbozi_cpc_czk_vat_product_detail
        • zbozi_cpc_czk_vat_category_search
        • zbozi_cpc_czk_vat_top_product_detail
        • zbozi_cpc_czk_vat_category_listing
        • zbozi_cpc_czk_vat_search_result
        • zbozi_conversions_value_czk_product_detail
        • zbozi_conversions_value_czk_category_search
        • zbozi_conversions_value_czk_top_product_detail
        • zbozi_conversions_value_czk_category_listing
        • zbozi_conversions_value_czk_search_result
        • zbozi_conversions_value_czk
        • zbozi_id
        • zbozi_name
        • zbozi_last_known_category
        • zbozi_conversion_rate_product_detail
        • zbozi_conversion_rate_category_search
        • zbozi_conversion_rate_top_product_detail
        • zbozi_conversion_rate_category_listing
        • zbozi_conversion_rate_search_result
        • zbozi_conversion_rate
        • zbozi_cpr_product_detail
        • zbozi_cpr_category_search
        • zbozi_cpr_top_product_detail
        • zbozi_cpr_category_listing
        • zbozi_cpr_search_result
        • zbozi_cpr
        • zbozi_conversions_product_detail
        • zbozi_conversions_category_search
        • zbozi_conversions_top_product_detail
        • zbozi_conversions_category_listing
        • zbozi_conversions_search_result
        • zbozi_conversions
        • zbozi_products_sold_through_zbozi
        • zbozi_direct_conversions
        • zbozi_card_name
        • zbozi_bid_click_through_product_detail
        • zbozi_bid_click_through_category_search
        • zbozi_bid_click_through_top_product_detail
        • zbozi_bid_click_through_category_listing
        • zbozi_bid_click_through_search_result
        • zbozi_bid_click_through
        • zbozi_avg_position_product_detail
        • zbozi_avg_position_top_product_detail
        • zbozi_views_product_detail
        • zbozi_views_category_search
        • zbozi_views_top_product_detail
        • zbozi_views_category_listing
        • zbozi_views_search_results
      • Dále přidána pole z feedu Zboží.cz:
        • zbozi_delivery_date
        • zbozi_categorytext
        • zbozi_max_cpc
        • zbozi_max_cpc_search
        • zbozi_manufacturer
        • zbozi_brand
        • zbozi_shop_url
        • zbozi_imgurl
        • zbozi_price_vat
  • Endpointy /projects/<id>/stats/products/ a /shops/<id>/stats/products/:

    • Stejné změny jako u /products/<id>/stats/.
  • Endpoint /shops/<id>/info/:

    • mergado.output_feed :arrow_right: mergado.output_feed_heureka.
    • mergado.report :arrow_right: mergado.audit.
    • Přidány typy mergado.output_feed_zbozi a zbozi.product_stats_report.
2 Likes

:moneybag: MERGADO Apps 2.0.1

Release date

  1. listopdadu 2018

Změny v API

  • Endpointy, které vrací pole entit, budou kromě offset a limit obsahovat total_results, což je celkový počet entit, který odpovídá danému požadavku.
  • Do statistik produktů byl přidán field heureka_actual_cpc, který odpovídá hodnotě elememtnu CPC z Heurekovského sortiment reportu.
4 Likes

:lobster: MERGADO Apps 2.0.2

Release date

  1. prosince 2018

Změny v API

  • Endpoint shops/id/info:
    • field started_at vrací timestamp, kdy se začal daný zdroj zpracovávat
    • nový field created_at vrací timestamp, kdy došlo k vytvoření tasku, který zpracovává daný zdroj
  • Endpointy shops/id/statslogs a statslogs/id
    • nový field started_at vrací timestamp, kdy se začal daný zdroj zpracovávat
4 Likes

:hammer: MERGADO Apps 2.0.3

Release date

  1. prosince 2018

Změny v API

  • Endpointy podporující stránkování pomocí qsargu after:
    • opravena chyba, kdy byly při použití after a limit > 100 vraceny duplicitní záznamy
  • Endpoint /rules/<id>/
    • opravena chyba, kdy při úpravě pravidla nebylo možné odebrat výběr, jakmile už byl jednou přidán
3 Likes

:partly_sunny: MERGADO Apps 2.0.4

Release date

30. leden 2018

Změny

  • Pro appky vázané na export se v seznamu subjektů s ID exportu nově, pro lepší identifikaci, zobrazuje i ID e-shopu.
  • Nový endpoint https://api.mergado.com/maintenance na kterém je dostupný seznam plánovaných výpadků Mergada - i zpětně.
    • Může pomoci diagnostikovat chyby či jiné anomálie, se kterými se appka může v dané časy potýkat.
  • Změna chování endpointu pro pravidla:
    • Při vytváření pravidla je nyní nutné explicitně specifikovat výběr či výběry, na které se pravidlo má aplikovat. Pole queries tedy musí být přítomné a musí obsahovat alespoň jeden výběr. Poznámka: ID výběru “pro všechny produkty” je k dispozici na endpointu s informacemi o konkrétním exportu.
      • Pokud toto požadavek nesplňuje, API při vytváření pravidla vrátí chybu 400.
    • Pokud se při úpravě pravidla přes metodu PATCH seznam výběrů vůbec nepošle, tak se výběry na pravidle nezmění.
    • Týká se endpointů:
  • Změny v získávání statistiky produktů:
    • Parametr filter_by podporuje nový operátor _exists_ (s podtržítky), ve kterém je seznam polí produktu. Endpoint potom vrátí jen takové produkty, u kterých jsou tato pole skutečně definovaná.
      • V případě nevalidního seznamu se vrátí chyba 400.
    • Opravili jsme filtrování podle pole item_id, které nefungovalo.
    • Server vrátí chybu 400, pokud se v parametrech pošle nevalidní seznam (např. ?filter_by={"item_id__in": "123456789"}).
    • Týká se endpointů:
  • Sloučení endpointů /projects/<id>/ a /projects/<id>/info/:
    • V endpointu /projects/<id>/ se nyní vrací i informace z endpointu /projects/<id>/info/.
    • S informacemi o exportu se tedy nově vrací i tato pole:
      • metadata: Slovník obsahující metadata exportu.
      • number_of_elements: Celkový počet elementů v exportu.
      • all_products_query_id (zcela nové pole): ID výběru představujícího “všechny produkty” daného exportu.
    • Týká se endpointů:
  • Optimalizovali jsme kompilaci MQL s velkým množstvím parametrů (tisíce a víc).
    • V testech jsme u takových velkých výběrů (např. výběr s operátorem IN, kde je 10000+ hodnot) zaznamenali zrychlení kompilace MQL z řádů minut na sekundy.
    • Vytváření a úpravy takových velkých výběrů přes API by nyní mělo být svižnější.
    • Týká se endpointu:
4 Likes

Doplněna informace o plánovaném odstranění endpointu /projects/<id>/info/

3 Likes

:sandwich: MERGADO Apps 2.0.5

Release date

pondělí 8. 4. 2019 v 15:30

Změny

První část změn byla vydána již před dvěma týdny - jsou popsané zde i s ostatními.

  • Naše API má nový endpoint, který slouží jako proxy pro přístup k Google Analytics. Každá appka si skrz něj může tahat volitelná data z Google Analytics patřící e-shopu, ke kterému má daná appka přístup. (Je potřeba mít OAuth2 scope shop.ga.read.) Požadavky z appek jsou při průchodu naším API autorizované díky přístupům, které má daný e-shop nastavené v klíčence MERGADO Keychain.
    • URL: https://api.mergado.com/shops/<id>/google/analytics/proxy
    • Proxy podporuje přístup k Google Analytics API verzím v3 a v4.
    • Request na naše API musí být vždy skrz metodu POST, protože konkrétní podoba požadavku na GA musí být definovaná v těle jako JSON:
      	{
      		"version": "v3",
      		"args": {
      			"ids": "ga:0",
      			"start-date": "2018-01-01",
      			"end-date": "yesterday",
      			"metrics": "ga:pageviews"
      		}
      	}
      
    • Dokumentace bude k dispozici zde: Mergado · Apiary
  • Opravili jsme posílání konverzí do GA při zapnutí appky v Mergado Store
  • Do API jsme přidali informaci o tom, jaká konkrétní URL je nastavená jako vstupní feed v administraci Heureka.cz/Heureka.sk.
    • Field heureka_export_url u endpointu https://api.mergado.com/shops/id/stats/.
  • API nově obsahuje informaci o tom, jaký plán je nastavený u plánované synchronizace u konkrétních exportů.
    • Název fieldu: sync_schedule.
    • Příklad:
      ...
      "sync_schedule": {
      	"minute": "50",
      	"hour": "*/1",
      	"day_of_week": "*",
      	"day_of_month": "*",
      	"month_of_year": "*",
      }
      ...
      
    • Endpointy:
      • https://api.mergado.com/shops/<id>/projects/
      • https://api.mergado.com/projects/<id>/
  • Záznamy procesů z historie exportu jsou nyní defaultně řazeny podle políčka started_at.
    • Dříve se řadilo dle finished_at, což však u zatím nedokončených procesů dělalo neplechu.
    • Endpointy:
      • https://api.mergado.com/projects/<id>/applylogs/
      • https://api.mergado.com/projects/<id>/importlogs/
      • https://api.mergado.com/projects/<id>/exportlogs/
  • Nyní je skrz Mergado App IFRAME API (MAIA) možné upravit adresu v URL řádku Mergada tak, že takovou adresu potom lze zkopírovat a opět otevřít s tím, že se změna propíše do URL appky uvnitř IFRAME.
    • Nová metoda Mergado.setAppRoute(string: url_after_base), kde url_after_base představuje část URL která je za base URL appky.
    • To znamená, že např. pokud je styl routování appky nastavený na “Pretty URL”, appka do této metody musí posílat i tu část URL, která specifikuje kontext (tzn. ID projektu/exportu či ID e-shopu).
    • Příklad:
      Mergado.setAppRoute('/eshop/1/project/2/?page=history&number=4');
      
    • Base URL appky se pak potom při sestavování finální URL pro IFRAME doplňuje automaticky.
    • Dokumentace zde: Mergado Apps : IFRAME API (MAIA)
  • V Mergadu je nově možnost vytvořit testovací export.
    • Může si jej aktivovat pouze uživatel vedený jako vývojář pro platformu MERGADO. Takový uživatel uvidí tuto možnost na stránce s Nastavením exportu.
    • Počet výstupních položek v takovém feedu není započítáván do celkového počtu položek v e-shopu (z tohoto počtu se počítá částka pro fakturaci).
    • U tohoto exportu nejdou zapínat produkční verze cizích aplikací. Tzn. aby u testovacího exportu mohl uživatel/vývojář zapnout produkční verzi aplikace, musí patřit do jejího vendora (resp. být jejím vendorem).
    • Takový export nemá nastavený CRON a pokus o stažení výstupního feedu je přesměrovaný na feed vstupní. (Tzn. výstupní hodnoty je možné procházet pouze skrze rozhraní Mergada.)
    • Pozn. Je možné, že v rámci institutu testovacích exportů ještě dodatečně omezíme maximální počet položek, které může takový export obsahovat.
  • Nově je v Developers možnost nechat si zobrazit seznam procesů appky v databázi na Appcloudu přes UI.
    • Může pomoci diagnostikovat problémy s appkou - tento seznam procesů je přístupný i v případě, že appka překročí maximální počet spojení do databáze Appcloudu.
4 Likes

:hotdog: MERGADO Apps 2.0.6

Release date

pondělí 6. 5. 2019 v 15:30

Změny

  • Opraveny případy, kdy při mazání elementu přes API často nastávala chyba 500.
  • Upraveno chování pole applied_to_all_items přítomné u apply logů tak, aby nabýval hodnoty true v případě, že se pravidla aplikovala na všechny neskryté produkty.
  • Upraveno chování testovacích exportů: Namísto kompletně vypnutého plánovače přegenerování je nyní vypnutý pouze finální export (v rámci automatického přegenerování se přeskočí).
1 Like

:sunrise_over_mountains: MERGADO Apps 2.0.7

Release date

čtvrtek 30. 5. 2019 v 16:00

Změny

  • Přidali jsme podporu pro “registrovatelné” Webhooky. Appky mohou požádat o informování o různých eventech probíhajících u subjektů, kde jsou zapnuté.
    • Podporované typy appek jsou project a eshop.
    • V Developers je nová položka v menu: Webhooks, ve které vývojáři mohou svoji appku zaregistrovat k jednotlivým typům webhooků.
    • Aktuálně appka může požádat o odebírání těchto webhooků:
      • process.import.start: Spuštění procesu importu projektu.
      • process.import.finish: Dokončení procesu importu projektu.
      • process.apply.start: Spuštění procesu aplikování pravidel u projektu.
      • process.apply.finish: Dokončení procesu aplikování pravidel u projektu.
      • process.export.start: Spuštění procesu exportu projektu.
      • process.export.finish: Dokončení procesu exportu projektu.
      • control.project.enabled: Zapnutí projektu (poté, co byl vypnutý).
      • control.project.disabled: Vypnutí projektu.
      • control.project.deleted: Smazání projektu.
      • control.project.settings_changed: Nastala změna nastavení projektu.
    • Payload obsahuje ID daného projektu a shopu, do kterého projekt patří. Např.:
      {
      	"action": "process.apply.start",
      	"project_id": 123,
      	"shop_id": 456
      }
      
    • Odebírání stávajících webhooků ping, app.enable, app.disable je nadále natvrdo aktivované pro všechny appky.
  • Pokud se do naší Google Analytics Proxy pošle request bez ID profilu, vyplní se automaticky podle informací z e-shopu.
  • U přepínače pro zapnutí testovacího režimu exportu je doplněná drobná nápověda.
  • Pokud MERGADO v rámci aplikování pravidel nějaké appky dostane zpět nevalidní JSON, tak proces skončí s chybou.
    • Předchozí chování bylo takové, že MERGADO nic nenahlásilo a nevalidní odpověď se ignorovala.
    • Validní formát je toto:
      {
      	"data": [ ... ]
      }
      
  • Přidali jsme podporu pro vytváření MQL výběrů přímo přes URL adresu v prohlížeči.
    • Lze použít URL ve formě:
      https://app.mergado.com/projects/<id>/queries/?<params>
      … kde <params> představuje tyto GET parametry:
      • mql: MQL podmínka pro výběr.
      • target: Hodnota input (vstup) či output (výstup) podle toho, zda má výběr cílit na vstupní hodnoty a nebo výstupní.
    • Při přístupu na URL tohoto nového systému pro “okamžité MQL výběry” následně proběhne přesměrování na stránku, která v URL obsahuje ID tohoto nového výběru. Takový výběr je dočasný a pokud si jej uživatel do určité doby explicitně neuloží, nedá se spoléhat na existenci výběru s tímto ID.
    • Dočasné - neuložené - výběry jsou po nějaké době odstraňovány.
    • Přístup na URL představující již existující “dočasný výběr” u daného projektu se přesměruje na daný existující výběr - a nebude se vytvářet výběr s novým ID.
    • Příklady:
      • https://app.mergado.com/projects/<id>/queries/?mql=PRICE_VAT > 200
      • https://app.mergado.com/projects/<id>/queries/?mql=PRICE_VAT > 200&target=output
  • Upravili jsme způsob, jakým pracujeme s přihlášením na Heureku. Nyní by se mělo předcházet situacím, kdy se kvůli nevalidním credentials Heureka shopu A znemožní přihlášení k shopu B, který má přihlašovací údaje validní.
  • Získávání informací z Heureky je o něco robustnější - pro vývojáře to znamená lepší dostupnost dat o Heureka shopech z našeho API.
3 Likes