Gerenciar uma loja on-line é caro, e os proprietários geralmente precisam lidar com muitos processos manuais. A API REST de WooCommerce simplifica esse fluxo de trabalho, permitindo que você controle as plataformas de eCommerce e gerencie e dimensione as lojas de WooCommerce de forma programática.

Com a API REST de WooCommerce, você realiza com perfeição operações como integrações, automação e ampliação dos recursos da sua loja on-line. Economiza recursos e tempo que podem ser usados para otimizar ainda mais os seus processos. E isso também permite personalizar a aparência da sua loja com aplicativos externos flexíveis.

Este artigo oferece uma compreensão abrangente da API REST de WooCommerce, tornando-o apto a automatizar e aprimorar as suas operações de eCommerce de forma programática. E fornece insights práticos, casos de uso e exemplos de código para facilitar a integração e a personalização perfeitas das lojas de WooCommerce.

Pré-requisitos

Para começar com a API REST de WooCommerce, você deve usar:

  • WooCommerce versão 3.5 ou superior.
  • WordPress versão 4.4 ou superior.
  • Postman ou Insomnia para teste e interação da API.

Começando a usar a API REST de WooCommerce

Para começar, você precisa criar um site WordPress e, então, gerar as credenciais de API no WooCommerce.

Crie um site WordPress com a Kinsta

Se você não tem um site WordPress, pode criar um facilmente no seu painel MyKinsta.

  1. Navegue até a sua conta MyKinsta e clique em Sites WordPress na barra lateral esquerda.
  2. No menu suspenso Adicionar site, selecione a opção Criar novo site e, em seguida, prossiga para a próxima página, onde você pode escolher a opção Instalar WordPress, e clique em Continuar.
  3. Digite o nome do site e o local do centro de dados em Opções do site e clique em Continuar.
  4. Na próxima aba, insira o título do site e as credenciais de administrador. Selecione um idioma e marque a caixa de seleção Instalar WooCommerce para instalar o plugin WooCommerce.

    Criando um site WordPress e instalando o WooCommerce.
    Criando um site WordPress e instalando o WooCommerce.

  5. Clique em Continuar. Isso inicia a criação do site e envia uma notificação para o e-mail do administrador de WordPress assim que ela for concluída. Certifique-se de armazenar seu nome de usuário e senha de administrador do WordPress em um lugar seguro.

Gere credenciais de API no WooCommerce

Para gerar suas credenciais de API de WooCommerce, siga estas etapas:

  1. Faça login no painel WordPress, selecione Plugins > Installed Plugins na barra lateral e ative o plugin WooCommerce.
  2. Após ativar o plugin, selecione WooCommerce > Settings. Em seguida, clique na aba Advanced para acessar a página de configurações avançadas de WooCommerce.
  3. Em seguida, clique em REST API.

    Página de credenciais da chave API.
    Página de credenciais da chave API.

  4. Clique em Create an API Key (Criar uma chave de API) ou Add Key para gerar uma chave de API.
  5. Em seguida, você será solicitado a inserir os Key details (Detalhes da chave), que são a descrição, o usuário e as permissões. Digite a descrição da chave, altere o usuário, se necessário, e selecione Read/Write para as permissões.

    Geração de credenciais de chave de API.
    Geração de credenciais de chave de API.

  6. Clique em Generate API Key. Com as chaves API geradas, você pode acessar e gerenciar os dados da sua loja programaticamente. Anote a chave e o segredo de cliente, pois você os usará na próxima seção para fazer solicitações de API.

    Credenciais da chave API gerada.
    Credenciais da chave API gerada.

Entendendo a arquitetura da API REST de WooCommerce

A API de WooCommerce foi criada com base na arquitetura REST. Isso permite que você leia e execute operações de gravação nos dados de WooCommerce, como pedidos, produtos e clientes, enviando ao endpoint solicitações por meio dos métodos apropriados (GET, POST, PUT, DELETE).

Um endpoint consiste nos métodos de solicitação junto com uma URL padrão. Com um endpoint, você pode usar a ferramenta de sua escolha (Postman ou Insomnia) para acessar diferentes dados armazenados.

