✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Pikaopas WooCommerce REST -sovellusliittymästä

24

Etsitkö vuorovaikutusta WooCommerce REST -sovellusliittymän kanssa? WooCommerce tarjoaa REST-sovellusliittymän, joka saa reaaliaikaiset tiedot taustasta, jonka voi sijoittaa mihin tahansa ulkoiseen sovellukseen. REST-sovellusliittymän kautta voidaan hallita WooCommerce-tietojaan lyömällä päätepisteitä. Tässä artikkelissa tutkitaan WooCommerce REST -sovellusliittymän käyttöä ja HTTP-pyyntöjen lähettämistä WooCommercelle.

Jos haluat rakentaa oman myymälän, voit käyttää WooCommercea backendina tuotteiden, tuotekuvien, gallerian jne. Hallintaan. Ja sitten REST-sovellusliittymän avulla voit hakea tuotetiedot ja näyttää ne ulkoisessa sovelluksessa. WooCommerce tarjoaa REST API -dokumentaation vuorovaikutukseen taustajärjestelmän kanssa. Täältä löydät yksityiskohdat kaikesta, kuten tuotteista, asiakkaista, tilauksista, veroista jne. Tässä artikkelissa aiomme olla vuorovaikutuksessa Tuotteen päätepisteiden kanssa. Samalla tavalla voit integroida muita vaihtoehtoja, kuten asiakkaat, tilaukset jne.

Hanki kuluttaja-avain ja kuluttajasalaisuus

WooCommerce REST -sovellusliittymän käytön aloittamiseksi sinun on ensin hankittava kuluttaja-avain ja kuluttajasalaisuus. Nämä avaimet ovat myymälän tunniste ja välttämättömiä, kun ne antavat API-kutsun WooCommercelle.

Sinun on asennettava WooCommerce WordPress-taustakuvaan. Siirry sitten WooCommerce-> Asetukset- sivulle. Napsauta Lisäasetukset-välilehteä ja sitten REST API -linkkiä.

Pikaopas WooCommerce REST -sovellusliittymästä

Napsauta tällä sivulla painiketta "Luo API-avain".

Pikaopas WooCommerce REST -sovellusliittymästä

Kirjoita kuvaus, valitse Lue / kirjoita-käyttöoikeudet ja paina Luo API-avain -painiketta. Voit valita myös lukuoikeuden. Se riippuu vaatimuksestasi. Jos sinun tarvitsee vain lukea tietoja WooCommercestä, valitse ‘Lue’ -vaihtoehto. Ja jos haluat tehdä sekä luku- että kirjoitusoperaatioita, vaihtoehtosi olisi ‘Lue / kirjoita’.

Pikaopas WooCommerce REST -sovellusliittymästä

Kopioi kuluttaja-avain ja kuluttajasalaisuus, joita vaaditaan API-puheluita annettaessa.

Pikaopas WooCommerce REST -sovellusliittymästä

Ole vuorovaikutuksessa WooCommerce REST -sovellusliittymän kanssa

Kun olet valmis kuluttajaavaimen ja kuluttajasalaisuuden kanssa, voimme aloittaa koodilla, joka on vuorovaikutuksessa WooCommercen kanssa. Koska meidän on lähetettävä HTTP-pyyntöjä, asenna Guzzle-kirjasto alla olevan komennon avulla.

composer require guzzlehttp/guzzle

Guzzle on PHP HTTP -asiakas, joka helpottaa HTTP-pyyntöjen lähettämistä ja on triviaali integroida verkkopalveluihin.

Otetaan nyt joitain päätepisteitä, kuten kaikkien tuotteiden hankkiminen, yhden tuotteen hankkiminen, tuotteen päivittäminen ja integrointi.

Hanki tuotteita

Kun soitat WooCommerce API -sovelluksen päätepisteitä, sinun on määritettävä Valtuutus-otsikko, joka on base64-koodattu merkkijono kuluttajaavaimestasi ja kuluttajasalaisuudestasi.

<?php
require_once "vendor/autoload.php";
  
use GuzzleHttpClient;
 
define('WC_CONSUMER_KEY', 'PASTE_CONSUMER_KEY');
define('WC_CONSUMER_SECRET', 'PASTE_CONSUMER_SECRET');
  
$client = new Client([
    // Base URI is used with relative requests
    'base_uri' => 'YOUR_DOMAIN_BASE_URL',
]);
 
