{"id":24800,"date":"2021-05-19T12:24:00","date_gmt":"2021-05-19T09:24:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24800"},"modified":"2021-10-17T19:04:18","modified_gmt":"2021-10-17T16:04:18","slug":"kiire-juhend-woocommerce-rest-api-kohta","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/kiire-juhend-woocommerce-rest-api-kohta\/","title":{"rendered":"Kiire juhend WooCommerce REST API kohta"},"content":{"rendered":"<p>Kas soovite suhelda WooCommerce REST API-ga? WooCommerce pakub REST-i API-d, mis annab teile reaalajas andmeid taustaprogrammist, mida saab paigutada teie v\u00e4lise rakenduse \u00fcksk\u00f5ik kuhu. REST API kaudu saab hallata nende WooCommerce&#8217;i andmeid, l\u00fc\u00fces l\u00f5pp-punktid. Selles artiklis uurime, kuidas kasutada WooCommerce REST API-t ja saata HTTP-p\u00e4ringuid WooCommerce&#8217;ile.<\/p>\n<p>Kui soovite oma poe ehitada, v\u00f5ite WooCommerce&#8217;i kasutada oma toodete, tootepiltide, galerii jne haldamise taustaprogrammina. Seej\u00e4rel tooge REST API abil toote andmed ja kuvage need oma v\u00e4lises rakenduses. WooCommerce pakub taustaprogrammiga suhtlemiseks <a href=\"https:\/\/woocommerce.github.io\/woocommerce-rest-api-docs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">REST API dokumentatsiooni<\/a>. Siit saate \u00fcksikasju k\u00f5igi toodete, n\u00e4iteks toodete, klientide, tellimuste, maksude jne kohta. Selles artiklis me suhtleme toote l\u00f5pp-punktidega. Sarnasel viisil saate integreerida muid v\u00f5imalusi nagu kliendid, tellimused jne.<\/p>\n<h3>Hankige oma tarbija v\u00f5ti ja saladus<\/h3>\n<p>WooCommerce REST API-ga alustamiseks peate k\u00f5igepealt hankima oma tarbija v\u00f5tme ja saladuse. Need v\u00f5tmed on poe identifitseerimisandmed ja vajalikud, kui antakse WooCommerce&#8217;ile API-k\u00f5ne.<\/p>\n<p>Peate oma WordPressi taustaprogrammi installima WooCommerce. Seej\u00e4rel <strong>minge<\/strong> lehele <strong>WooCommerce-&gt; Seaded<\/strong>. Kl\u00f5psake vahekaarti T\u00e4psemalt ja seej\u00e4rel linki REST API.<\/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=\"Kiire juhend WooCommerce REST API kohta\" ><\/a><\/p>\n<p>Kl\u00f5psake sellel lehel nuppu &quot;Loo API v\u00f5ti&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=\"Kiire juhend WooCommerce REST API kohta\" ><\/a><\/p>\n<p>Sisestage kirjeldus, valige \u201eLoe \/ kirjuta&quot; \u00f5igused ja vajuta nuppu Loo API v\u00f5ti. V\u00f5ite valida ka lugemisloa. See s\u00f5ltub teie n\u00f5udest. Kui peate lihtsalt WooCommerce&#8217;ist andmeid lugema, valige suvand &quot;Loe&quot;. Ja kui soovite teha nii lugemis- kui ka kirjutamistoiminguid, siis oleks teie valikuks \u201eLoe \/ kirjuta&#8221;.<\/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=\"Kiire juhend WooCommerce REST API kohta\" ><\/a><\/p>\n<p>Kopeerige oma tarbija v\u00f5ti ja kliendisaladus, mis on vajalik API-k\u00f5nede tegemisel.<\/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=\"Kiire juhend WooCommerce REST API kohta\" ><\/a><\/p>\n<h3>Suhtle WooCommerce REST API-ga<\/h3>\n<p>Kui olete oma tarbija v\u00f5tme ja saladuse valmis saanud, v\u00f5ime alustada koodist, mis suhtleb WooCommerce&#8217;iga. Kuna peame saatma HTTP-p\u00e4ringuid, installige Guzzle&#8217;i teek, kasutades allolevat k\u00e4sku.<\/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-klient, mis h\u00f5lbustab HTTP-p\u00e4ringute saatmist ja on triviaalne integreerimine veebiteenustega.<\/p>\n<p>N\u00fc\u00fcd v\u00f5tame m\u00f5ned l\u00f5pp-punktid, n\u00e4iteks k\u00f5igi toodete hankimine, \u00fche toote hankimine, toote v\u00e4rskendamine ja integreerimine.<\/p>\n<h4>Hankige tooteid<\/h4>\n<p>WooCommerce API l\u00f5pp-punktide helistamise ajal peate m\u00e4\u00e4rama loa p\u00e4ise, mis on teie tarbija v\u00f5tme ja kliendisaladuse kodeeritud string64.<\/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>\u00dclaltoodud koodis olen nimetanud l\u00f5pp-punkti, mis annab toodete loendi. Siinkohal olen edastanud v\u00e4\u00e4rtuse \u201eper_page&#8221; 18, mis annab vastuseks 18 toote andmed. Selle v\u00e4\u00e4rtuse saate edastada vastavalt oma n\u00f5udele. Enne l\u00f5pp-punkti j\u00f5udmist asendage kohat\u00e4ited tegelike v\u00e4\u00e4rtustega.<\/p>\n<h4>Hankige \u00fcks toode<\/h4>\n<p>Kui soovite tuua \u00fche toote andmed, on teie tulemus j\u00e4rgmine.<\/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>Toote v\u00e4rskendamine<\/h4>\n<p>Toote saate v\u00e4rskendada, saates API l\u00f5pp-punktile PUT-p\u00e4ringu. Oletame, et soovite oma toote tavahinda uuendada.<\/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>Need on m\u00f5ned p\u00f5hik\u00f5ned. Samamoodi saab kasutaja saata HTTP-p\u00e4ringu klientidele, tellimustele, kupongidele jne. Selle kohta saate rohkem lugeda nende <a href=\"https:\/\/woocommerce.github.io\/woocommerce-rest-api-docs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ametlikust dokumentatsioonist<\/a>.<\/p>\n<h3>Suhelge WooCommerce REST API-ga JavaScripti abil<\/h3>\n<p>WooCommerce avaldab oma <a href=\"https:\/\/www.npmjs.com\/package\/@woocommerce\/woocommerce-rest-api\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">JavaScripti teegi,<\/a> mis on kasulik API-k\u00f5ne saatmiseks WooCommerce&#8217;ile JavaScripti raamistikust. Oletame, et soovite suhelda oma React-p\u00f5hise rakenduse REST-i API-ga.<\/p>\n<p>Sel juhul installige teek &#8216;@ woocommerce \/ woocommerce-rest-api&#8217; k\u00e4suga:<\/p>\n<pre><code>npm install --save @woocommerce\/woocommerce-rest-api<\/code><\/pre>\n<p>J\u00e4rgmisena saate oma React komponendis hankida toodete loendi, kasutades allolevat koodi.<\/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>Siin tr\u00fckin tootenimede loetelu ja toote hinna. Kasutaja saab printida ka muid andmeid. Kui soovite konsoolis n\u00e4ha k\u00f5iki andmeid, logige edusemeetodisse response.data. T\u00e4pselt nagu \u00fclaltoodud n\u00e4ites, saate oma rakendusest React saata muid HTTP-p\u00e4ringuid.<\/p>\n<h3>J\u00e4reldus<\/h3>\n<p>Selles \u00f5petuses uurime WooCommerce REST API helistamist PHP ja JavaScripti abil. K\u00e4isime l\u00e4bi WooCommerce&#8217;i v\u00e4hesed API l\u00f5pp-punktid. Kasutaja saab m\u00e4ngida koos muu l\u00f5pp-punktiga, j\u00e4rgides dokumentatsiooni ja saates n\u00f5utavad HTTP-p\u00e4ringud.<\/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>Kui soovite ehitada veebipoodi, on WooCommerce \u00fcks parimaid valikuid. Saame kasutada WooCommerce REST API-d ja ehitada poodi mis tahes keeles.<\/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":[313,498,274,609],"tags":[842],"class_list":["post-24800","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-andmebaas","category-laravel2-5","category-php-5","category-uncategorized-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/24800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/comments?post=24800"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/24800\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/22224"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=24800"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=24800"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=24800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}