Siirry pääsisältöön

Ulkoiset API-pyynnöt

Ohje ulkoisista API-pyynnöistä ja siitä, mitä tehdä, jos ulkoinen API vastaa hitaasti.

WordPressissä ulkoiset API-pyynnöt ovat yhteyksiä, joita sivustosi muodostaa oman palvelimesi ulkopuolisiin palveluihin WordPressin HTTP-API:n avulla (wp_remote_get(), wp_remote_post() jne.).

Esimerkkejä:

  • WordPress-päivitysten tarkistaminen osoitteesta api.wordpress.org

  • Premium-lisäosien lisenssien vahvistaminen

  • Premium-lisäosien päivitysten tarkistaminen

  • Maksuportaalien kanssa tapahtuva viestintä (Stripe, Klarna jne.)

  • Tietojen lähettäminen CRM-järjestelmiin, analytiikka- tai markkinointialustoille

  • Valuuttakurssien, säätietojen tai muiden kolmansien osapuolten tietojen hakeminen

Mitä tehdä, jos ulkoinen API vastaa hitaasti

Jos ulkoinen API vastaa hitaasti, paras tapa on yleensä vähentää vaikutusta verkkosivustoon sen sijaan, että odotettaisiin API:ta pidempään.

Yleisiä ratkaisuja:

  • Tallenna API-vastaus välimuistiin, jotta WordPress ei kutsu API:ta jokaisen sivun lataamisen yhteydessä

  • Suorita API-kutsu asynkronisesti WP-Cronin, Action Schedulerin tai taustatehtävien kautta sen sijaan, että se tapahtuisi kävijöiden pyyntöjen aikana

  • Ota käyttöön uudelleenkokeilut ja sujuvat varajärjestelmät, jos API on tilapäisesti poissa käytöstä

  • Seuraa API:n vasteaikoja ja ota yhteyttä palveluntarjoajaan, jos palvelu on jatkuvasti hidasta

  • Tallenna kriittiset tiedot paikallisesti ja synkronoi ne säännöllisesti sen sijaan, että ne haettaisiin reaaliaikaisesti jokaisen pyynnön yhteydessä

Jos olet todennut, että hidas API-pyyntö ei johdu ristiriidasta tai hitaasta tietokantakyselystä sivustolla, ota yhteyttä API-palveluntarjoajaan tämän ongelman vuoksi.

WP_HTTP_BLOCK_EXTERNAL

Jos WP_HTTP_BLOCK_EXTERNAL on käytössä, lähtevät pyynnöt estetään, ellei kohdepalvelinta ole nimenomaisesti sallittu WP_ACCESSIBLE_HOSTS-asetuksessa. Tämän seurauksena ulkoisiin palveluihin perustuvat lisäosat tai mukautetut toiminnot, kuten maksuportaalien sovellusrajapinnat tai SMTP, saattavat lakata toimimasta oikein. Esimerkiksi tämä estää laajennusten ja ytimen toiminnan, jos et lisää api.wordpress.org-osoitetta.

Esimerkkimääritelmät wp-config.php-tiedostossa:

/**
* Estää WordPressin ulkoiset pyynnöt ja sallii vain
* *.wordpress.org-URL-osoitteet, esim. wp_remote_get-funktiolle
*/
define( ‘WP_HTTP_BLOCK_EXTERNAL’, true );
define( ‘WP_ACCESSIBLE_HOSTS’, ‘*.wordpress.org’ );

Varoitus!

WP_HTTP_BLOCK_EXTERNAL-asetuksen käyttö ilman kaikkien tarvittavien WP_ACCESSIBLE_HOSTS-määritelmien määrittämistä aiheuttaa toimintahäiriöitä lisäosissa tai mukautetuissa toiminnoissa, joiden toiminta perustuu ulkoisiin API-pyyntöihin.

Vastasiko tämä kysymykseesi?