Busque uma lista de produtos

Antes de buscar a lista de produtos, certifique-se de que você adicionou alguns à sua loja. Você deve alterar a estrutura de permalink para algo diferente de Plain.

Clique em Settings > Permalinks na barra lateral e altere a estrutura de permalink. Se você não fizer essa alteração, seu endpoint de URL padrão não funcionará como deveria. Clique em Save changes.

Em seguida, abra o Postman e adicione uma nova solicitação. Na seção URL, use https://<yourdomain>/wp-json/wc/v3/products. Certifique-se de substituir <yourdomain> pelo domínio do seu site WooCommerce.

Na aba de autorização, selecione Basic Auth e insira sua chave de cliente como Username e o segredo de cliente como Password. Você deve adicionar essa autorização a todas as solicitações que fizer à API REST de WooCommerce. Envie a solicitação e você deverá receber uma lista de todos os produtos da sua loja.

Buscando uma lista de produtos no Postman.
Buscando uma lista de produtos no Postman.

Gerencie produtos por meio da API REST

O objeto produto tem uma lista de atributos que facilitam agrupar produtos, gerenciar o estoque e definir preços — tudo de forma programática.

Digamos que você queira adicionar um novo produto a um grupo de produtos que criou — tudo que você precisa é do ID do grupo de produtos no atributo grouped_products.

Para gerenciar o estoque, use os atributos manage_stock e stock_status, que são definidos como true ou false, e instock, onbackorder e outofstock, respectivamente.

Vejamos como você pode adicionar e atualizar os detalhes de um produto existente.

Adicione um produto com a API do WooCommerce

  1. No Postman, adicione uma nova solicitação e altere o método de solicitação para POST. Reutilize a URL do endpoint da seção anterior. Clique na aba Body, selecione raw e escolha JSON como o formato do corpo. O payload do JSON tem o nome do produto, o tipo (simples, variável ou agrupado), a descrição e a descrição breve. Também tem categorias, tags e imagens que você pode adicionar conforme necessário.
    {
     "name": "iPhone 15 Pro Max",
     "type": "simple",
     "description": "",
     "short_description": "",
     "categories": [
     ],
     "tags": [],
     "images": []
    }
  2. Execute a solicitação. Se o produto for criado com êxito, você deverá receber um objeto produto como resposta. Anote o ID de produto, do qual você precisará na próxima seção.

    Criando um produto.
    Criando um produto.

Edite um produto com a API do WooCommerce

Vamos editar o registro que você acabou de criar.

  1. Na aba Body, adicione este corpo JSON:
    {
      "name": "iPhone 15 Pro"
    }

    Como você está atualizando apenas o campo name, não é necessário incluir outros atributos. Nesse caso, altere-o para “iPhone 15 Pro”. A URL do endpoint deve ser https://yourdomain/wp-json/wc/v3/products/<id>.

  2. Substitua id pelo ID de produto que você criou na seção anterior. Não se esqueça de alterar o método de solicitação para PUT. Execute a solicitação e você deverá receber um objeto produto como resposta. Verifique o nome do produto na resposta para confirmar que a atualização foi bem-sucedida.

    Edição de um produto.
    Edição de um produto.

Gerenciamento de pedidos com a API REST

A API REST de WooCommerce facilita a automação do processamento de pedidos, permitindo a recuperação de pedidos e atualização de status de pedidos sem problemas. Ela permite que você recupere pedidos de forma programática, filtre-os com base em vários critérios, como data, status ou cliente, e então os processe de forma eficiente.

Isso inclui a atualização dos status dos pedidos para refletir vários estágios de atendimento ou processamento. A API REST de WooCommerce garante assim o rastreamento preciso e a comunicação com os clientes. Além disso, você pode gerenciar os reembolsos por meio da API, incluindo lidar com solicitações de reembolso, o processamento automático de reembolsos e a atualização dos status dos pedidos (após os reembolsos).

Vejamos como você pode buscar pedidos recentes e atualizar o status de um pedido para “concluído”

