✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Um guia rápido sobre WooCommerce REST API

300

Você está procurando interagir com a API WooCommerce REST? O WooCommerce fornece uma API REST que obterá dados em tempo real do back-end que podem ser colocados em qualquer lugar em seu aplicativo externo. Por meio de sua API REST, é possível gerenciar seus dados WooCommerce acessando os terminais. Neste artigo, estudamos como usar a API REST do WooCommerce e enviar solicitações HTTP para o WooCommerce.

Se você deseja construir sua própria loja, você pode usar WooCommerce como back-end para gerenciar seus produtos, imagens de produtos, galeria, etc. E, em seguida, usando a API REST, buscar os dados do produto e exibi-los em seu aplicativo externo. O WooCommerce fornece uma documentação da API REST para interagir com o back-end. Aqui você obterá os detalhes sobre tudo, como produtos, clientes, pedidos, impostos, etc. Neste artigo, vamos interagir com os terminais do produto. De forma semelhante, você pode integrar outras opções como clientes, pedidos, etc.

Obtenha sua chave e segredo do consumidor

Para começar a usar a API REST do WooCommerce, primeiro você precisa obter sua chave e segredo do consumidor. Essas chaves são a identificação da loja e são necessárias ao fornecer uma chamada de API para WooCommerce.

Você deve instalar o WooCommerce em seu back-end do WordPress. Em seguida, vá para a página WooCommerce-> Configurações. Clique na guia Avançado e, em seguida, no link REST API.

Um guia rápido sobre WooCommerce REST API

Nesta página, clique no botão ‘Criar uma chave API’.

Um guia rápido sobre WooCommerce REST API

Insira a descrição, escolha as permissões ‘Ler / Gravar’ e clique no botão Gerar chave API. Você também pode escolher a permissão de leitura. Depende de sua necessidade. Se você só precisa ler os dados do WooCommerce, escolha a opção ‘Ler’. E se você quiser fazer operações de leitura e gravação, sua opção seria ‘Ler / Gravar’.

Um guia rápido sobre WooCommerce REST API

Copie a chave e o segredo do consumidor que serão necessários ao fazer chamadas de API.

Um guia rápido sobre WooCommerce REST API

Interaja com a API WooCommerce REST

Assim que estiver pronto com sua chave e segredo do consumidor, podemos começar com o código que interage com o WooCommerce. Como precisamos enviar solicitações HTTP, instale a biblioteca Guzzle usando o comando abaixo.

composer require guzzlehttp/guzzle

Guzzle é um cliente PHP HTTP que torna fácil o envio de solicitações HTTP e trivial para integração com serviços da web.

Agora vamos pegar alguns terminais, como obter todos os produtos, obter um único produto, atualizar um produto e integrá-lo.

Obtenha produtos

Ao chamar os pontos de extremidade da API WooCommerce, você precisa definir o cabeçalho de autorização, que é uma string codificada em base64 de sua chave e segredo do consumidor.

<?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();
}

No código acima, chamei o endpoint, que fornece uma lista de produtos. Aqui, passei 18 como um valor ‘por página’, que fornecerá 18 dados do produto em resposta. Você pode passar esse valor de acordo com sua necessidade. Certifique-se de substituir os marcadores pelos valores reais antes de atingir o ponto de extremidade.

Obtenha um único produto

Se você deseja buscar os dados de um único produto, seu endpoint será o seguinte.

$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,
]);

Atualizar um produto

Você pode atualizar um produto enviando uma solicitação PUT para o endpoint da API. Digamos que você queira atualizar um regular_price de seu produto.

$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,
]);

Estas são algumas ligações básicas. Da mesma forma, o usuário pode enviar solicitação HTTP para Clientes, Pedidos, Cupons, etc. Você pode ler mais sobre isso na documentação oficial.

Interaja com a API REST WooCommerce usando JavaScript

WooCommerce lança sua própria biblioteca JavaScript que é útil para enviar chamadas de API para WooCommerce a partir da estrutura JavaScript. Digamos que você queira interagir com a API REST de seu aplicativo baseado em React.

Nesse caso, instale a biblioteca ‘@ woocommerce / woocommerce-rest-api’ pelo comando:

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

Em seguida, em seu componente React, você pode obter a lista de produtos usando o código abaixo.

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"));

Aqui, estou imprimindo a lista de nomes e preços de produtos. O usuário também pode imprimir outros dados. Se você quiser ver todos os dados no console, registre o response.data no método de sucesso. Assim como no exemplo acima, você pode enviar outras solicitações HTTP de seu aplicativo React.

Conclusão

Neste tutorial, estudamos sobre como chamar a API WooCommerce REST usando PHP e JavaScript. Passamos por alguns endpoints de API do WooCommerce. O usuário pode brincar com o outro endpoint seguindo a documentação e enviando as solicitações HTTP necessárias.

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação