{"id":24466,"date":"2021-05-19T12:13:00","date_gmt":"2021-05-19T09:13:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24466"},"modified":"2021-10-17T20:50:07","modified_gmt":"2021-10-17T17:50:07","slug":"pikaopas-woocommerce-rest-sovellusliittymasta","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/pikaopas-woocommerce-rest-sovellusliittymasta\/","title":{"rendered":"Pikaopas WooCommerce REST -sovellusliittym\u00e4st\u00e4"},"content":{"rendered":"<p>Etsitk\u00f6 vuorovaikutusta WooCommerce REST -sovellusliittym\u00e4n kanssa? WooCommerce tarjoaa REST-sovellusliittym\u00e4n, joka saa reaaliaikaiset tiedot taustasta, jonka voi sijoittaa mihin tahansa ulkoiseen sovellukseen. REST-sovellusliittym\u00e4n kautta voidaan hallita WooCommerce-tietojaan ly\u00f6m\u00e4ll\u00e4 p\u00e4\u00e4tepisteit\u00e4. T\u00e4ss\u00e4 artikkelissa tutkitaan WooCommerce REST -sovellusliittym\u00e4n k\u00e4ytt\u00f6\u00e4 ja HTTP-pyynt\u00f6jen l\u00e4hett\u00e4mist\u00e4 WooCommercelle.<\/p>\n<p>Jos haluat rakentaa oman myym\u00e4l\u00e4n, voit k\u00e4ytt\u00e4\u00e4 WooCommercea backendina tuotteiden, tuotekuvien, gallerian jne. Hallintaan. Ja sitten REST-sovellusliittym\u00e4n avulla voit hakea tuotetiedot ja n\u00e4ytt\u00e4\u00e4 ne ulkoisessa sovelluksessa. WooCommerce tarjoaa <a href=\"https:\/\/woocommerce.github.io\/woocommerce-rest-api-docs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">REST API -dokumentaation<\/a> vuorovaikutukseen taustaj\u00e4rjestelm\u00e4n kanssa. T\u00e4\u00e4lt\u00e4 l\u00f6yd\u00e4t yksityiskohdat kaikesta, kuten tuotteista, asiakkaista, tilauksista, veroista jne. T\u00e4ss\u00e4 artikkelissa aiomme olla vuorovaikutuksessa Tuotteen p\u00e4\u00e4tepisteiden kanssa. Samalla tavalla voit integroida muita vaihtoehtoja, kuten asiakkaat, tilaukset jne.<\/p>\n<h3>Hanki kuluttaja-avain ja kuluttajasalaisuus<\/h3>\n<p>WooCommerce REST -sovellusliittym\u00e4n k\u00e4yt\u00f6n aloittamiseksi sinun on ensin hankittava kuluttaja-avain ja kuluttajasalaisuus. N\u00e4m\u00e4 avaimet ovat myym\u00e4l\u00e4n tunniste ja v\u00e4ltt\u00e4m\u00e4tt\u00f6mi\u00e4, kun ne antavat API-kutsun WooCommercelle.<\/p>\n<p>Sinun on asennettava WooCommerce WordPress-taustakuvaan. Siirry sitten <strong>WooCommerce-&gt; Asetukset-<\/strong> sivulle. Napsauta Lis\u00e4asetukset-v\u00e4lilehte\u00e4 ja sitten REST API -linkki\u00e4.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20552-6082042fde2a8.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20552-6082042fde2a8.png\" alt=\"Pikaopas WooCommerce REST -sovellusliittym\u00e4st\u00e4\" ><\/a><\/p>\n<p>Napsauta t\u00e4ll\u00e4 sivulla painiketta &quot;Luo API-avain&quot;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20552-60820430658a2.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20552-60820430658a2.png\" alt=\"Pikaopas WooCommerce REST -sovellusliittym\u00e4st\u00e4\" ><\/a><\/p>\n<p>Kirjoita kuvaus, valitse Lue \/ kirjoita-k\u00e4ytt\u00f6oikeudet ja paina Luo API-avain -painiketta. Voit valita my\u00f6s lukuoikeuden. Se riippuu vaatimuksestasi. Jos sinun tarvitsee vain lukea tietoja WooCommercest\u00e4, valitse &#8217;Lue&#8217; -vaihtoehto. Ja jos haluat tehd\u00e4 sek\u00e4 luku- ett\u00e4 kirjoitusoperaatioita, vaihtoehtosi olisi &#8217;Lue \/ kirjoita&#8217;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20552-60820430e1fa8.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20552-60820430e1fa8.png\" alt=\"Pikaopas WooCommerce REST -sovellusliittym\u00e4st\u00e4\" ><\/a><\/p>\n<p>Kopioi kuluttaja-avain ja kuluttajasalaisuus, joita vaaditaan API-puheluita annettaessa.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20552-60820430e1fa8.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20552-60820430e1fa8.png\" alt=\"Pikaopas WooCommerce REST -sovellusliittym\u00e4st\u00e4\" ><\/a><\/p>\n<h3>Ole vuorovaikutuksessa WooCommerce REST -sovellusliittym\u00e4n kanssa<\/h3>\n<p>Kun olet valmis kuluttajaavaimen ja kuluttajasalaisuuden kanssa, voimme aloittaa koodilla, joka on vuorovaikutuksessa WooCommercen kanssa. Koska meid\u00e4n on l\u00e4hetett\u00e4v\u00e4 HTTP-pyynt\u00f6j\u00e4, asenna Guzzle-kirjasto alla olevan komennon avulla.<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p><a href=\"https:\/\/artisansweb.net\/use-guzzle-php-http-client-sending-http-requests\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external\"><\/a>Guzzle on PHP HTTP -asiakas, joka helpottaa HTTP-pyynt\u00f6jen l\u00e4hett\u00e4mist\u00e4 ja on triviaali integroida verkkopalveluihin.<\/p>\n<p>Otetaan nyt joitain p\u00e4\u00e4tepisteit\u00e4, kuten kaikkien tuotteiden hankkiminen, yhden tuotteen hankkiminen, tuotteen p\u00e4ivitt\u00e4minen ja integrointi.<\/p>\n<h4>Hanki tuotteita<\/h4>\n<p>Kun soitat WooCommerce API -sovelluksen p\u00e4\u00e4tepisteit\u00e4, sinun on m\u00e4\u00e4ritett\u00e4v\u00e4 Valtuutus-otsikko, joka on base64-koodattu merkkijono kuluttajaavaimestasi ja kuluttajasalaisuudestasi.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\u00a0\nuse GuzzleHttpClient;\n\u00a0\ndefine('WC_CONSUMER_KEY', 'PASTE_CONSUMER_KEY');\ndefine('WC_CONSUMER_SECRET', 'PASTE_CONSUMER_SECRET');\n\u00a0\u00a0\n$client = new Client([\n\u00a0\u00a0\u00a0\u00a0\/\/ Base URI is used with relative requests\n\u00a0\u00a0\u00a0\u00a0'base_uri' =&gt; 'YOUR_DOMAIN_BASE_URL',\n]);\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$response = $client-&gt;request('GET', '\/wp-json\/wc\/v3\/products', [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'headers' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Authorization\" =&gt; \"Basic \". base64_encode(WC_CONSUMER_KEY.':'.WC_CONSUMER_SECRET)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'per_page' =&gt; 18,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'verify' =&gt; false, \/\/only needed if you are facing SSL certificate issue\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$body = $response-&gt;getBody();\n\u00a0\u00a0\u00a0\u00a0$arr_body = json_decode($body);\n\u00a0\u00a0\u00a0\u00a0print_r($arr_body);\n} catch (Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Edell\u00e4 olevassa koodissa olen kutsunut p\u00e4\u00e4tetapahtumaa, joka antaa luettelon tuotteista. T\u00e4ss\u00e4 olen l\u00e4p\u00e4issyt 18 per_page-arvona, joka antaa vastaukseksi 18 tuotteen tiedot. Voit v\u00e4litt\u00e4\u00e4 t\u00e4m\u00e4n arvon vaatimuksesi mukaan. Muista korvata paikkamerkit todellisilla arvoilla ennen kuin p\u00e4\u00e4set p\u00e4\u00e4tepisteeseen.<\/p>\n<h4>Hanki yksi tuote<\/h4>\n<p>Jos haluat noutaa yhden tuotteen tiedot, p\u00e4\u00e4tepisteesi on seuraava.<\/p>\n<pre><code>$response = $client-&gt;request('GET', '\/wp-json\/wc\/v3\/products\/PRODUCT_ID_HERE', [\n\u00a0\u00a0\u00a0\u00a0'headers' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Authorization\" =&gt; \"Basic \". base64_encode(WC_CONSUMER_KEY.':'.WC_CONSUMER_SECRET)\n\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0'verify' =&gt; false,\n]);<\/code><\/pre>\n<h4>P\u00e4ivit\u00e4 tuote<\/h4>\n<p>Voit p\u00e4ivitt\u00e4\u00e4 tuotteen l\u00e4hett\u00e4m\u00e4ll\u00e4 PUT-pyynn\u00f6n API-p\u00e4\u00e4tepisteelle. Oletetaan, ett\u00e4 haluat p\u00e4ivitt\u00e4\u00e4 tuotteesi tavallisen_hinnan.<\/p>\n<pre><code>$response = $client-&gt;request('PUT', '\/wp-json\/wc\/v3\/products\/PRODUCT_ID_HERE', [\n\u00a0\u00a0\u00a0\u00a0'headers' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Authorization\" =&gt; \"Basic \". base64_encode(WC_CONSUMER_KEY.':'.WC_CONSUMER_SECRET)\n\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0'json' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'regular_price' =&gt; '12.20',\n\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0'verify' =&gt; false,\n]);<\/code><\/pre>\n<p>N\u00e4m\u00e4 ovat joitain peruskutsuja. Samalla tavalla k\u00e4ytt\u00e4j\u00e4 voi l\u00e4hett\u00e4\u00e4 HTTP-pyynn\u00f6n asiakkaille, tilauksille, kuponkeille jne. Voit lukea lis\u00e4\u00e4 heid\u00e4n <a href=\"https:\/\/woocommerce.github.io\/woocommerce-rest-api-docs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">virallisista asiakirjoistaan<\/a>.<\/p>\n<h3>Ole vuorovaikutuksessa WooCommerce REST -sovellusliittym\u00e4n kanssa JavaScripti\u00e4 k\u00e4ytt\u00e4m\u00e4ll\u00e4<\/h3>\n<p>WooCommerce julkaisee oman <a href=\"https:\/\/www.npmjs.com\/package\/@woocommerce\/woocommerce-rest-api\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">JavaScript-kirjaston,<\/a> joka on hy\u00f6dyllinen API-kutsun l\u00e4hett\u00e4miseen WooCommercelle JavaScript-kehyksest\u00e4. Oletetaan, ett\u00e4 haluat olla vuorovaikutuksessa REST-sovellusliittym\u00e4n kanssa React-pohjaisen sovelluksesi kautta.<\/p>\n<p>Asenna t\u00e4ll\u00f6in kirjasto &#8217;@ woocommerce \/ woocommerce-rest-api&#8217; komennolla:<\/p>\n<pre><code>npm install --save @woocommerce\/woocommerce-rest-api<\/code><\/pre>\n<p>Seuraavaksi React-komponenttisi saat luettelon tuotteista alla olevan koodin avulla.<\/p>\n<pre><code>import React from 'react';\nimport ReactDOM from 'react-dom';\nimport WooCommerceRestApi from \"@woocommerce\/woocommerce-rest-api\";\n\u00a0\nclass ProductsComponent extends React.Component {\n\u00a0\u00a0constructor(props) {\n\u00a0\u00a0\u00a0\u00a0super(props);\n\u00a0\u00a0\u00a0\u00a0this.state = {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0products: []\n\u00a0\u00a0\u00a0\u00a0};\n\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0componentDidMount() {\n\u00a0\u00a0\u00a0\u00a0const api = new WooCommerceRestApi({\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0url: \"YOUR_DOMAIN_BASE_URL\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0consumerKey: \"PASTE_CONSUMER_KEY\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0consumerSecret: \"PASTE_CONSUMER_SECRET\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0version: \"wc\/v3\"\n\u00a0\u00a0\u00a0\u00a0});\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ List products\n\u00a0\u00a0\u00a0\u00a0api.get(\"products\", {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0per_page: 18, \/\/ 18 products per page\n\u00a0\u00a0\u00a0\u00a0})\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.then((response) =&gt; {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Successful request\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0this.setState({\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0products: response.data\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0})\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.catch((error) =&gt; {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Invalid request, for 4xx and 5xx statuses\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0})\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.finally(() =&gt; {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Always executed.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0render() {\n\u00a0\u00a0\u00a0\u00a0return (\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;h2&gt;Products&lt;\/h2&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;ul&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{this.state.products.map(product =&gt; (\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;li key={product.id}&gt;{product.name} - ${product.regular_price}&lt;\/li&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0))}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/ul&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0}\n}\n\u00a0\nconst element = &lt;ProductsComponent&gt;&lt;\/ProductsComponent&gt;\n\u00a0\nReactDOM.render(element, document.getElementById(\"root\"));<\/code><\/pre>\n<p>Tulostan t\u00e4ss\u00e4 luettelon tuotenimist\u00e4 ja tuotteen hinnasta. K\u00e4ytt\u00e4j\u00e4 voi tulostaa my\u00f6s muita tietoja. Jos haluat n\u00e4hd\u00e4 kaikki tiedot konsolissa, kirjaa response.data onnistumismenetelm\u00e4\u00e4n. Aivan kuten edellisess\u00e4 esimerkiss\u00e4, voit l\u00e4hett\u00e4\u00e4 muita HTTP-pyynt\u00f6j\u00e4 React-sovelluksestasi.<\/p>\n<h3>Johtop\u00e4\u00e4t\u00f6s<\/h3>\n<p>T\u00e4ss\u00e4 opetusohjelmassa tutkitaan WooCommerce REST -sovellusliittym\u00e4n kutsumista PHP: n ja JavaScriptin avulla. K\u00e4vimme l\u00e4pi muutamat WooCommercen API-p\u00e4\u00e4tepisteet. K\u00e4ytt\u00e4j\u00e4 voi pelata toisen p\u00e4\u00e4tepisteen kanssa noudattaen dokumentaatiota ja l\u00e4hett\u00e4m\u00e4ll\u00e4 vaaditut HTTP-pyynn\u00f6t.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jos aiot rakentaa verkkokauppaa, WooCommerce on yksi parhaista vaihtoehdoista. Voimme k\u00e4ytt\u00e4\u00e4 WooCommerce REST -sovellusliittym\u00e4\u00e4 ja rakentaa myym\u00e4l\u00e4\u00e4 mill\u00e4 tahansa kielell\u00e4.<\/p>\n","protected":false},"author":1,"featured_media":22224,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[499,275,314,610],"tags":[843],"class_list":["post-24466","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","category-php-6","category-tietokanta","category-uncategorized-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=24466"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24466\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/22224"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=24466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=24466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=24466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}