Busque por pedidos recentes com a API do WooCommerce

  1. No Postman, adicione uma nova solicitação para buscar pedidos usando uma solicitação GET. A URL do endpoint deve ser a seguinte:
    https:///wp-json/wc/v3/orders
  2. Na aba Params, insira a chave para after e o valor para a data após a qual os pedidos foram criados. Neste caso, use 2024-03-08T00:00:00. Você pode modificar essa data conforme necessário. Isso permite que você filtre seus pedidos apenas para aqueles após uma determinada data. Deixe as outras configurações do Postman como padrão.
  3. Certifique-se de fazer alguns pedidos em sua loja WooCommerce para evitar retornar uma lista vazia. Execute a solicitação e você deverá obter uma lista de todos os pedidos feitos em sua loja que correspondem aos critérios especificados.

    Obtenha os pedidos mais recentes após uma determinada data.
    Obtenha os pedidos mais recentes após uma determinada data.

Atualize o status do pedido

Para atualizar o status do pedido, obtenha o ID de um pedido que você já fez. Adicione uma nova solicitação no Postman e altere sua solicitação para PUT. Use este endpoint para uma atualização: https://yourdomain/wp-json/wc/v3/orders/<existing-order-id>. Na aba Body, adicione este corpo de JSON:

{
  "status": "completed"
}

Execute a solicitação e você deverá receber uma resposta com o pedido marcado como concluído.

Atualizando o status de um pedido.
Atualizando o status de um pedido.

Gerenciamento e engajamento do cliente

Por meio da API REST de WooCommerce, as empresas podem criar eficientemente novos perfis de clientes, editar detalhes de clientes existentes e recuperar informações abrangentes, como históricos de compras e preferências.

Analisar essas informações permite criar estratégias de marketing personalizadas, oferecendo promoções direcionadas, recomendações de produtos e prêmios de fidelidade com base em comportamentos de compra individuais.

Esse nível de gerenciamento de dados do cliente propicia que as empresas criem relacionamentos mais fortes com os clientes, aumentem a satisfação do consumidor e estimulem a repetição de compras.

Adicione um cliente com a API do WooCommerce

  1. Envie uma solicitação POST para esta URL de endpoint: https://<yourdomain>/wp-json/wc/v3/customers. Não se esqueça de incluir a autorização, como você fez anteriormente.
  2. Na aba Body, use este objeto JSON para criar um cliente:
    {
      "email": "[email protected]",
      "first_name": "Brian",
      "last_name": "Abraham",
      "role": "customer",
      "username": "briann.abraham",
      "billing": {
        "first_name": "Brian",
        "last_name": "Abraham",
        "company": "",
        "address_1": "969 Market",
        "address_2": "",
        "city": "San Francisco",
        "state": "CA",
        "postcode": "94103",
        "country": "US",
        "email": "[email protected]",
        "phone": "(555) 555-5555"
      },
      "shipping": {
        "first_name": "Brian",
        "last_name": "Abraham",
        "company": "",
        "address_1": "969 Market",
        "address_2": "",
        "city": "San Francisco",
        "state": "CA",
        "postcode": "94103",
        "country": "US"
      }
    }

    O objeto JSON contém detalhes básicos do cliente, como e-mail, nome, função e nome de usuário. Também, fornece informações de cobrança e frete, incluindo o endereço, o local e o número de telefone do cliente.

  3. Execute a solicitação e você deverá receber uma resposta contendo o objeto cliente. Lembre-se do ID de cliente, que você usará na próxima seção para recuperar um cliente.

Recupere um cliente por ID com a API do WooCommerce

Vamos recuperar o usuário que você acabou de criar por meio do seu ID.

  1. Crie uma nova solicitação com o método de solicitação GET.
  2. Use a mesma URL de endpoint https://<yourdomain>/wp-json/wc/v3/customers/<existing-customer-id>e adicione o ID do cliente que você deseja obter.

Casos de uso avançado da API REST do WooCommerce

Além de gerenciar os recursos da loja, você pode usar a API REST de WooCommerce para outras tarefas complexas, como integração com CRM, automação de gerenciamento de inventário, análises e relatórios personalizados.

