Verzovanie doplnku

Co je to verzování

Verzování je vytvořeno pro potřeby agentury provést změny ve veřejné, anebo vývojové části samotného doplňku po jeho schválení.


Průběh verzování

Verzování se aktivuje v případě, že je doplněk Schválený a někdo z uživatelů, popřípadě agentura samotná, změní informace v sekci Informace o doplňku, anebo Vývoj doplňku.
Každou část je možné verzovat nezávisle mezi sebou.

Náhled provedených změn v Informacích o doplňku:

  • Pokud provádíte změny v textacích pro zákazníka, zobrazí se vám vedle tlačítka Detail nové tlačítko Zobrazit náhled. Tento náhled vás přesměruje na FrontEndovou část Marketplace, a uvidíte vámi provedné změny. Tlačítko Detail bude dále zobrazovat poslední schválenou verzi článku, kterou vidí vaší zákazníci. Jakmile se provedené změny schválí, tlačítko náhled zmizí a změny se přenesou do článku o doplňku, aby je viděli i zákazníci.

Pokud je změna ve vývojové části doplňku:

  • Jakmile je agentura hotova se svými změnami, doplněk řádně otestuje (v případě změn ve vývojové části) a následně odešle změny ke schválení Upgates za pomocí tlačítka "Uložit a odeslat ke schválení".
  • Agentura před odesláním ke schválení vypíše, co vše se změnilo, aby zákaznici věděli, co je v aktualizaci nového. Formulář na text o nové aktualizaci vyskočí po kliknutí na tlačítko "Uložit a odeslat ke schválení". Změny se následně propíšou do detailu článku o vašem doplňku (na spodní části).

Pozor! Vámi vypsané hodnoty se po schválení verze propíšou na detail článku. Dbejte prosím tedy na prezenci textů tak, jak byste je psali svému zákazníkovi.

Jakmile bude doplněk s novou verzí schválený, všem zákazníkům odejde notifikace, že váš doplněk vytvořil novou verzi a je potřeba na ní přejít. 

Pozor! Po schválení nové verze doplňku, bude doplněk existovat ve dvou verzích. Verze 1, kterou budou mít aktivní zákaznici, kteří svou aktivaci provedli před schválením verze2. A Verze 2, kterou budou mít aktivní zákaznici, kteří na novou verzi přejdou, anebo aktivují doplněk po schválení verze2.
Je tedy důležité, abyste na své straně s tímto počítali a zákazníkům s verzí 1 neprováděli přenosy na nové endpointy, které se přidávají až ve verzi 2. Automatická kontrola by tak mohla váš doplněk dočasně pozastavit, protože zjistí, že se doptáváte opakovaně na nepovolené endpointy.
To jakou verzi klient používá zjistíte z atributu token, který chodí vždy v každém Aktivačním, Otvíracím a Aktualizačním endpointu.

Pokud ve vývojové části měníte jen URL endpointu (pro Aktivaci, Otevření, Verzování, Odinstalaci), anebo intervaly, již založených API enpointů, tak se možnost na přechod nové verze zákazníkům nespustí. Proběhne automaticky. Zákazník "schvaluje" přechod na novou verzi jen v takovém případě, kdy se přidává / odebírá přístup k části API, ke kterému dříve souhlas nedal. Tedy například pokud jste dříve nepracovali s /categories, ale nyní je budete vyžadovat, tak toto zákazník musí schválit. Pokud ale /categories již používáte, a změníte například jen frekvenci používání, tak toto zákazník neschvaluje.

Pokud se chystáte váš doplněk rozšířit a nechcete své změny provádět rovnou na produkci, můžete využívat vývojové prostředí.

Jak používat developer prostředí?

  • Doplněk se založí a do něj vyplníte své DEV URL do endpointů (Aktivace, Odinstalace a Otevření).
  • Jakmile budete mít doplněk připraven, nasadíte své změny na produkci a změníte v doplňku DEV URL na produkční.
  • Doplněk pošlete ke schválení.
  • Jakmile se doplněk schválí, odejde zákazníkům do administrace.
  • Jakmile se rozhodnete dělat nové změny (verze), opět vložíte DEV URL adresy do doplňku (nebo změníte API přístupy), tím se spustí nová verze doplňku. Zákazníci uvidí na svých projektech / demoverzích verzi doplňku 1. Vy na svém vývojovém projektu, který se k vašemu doplňku pároval, uvidíte verzi 2.
  • Jakmile budete zase připraveni odeslat doplněk ke schválení, tak nasadíte své změny na produkci a budete kontrolovat, zda-li doplněk uživatele odesílá správné číslo verze v atributu version. Tím mu můžete zobrazit příslušné změny, které jste pro verzi 2 udělali.
  • Změníte DEV URL adresy na produkční a pošlete doplněk k otestování.
  • Jakmile se nová verze doplňku schválí, budou v API body požadavku odesílat číslo verze 2.