try {
    $response = $client->request('GET', '/wp-json/wc/v3/products', [
        'headers' => [
            "Authorization" => "Basic ". base64_encode(WC_CONSUMER_KEY.':'.WC_CONSUMER_SECRET)
        ],
        'query' => [
            'per_page' => 18,
        ],
        'verify' => false, //only needed if you are facing SSL certificate issue
    ]);
     
    $body = $response->getBody();
    $arr_body = json_decode($body);
    print_r($arr_body);
} catch (Exception $e) {
    echo $e->getMessage();
}

Edellä olevassa koodissa olen kutsunut päätetapahtumaa, joka antaa luettelon tuotteista. Tässä olen läpäissyt 18 per_page-arvona, joka antaa vastaukseksi 18 tuotteen tiedot. Voit välittää tämän arvon vaatimuksesi mukaan. Muista korvata paikkamerkit todellisilla arvoilla ennen kuin pääset päätepisteeseen.

Hanki yksi tuote

Jos haluat noutaa yhden tuotteen tiedot, päätepisteesi on seuraava.

$response = $client->request('GET', '/wp-json/wc/v3/products/PRODUCT_ID_HERE', [
    'headers' => [
        "Authorization" => "Basic ". base64_encode(WC_CONSUMER_KEY.':'.WC_CONSUMER_SECRET)
    ],
    'verify' => false,
]);

Päivitä tuote

Voit päivittää tuotteen lähettämällä PUT-pyynnön API-päätepisteelle. Oletetaan, että haluat päivittää tuotteesi tavallisen_hinnan.

$response = $client->request('PUT', '/wp-json/wc/v3/products/PRODUCT_ID_HERE', [
    'headers' => [
        "Authorization" => "Basic ". base64_encode(WC_CONSUMER_KEY.':'.WC_CONSUMER_SECRET)
    ],
    'json' => [
        'regular_price' => '12.20',
    ],
    'verify' => false,
]);

Nämä ovat joitain peruskutsuja. Samalla tavalla käyttäjä voi lähettää HTTP-pyynnön asiakkaille, tilauksille, kuponkeille jne. Voit lukea lisää heidän virallisista asiakirjoistaan.

Ole vuorovaikutuksessa WooCommerce REST -sovellusliittymän kanssa JavaScriptiä käyttämällä

WooCommerce julkaisee oman JavaScript-kirjaston, joka on hyödyllinen API-kutsun lähettämiseen WooCommercelle JavaScript-kehyksestä. Oletetaan, että haluat olla vuorovaikutuksessa REST-sovellusliittymän kanssa React-pohjaisen sovelluksesi kautta.

Asenna tällöin kirjasto ‘@ woocommerce / woocommerce-rest-api’ komennolla:

npm install --save @woocommerce/woocommerce-rest-api

Seuraavaksi React-komponenttisi saat luettelon tuotteista alla olevan koodin avulla.

import React from 'react';
import ReactDOM from 'react-dom';
import WooCommerceRestApi from "@woocommerce/woocommerce-rest-api";
 
class ProductsComponent extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      products: []
    };
  }
 
  componentDidMount() {
    const api = new WooCommerceRestApi({
      url: "YOUR_DOMAIN_BASE_URL",
      consumerKey: "PASTE_CONSUMER_KEY",
      consumerSecret: "PASTE_CONSUMER_SECRET",
      version: "wc/v3"
    });
 
    // List products
    api.get("products", {
      per_page: 18, // 18 products per page
    })
      .then((response) => {
        // Successful request
        this.setState({
          products: response.data
        });
      })
      .catch((error) => {
        // Invalid request, for 4xx and 5xx statuses
      })
      .finally(() => {
        // Always executed.
      });
  }
 
  render() {
    return (      <div>
        <h2>Products</h2>
        <ul>
        {this.state.products.map(product => (          <li key={product.id}>{product.name} - ${product.regular_price}</li>
        ))}
        </ul>
      </div>
    );
  }
}
 
const element = <ProductsComponent></ProductsComponent>
 
ReactDOM.render(element, document.getElementById("root"));

Tulostan tässä luettelon tuotenimistä ja tuotteen hinnasta. Käyttäjä voi tulostaa myös muita tietoja. Jos haluat nähdä kaikki tiedot konsolissa, kirjaa response.data onnistumismenetelmään. Aivan kuten edellisessä esimerkissä, voit lähettää muita HTTP-pyyntöjä React-sovelluksestasi.

Johtopäätös

Tässä opetusohjelmassa tutkitaan WooCommerce REST -sovellusliittymän kutsumista PHP: n ja JavaScriptin avulla. Kävimme läpi muutamat WooCommercen API-päätepisteet. Käyttäjä voi pelata toisen päätepisteen kanssa noudattaen dokumentaatiota ja lähettämällä vaaditut HTTP-pyynnöt.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja