Verze FedEx API
Pro správu verzí API používáme ve společnosti FedEx sémantické verzování. Každá verze je reprezentována formátem verze major.minor (hlavní.vedlejší) (tj. rozhraní API Ship 1.1). Nová hlavní verze znamená, že změna je zpětně nekompatibilní a nová vedlejší verze označuje zpětně kompatibilní změnu.
Ve společnosti FedEx se řídíme jednoduchým verzováním URI. To zahrnuje uvedení pouze hlavního čísla verze, jež je v cestě URI reprezentováno. Upozorňujeme, že v cestě URI není zahrnuto číslo vedlejší verze. Tato strategie využívá směrování URI k určení konkrétních verzí API.
Příklad: /ship/v1/shipments
Hlavní principy strategie verzování
Plánujeme zveřejňování menšího počtu hlavních verzí pro rozhraní FedEx API tak, aby byla hlavní verze za dva roky od vydání novější hlavní verze zastaralá. Například, je zveřejněna hlavní verze „X“, verze „X-1“ bude podporována po dobu dvou let od vydání verze „X“
Příklad: V roce 2020 je zveřejněna hlavní verze V1.0. Pokud bude v roce 2021 vydána hlavní verze V2.0, bude pak V1.0 v roce 2023 zastaralá.
Vedlejší verze budou podporovat většinu nových funkcí a aktualizací funkcí.
Příklad: Po hlavní verzi 1.0 budou vydány vedlejší verze 1.1, 1.2 atd. obsahující nové funkce a aktualizace funkcí.
V kterémkoli okamžiku však budou mít všechny koncové body pro konkrétní API stejnou hlavní verzi. Nejnovější verze dokumentace bude k dispozici pouze na portálu FedEx Developer Portal. Na jednotlivých stránkách přehledu rozhraní API však bude k dispozici protokol změn, který podrobně popisuje změny v hlavní a vedlejší verzi.
Kdy jsou zveřejňovány hlavní verze API?
Počet hlavních verzí našich API se snažíme minimalizovat. Existují však určité případy, kdy je uvedení nové hlavní verze nevyhnutelné. Zde následuje několik klíčových důvodů, proč by se měla nová hlavní verze vydat:
- Když je stávající hodnota pole odebrána nebo byly formát či samotná hodnota změněny v požadavku či odpovědi
Příklad: Hodnota pole „GEOGRAPHIC_COORDINATES“ (zeměpisné_souřadnice) pro prvek locationSearchCriterion je ve verzi X odstraněna; syntaxe data byla změněna z RR-MM-DD na MM-DD-RRRR; typ provozovny byl v odpovědi změněn z FEDEX_ONSITE na ONSITE
- Když je stávající prvek odebrán z požadavku nebo odpovědi
Příklad: Prvek pickupType je ve verzi N odstraněn (nebo přejmenován) z cenového požadavku.
- Když je stávající metoda odstraněna
Příklad: Metoda vytváření a zrušení štítků FedEx Express již není ve verzi N podporována
- Když je stávající prvek, jež byl dříve volitelný nebo podmíněný, nyní v požadavku povinný
Příklad: Číslo rezervace je nyní ve verzi N povinný prvek pro zásilky FedEx Express® Freight
- Když dojde ke změně rozvržení rozhraní API
Příklad: Je upravena struktura požadavku a odpovědi
- Když dojde ke změnám chybových kódů a chybových zpráv
Příklad: Změna chybového kódu z INCORRECT.WEIGHT na WEIGHT.LIMIT.EXCEEDED
Kdy jsou vedlejší verze API zveřejňovány?
- Když je přidána nová hodnota pole
Příklad: Nová nabídka dopravy je přidána do prvku serviceType ve verzi X
- Když je přidán nový prvek
Příklad: Nový volitelný prvek, který zahrnuje telefonní číslo celního brokera pro mezinárodní zásilku
- Když je přidána nová metoda
Příklad: Metoda úpravy dokumentů mezinárodního obchodu poté, co byly nahrány, je přidána ve verzi X.
- Když je stávající prvek, jež byl dříve povinný, změněn na volitelný
Příklad: ID dokumentu je nyní volitelný prvek, protože FedEx dokáže odvodit ID dokumentu na základě informací o uživateli.
Často kladené dotazy
Do dvou let budete muset aktualizovat URI na nejnovější verzi, aby mohla společnost FedEx starší verzi vyřadit.
Vedlejší verze jsou vydávány proto, aby vyhovovaly novým funkcím a změnám, které jsou zpětně kompatibilní, a proto se neočekává, že by narušily vaši integraci. Aktualizace na novou vedlejší verzi není požadována, ale obecně se doporučuje jakožto osvědčený postup k osvojení nových funkcí, které jsou vytvořeny k uspokojení potřeb zákazníků.
Odpověď. Ve webových službách FedEx každá změna vyžaduje nové vydání WSDL nebo vydání hlavní verze, což zákazníkům aktualizace ztěžuje. S rozhraními FedEx API lze většinu nových funkcí zavést prostřednictvím vedlejších verzí, což zákazníkům aktualizaci usnadňuje. Bude zveřejněno více vedlejších verzí API a méně hlavních verzí.