Stále více firem používá k automatizaci procesů a k digitalizaci podnikání různé systémy. Jestliže firma používá jeden jediný tak němá jakýkoliv problém. Stačí ale o jednu aplikaci navíc (čtěte dvě a více) a problém je na světě. Stejně jako u lidí, bychom ideálně chtěli, aby si spolu dvě aplikace mohli „povídat“ a vyměňovat různé informace.
Pro případ užití nestačí jít daleko a každý z nás se s ním určitě alespoň jednou za život setkal. Stačí otevřít svůj oblíbený e-shop, koupit si svojí oblíbenou značku bot projít procesem k platební bráně jsme tam. Platební brány e-shopů většinou nebývají programovány majiteli eshopu či poskytovateli technologií na kterých eshop jede. e-shopy pro platební brány v naprosté většině případů používají software třetích stran.
Jako příklad si můžeme vzít platební bránu stripe. Stripe se stará o vše, co se platby týče od zabezpečení údajů o platebních kartách přes strhnutí požadované částky z účtu nakupujícího až po vyplácení tržeb eshopům. K provedení platby na e-shopu ale stripe jakožto software třetí strany, který nemá přístup k datům vašeho eshopu před platbou potřebuje znát minimálně dvě informace:
- Kolik bude zákazník platit
- K jaké objednávce platba patří - aby platební brána mohla eshopu „říct“ že daná objednávka byla zaplacena a může být expedována.
Jak má ale náš e-shop tyto informace platební bráně předat? Posílat tyto informace Českou Poštou není zrovna moudrý nápad a komunikovat každou platbu se Stripem pomocí emailové komunikace by také nebylo zrovna efektivní.
Na scénu přichází API integrace
Žijeme v moderní době, tudíž dává největší smysl posílat data Stripu jak jinak než po internetu. Ideálně chceme, aby spolu e-shop a stripe komunikovali automaticky bez nutného zásahu člověka. Stripe (a spousta dalších integrovatelných nástrojů) má pro tyto situace, potřebující komunikaci mezi vícero systémy, naprogramované tzv API (Aplication Programming Interface) technicky můžeme API popsat jako rozhraní, které umožňuje různým aplikacím vzájemně komunikovat a sdílet data nebo funkce. Funguje jako most, který vývojářům umožňuje připojit jejich software k jiným službám nebo systémům, aniž by museli znát detaily jejich fungování.
Pro technicky méně zdatné můžeme API popsat jako číšníka v restauraci, který přenáší objednávky mezi zákazníkem a kuchyní, aniž bychom museli vědět, jak kuchyně funguje.
Je to jednoduché: podle pravidel ( pravidel komunikace s číšníkem – dám si toto, nechci na to toto a k pití si dám toto) nadiktujeme číšníkovi celou objednávku číšník pak objednávku doručí do kuchyně a my se o ní dále nestaráme až do té doby než nám ten lahodnej burger přistane na stole.
A přesně tak funguje i API, aplikace třetí strany většinou na svých stránkách poskytuje dokumentaci, to jsou zjednodušeně pravidla toho co číšníkovi říkáme (víme že mu máme říct co a kolik toho chceme) a zároveň pravidla toho co nám pak na stole přistane (v tomto případě ne konkrétní položka jako např burger, ale téměř jistě víme že to co nám číšník přinese bude kromě účtenky něco co se dá pít a jíst)
Zpátky k eshopu, eshop platební bráně v moment kliknutí na „přejít k platbě“ zašle stripu v strojově čitelné podobě informace které potřebuje k provedení k platbě. Přenos dat většinou probíhá ve formátu JSON (Javascript Object Notation). Data mohou vypadat například následovně
{
“orderId“ : “CZ129898135“,
“price“: 2439
}
Díky těmto datům pak platební brána přesně ví kolik bude uživatel platit a ke které objednávce se platba vztahuje. Stripe poté instanci platby zpracuje a našemu e-shopu pošle nazpět platební link. e-shop vás poté na tento platební link přesměruje.