WordPress ekosystém

REST API (WP)

Rozhraní umožňující číst a zapisovat data WordPressu přes HTTP požadavky

(Representational State Transfer API)

Co je REST API (WP)

REST API (WP) je rozhraní, přes které se dají data WordPressu číst a zapisovat zvenčí, bez přihlášení do administrace. Odpovědi chodí ve formátu JSON na adresách začínajících /wp-json/.

Není to doplněk, který byste někde zapínali. Sedí přímo v jádru a spoléhá na něj i samotná administrace: editor Gutenberg ukládá obsah právě přes něj. Proto se rozhraní nedá jen tak vyhodit.

Kdo přes něj do webu sahá

Mobilní aplikace, která si tahá články z redakčního systému. Headless řešení, kde WordPress dělá jen sklad obsahu a návštěvníkovi se zobrazuje frontend postavený na něčem úplně jiném. Skript, který v noci nahraje dvě stě produktů z tabulky, aby je nikdo nemusel klikat ručně.

Co z toho zajímá marketéra

Většinou jediná věc: jak dostat obsah z webu ven, nebo naopak dovnitř. Stěhování na novou platformu, plnění produktového feedu, hromadná úprava titulků u stovek článků. Když vám vývojář řekne, že to půjde přes REST API, znamená to hlavně jedno: práci nebude nikdo klikat ručně.

Druhá věc je bezpečnost. Část koncových bodů je veřejně čitelná, včetně výpisu autorů, což bývá první krok při hádání přihlašovacích jmen. Omezit se to dá bezpečnostním pluginem nebo úpravou v kódu.

Sám proti API nic nepíšu, na to mám vývojáře. Moje role končí u zadání: která pole potřebuju dostat ven, jak často se mají data aktualizovat a co se má stát, když spojení spadne. To poslední se opomíjí nejčastěji a pak se dohledává, proč v cílovém systému chybí polovina záznamů. Než se cokoliv pustí na ostrý web, patří to na staging.

Časté otázky

Dá se REST API ve WordPressu vypnout?

Úplně ne, administrace ho potřebuje k běžnému provozu. Omezit jde přístup nepřihlášených uživatelů, jenže na rozhraní stojí i řada pluginů, takže změnu nejdřív vyzkoušejte mimo ostrý web.

Jak poznám, že web REST API má?

Přidejte za doménu /wp-json/ a podívejte se, co se vrátí. Dlouhý výpis v JSON znamená, že rozhraní běží. Prázdná stránka nebo chybová hláška ukazuje na to, že je omezené.

Zpomaluje REST API web?

Rozhraní samo o sobě ne. Zátěž vzniká až tehdy, když na něj něco klepe ve vysoké frekvenci, typicky špatně napsaná integrace, která si stejná data tahá znovu každou minutu.