A integração da sua loja WooCommerce ao CRM da sua preferência usando a API REST garante que, sempre que um cliente for adicionado, será refletido instantaneamente no painel do CRM como um lead. Isso facilita o gerenciamento da sincronização das informações do cliente e dos históricos de pedidos.

As APIs REST também permitem o gerenciamento automatizado de inventário. Ao integrar seu gerenciamento de inventário externo, você pode obter visibilidade em tempo real do estoque e da disponibilidade do produto. Isso também se aplica a relatórios e análises personalizados.

Com a API REST de WooCommerce, você pode criar recursos de relatórios que oferecem uma visão geral, ajudando na tomada de decisões, identificando tendências e fazendo previsões.

Aqui está um snippet de código para você sincronizar os dados de clientes de WooCommerce com uma plataforma de CRM:

<?php
require __DIR__ . '/vendor/autoload.php';

use Automattic\WooCommerce\Client;

$woocommerce = new Client(
  'https://', // Your store URL
  'consumer_key', // Your consumer key
  'consumer_secret', // Your consumer secret
    [
      'version' => 'wc/v3' // WooCommerce WP REST API version
    ]
);

// CRM API endpoint and key
$crm_api_url = 'https://your-crm-api-url/api';
$crm_api_key = 'YOUR_CRM_API_KEY';

try {
// fetch customers from woocommerce store
  $customers = $woocommerce->get('customers');

  // Initialize cURL
  $ch = curl_init();

  // Check if cURL initialization succeeded
  if ($ch === false) {
    throw new Exception('Failed to initialize cURL');
  }

  foreach ($customers as $customer) {
    $crm_customer_data = array(
      'first_name' => $customer->first_name,
      'last_name' => $customer->last_name,
      'email' => $customer->email,
      // Other fields
    );

    // cURL options
    curl_setopt($ch, CURLOPT_URL, $crm_api_url . '/customers');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($crm_customer_data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Authorization: Bearer ' . $crm_api_key,
      'Content-Type: application/json',
    ));

    // Execute cURL request
    $crm_response = curl_exec($ch);

    // Check for cURL errors
    if ($crm_response === false) {
      throw new Exception('cURL error: ' . curl_error($ch));
    }

    // Check HTTP status code
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($http_code !== 200) {
      throw new Exception('Failed to sync customer data with CRM: ' . $http_code);
    }

    echo 'Customer data synced with CRM successfully.';
  }

  curl_close($ch);

} catch (Exception $e) {
  echo 'Error: ' . $e->getMessage();
}

Este é um snippet de código PHP que primeiro estabelece uma conexão com a API REST de WooCommerce e, em seguida, recupera os clientes da loja de WooCommerce. Por fim, os envia para o CRM usando cURL. O código incorpora o tratamento de erros para gerenciar falhas de fluxo. E usa uma biblioteca PHP chamada automattic/woocommerce, que você pode instalar usando o Composer.

O CRM usado aqui é para fins de demonstração, a fim de lhe mostrar uma abordagem geral para sincronizar os dados do cliente com qualquer CRM.

Resumo

A API REST de WooCommerce lhe permite gerenciar programaticamente os dados de loja, aprimorar a experiência de eCommerce e ampliar a funcionalidade da sua loja on-line. Essa ferramenta avançada transforma uma configuração básica de WordPress em uma plataforma mais sofisticada.

Para começar, instale o plugin WooCommerce em seu aplicativo WordPress e explore a API REST usando os exemplos fornecidos neste tutorial. Eles servem como base para suas soluções personalizadas.

A velocidade é crucial para sites de eCommerce; tempos de carregamento mais rápidos melhoram a experiência de compra. A API de WooCommerce permite várias solicitações do frontend para o backend do WordPress, destacando a importância do desempenho ideal do backend.

Escolher um provedor de Hospedagem de WooCommerce de alta qualidade, como a Kinsta, é vital para o desempenho do seu site. Saiba como aumentar a velocidade da sua loja WooCommerce com nosso guia abrangente.

O que você pensa sobre a API de WooCommerce? Você já a utilizou antes? Compartilhe conosco na seção de comentários abaixo.

Jeremy Holcombe Kinsta

Content & Marketing Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems ;).