Přechod na novou verzi

Každý klient Upgates, má popsáno v nápovědě, jak na novou verzi doplňku přecházet. Tato informace mu také odchází emailem, jakmile se nová verze schválí ze strany Upgates.
Více informací o tom, jak aktualizace vypadá ze strany zákazníka, se dozvíte v tomto článku.

Pro vás, jako vývojáře, je důležité vědět, že přechod na novou verzi se provádí v seznamu doplňků tlačítkem Aktualizovat verzi.

Deaktivace staré verze

Jakmile bude doplněk s novou verzí schválený, všem zákazníkům odejde notifikace, že váš doplněk vytvořil novou verzi a je potřeba na ní přejít. Na tento přechod mají 30 dní. Pokud na novou verzi v intervalu nepřejdou, bude jejich doplněk deaktivován.


Jak zjistit verzi doplňku?

Seznam doplňků

  1. Přejděte do sekce Doplňky / Moje doplňky
  2. Vyhledejte příslušný doplněk.
  3. Na řádku s daným doplňkem najděte sloupec Verze a v něm najdete aktuální verzi vašeho doplňku.

Detail doplňku

  1. Přejděte do sekce Doplňky / Moje doplňky
  2. Vyberte příslušný doplněk.
  3. Vedle názvu vašeho doplňku uvidíte jak stav vašeho doplňku, tak příslušnou verzi

Identifikace použité verze u zákazníka

Díky atributu version můžete zjistit, jakou přesně verzi vašeho doplňku zákazník využívá a tím následně například posílat do iframe správné informace.
Číslo verze se vždy zvyšuje s novou verzí doplňku. Schválením se z něj nestává opět verze 1. Každá verze znamená posun v číselné řadě nahoru.

"version" => $version intiger


Dokumentace

Request body

token
string
identifikátor e-shop
version
intiger
time
string
Čas platnosti signature_v2 podle ISO 8601
signature
string
base64_encode podpis specifikovaných atributů pomocí privatního klíče
signature_v2
string
base64_encode podpis specifikovaných atributů pomocí privatního klíče
Pro vytvoření budete potřebovat znát signature_token.
POST https://vasedomena.com/vášAPIEndpointNaZměnuVerze JSON

{
"token": "",
"version": "",
"time": "",
"signature": "",
"signature_v2": ""
}
                                        

Response body

error
required
boolean
true / false, 1 / 0
message
string
potřebné pokud je error = TRUE.
{} Response JSON

{
"error": false,
"message": ""
}
                                            

Podpisový vzor:

{} Signature PHP

<?php
$data = implode(";", [
    "token" => "...",
    ]);
$signature = 'a0e0a3e7689bd4c80e4d6ffcccb05235b864e1d0';
$signaturePublicKey = file_get_contents("https://files.upgates.com/addons/signature/api.signature.pub.key");
$verify = openssl_verify($data, base64_decode($signature), $signaturePublicKey, OPENSSL_ALGO_SHA256);
            
        
{} Signature_v2 PHP

<?php
$data = implode(";", [
    "token" => "...",
    "time" => "...",
    "signature_token" => "...",
    ]);
$signature = 'a0e0a3e7689bd4c80e4d6ffcccb05235b864e1d0';
$signaturePublicKey = file_get_contents("https://files.upgates.com/addons/signature/api.signature.pub.key");
$verify = openssl_verify($data, base64_decode($signature), $signaturePublicKey, OPENSSL_ALGO_SHA256);
            
        

Neúspěšná změna verze

  • Doplněk nezmění verzi, pokud:
    • Vaše odpověď je delší než 5 vteřin.
    • Jakákoliv jiná odpověď než se stavovým kódem HTTP 200.
    • Odpověď HTTP 200 není validní.

Odpověď (Validace)

  • required attribut error
    • TRUE (bool) - Problém na straně doplňku - změna verze by proběhla v pořádku, ale zákazník musí před změnou verze splnit dodatečné podmínky, než bude moct změnit verzi doplňku.
    • FALSE (bool) - Vše proběhlo v pořádku, doplněk je úspěšně převeden na novou verzi.
  • cURL podporované kódování obsahu
    • libcurl
    • deflate
    • gzip
    • br
    • zstd