Como trabalhar com a API de Rest WooCommerce com Python

Como trabalhar com a API de Rest WooCommerce com Python

O WordPress é provavelmente o CMS mais usado do mundo (estima-se que quase 40% de todos os sites sejam construídos usando a plataforma): é muito fácil de instalar e usar e permite que até não desenvolverem o site em alguns minutos.
O WordPress possui um ecossistema de plug -in muito grande; Um dos mais famosos é WooCommerce, O que nos permite transformar um site em uma loja online em poucas etapas. O plug -in utiliza a infraestrutura da API do WordPress REST; Neste tutorial, veremos como interagir com a API WooCommerce usando a linguagem de programação Python, mostrando como listar, criar, atualizar e excluir produtos e categorias.

Neste tutorial, você aprenderá:

  • Como gerar credenciais de API de Rest WooCommerce e ativar links bonitos
  • Como interagir com a API REST WooCommerce usando Python e o pacote WooCommerce
  • Como obter informações sobre as categorias de WooCommerce existentes, criar, atualizá -las e excluí -las
  • Como obter informações sobre os produtos WooCommerce existentes
  • Como criar produtos simples e variáveis ​​com variações
  • Como atualizar e excluir um produto

Requisitos de software e convenções usadas

Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Distribuição Independente
Programas Python3
Outro Uma instância de trabalho do WordPress com o plug -in WooCommerce instalado
Convenções # - requer que os comandos linux -comidos sejam executados com privilégios de raiz diretamente como usuário root ou por uso de sudo comando
$-exige que o Linux-Commands seja executado como um usuário não privilegiado regular

Gerando credenciais de API de REST wooCommerce

Para o bem deste tutorial, assumiremos que temos uma instância de trabalho do WordPress com o plugin WooCommerce já instalado. A primeira coisa que temos que fazer é gerar nossas credenciais de API REST WooCommerce: elas serão
Usado em cada solicitação HTTP, realizaremos. Gerando as credenciais, é muito fácil; Tudo o que precisamos fazer é navegar para WooCommerce -> Configurações No menu vertical que podemos encontrar na página de administração do WordPress:

Uma vez na página Configurações do plug -in, clicamos na guia "Avançado" e depois em
O link "Rest API", localizado no menu da guia. Na página que vai
Seja aberto, clicamos no botão "Criar uma chave da API":

Seremos apresentados com o formulário de criação de chaves da API e seremos solicitados a inserir:

  • Uma descrição, que será usada como um nome amigável para identificar facilmente as credenciais
  • O usuário que usará a chave
  • As permissões que serão concedidas à chave (somente leitura | Escreva | Leia e escreva)

Observe que temos a chance de criar várias chaves com diferentes permissões, a fim de limitar as operações concedidas para um usuário específico. Para o bem deste tutorial, criaremos uma chave da API com permissões de leitura e gravação:

Quando estiver pronto, clicamos no botão "Gereate API Key" e ambos Chave do consumidor e a consumidor secreto será gerado e exibido para nós. Temos que garantir que armazenemos ambos em um lugar seguro, já que Depois de sairmos da página, eles ficarão escondidos:

Depois que nossas chaves são geradas, há outra ação que precisamos executar no back -end da administração do WordPress: temos que garantir que o direito bastante permalink são usados, caso contrário, os terminais da API não funcionarão. Para realizar a tarefa para a qual navegamos Configurações -> Permalinks No menu vertical esquerdo do WordPress. No menu da página, selecionamos "Publicar nome" e, em seguida, salvamos as alterações:



Isso é tudo o que temos que fazer do lado do WordPress. Na próxima seção, veremos como interagir com as APIs de Rest WooCommerce usando Python.

Instale o pacote WooCommerce

Nesta seção, veremos como interagir com a API REST WooCommerce usando a linguagem de programação Python. Em vez de escrever o código que precisamos para executar as solicitações HTTP do zero, usaremos o uso do WooCommerce pacote, que vai facilitar nosso trabalho. Para instalar o pacote que podemos usar pip, o gerente de pacote Python. Se estamos trabalhando dentro de um ambiente virtual criado usando Venv, Podemos correr:

$ pip install wooCommerce 

Se não estivermos usando um ambiente virtual, pelo menos devemos instalar o pacote apenas para o nosso usuário. Para fazer isso, adicionamos o --do utilizador opção para o comando, que se torna:

$ pip install wooCommerce -user 

Uma vez o WooCommerce o pacote está instalado, podemos começar a escrever nosso código.

Inicializando a classe API

A primeira coisa que temos que fazer para interagir com a API de Rest WooCommerce, usando Python e o WooCommerce pacote, é importar o API classe e crie uma instância, conforme exibido abaixo:

#!/usr/bin/env python3 from woocommerce import API wcapi = API( url="http://localhost", consumer_key="ck_147eb955838043597462c3f9c4f91cba08498159", consumer_secret="cs_55a72d6c7bde09b7f36befed32aa90709261c097", timeout=50 ) 
cópia de

O API Construtor de classe leva três argumentos obrigatórios:

  1. O URL do nosso site
  2. A chave do consumidor da API do WooCommerce Rest API
  3. O WooCommerce Rest API Consumer Secret

No exemplo acima, você pode ver que passamos um terceiro argumento, tempo esgotado: é opcional e padrão para 5 segundos. Nesse caso, fornecemos um valor maior para ele: 50. No meu caso, isso era necessário para os pedidos de sucesso, mas em um real
cenário de vida, não precisamos alterá -lo, para que possa ser omitido completamente.

Uma vez que criamos uma instância do API classe, neste caso referenciada pelo WCAPI variável, podemos prosseguir e fazer nossas chamadas de API.

Categorias

Para o bem deste tutorial, trabalharemos apenas com categorias e produtos. Os exemplos fornecidos devem ser suficientes para dar ao leitor uma idéia de como a API funciona. Vamos começar com categorias, pois elas devem pré-existir para serem referenciadas ao criar produtos.

Criando uma categoria

Como o primeiro exemplo, veremos como criar uma categoria. Começamos a definir os dados da categoria em um dicionário Python:

categoria_data = "name": "categoria de exemplo", "descrição": "apenas um exemplo de categoria" 
cópia de

O único parâmetro obrigatório que devemos usar ao criar uma categoria é nome, que deve ser fornecido como uma corda. No exemplo acima, especificamos também o descrição Chave, para fornecer uma breve descrição da categoria (você pode verificar a documentação oficial da lista completa das propriedades da categoria).

Depois de criarmos o dicionário que contém os dados da categoria, podemos executar a solicitação da API usada para criar a categoria, que usa o PUBLICAR Verbo http:

Resposta = WCAPI.post ("produtos/categorias", category_data) 
cópia de

Se a solicitação for executada sem erros, chamando o JSON Método no resposta objeto, retornará o servidor de resposta formatada como um dicionário python, que descreve os dados usados ​​para criar a categoria: isso incluirá o ID único Usado para armazenar a categoria no banco de dados, que é uma informação essencial se quisermos fazer referência a ela mais tarde (por exemplo, ao criar uma subcategoria ou um produto que deve ser incluído na própria categoria). No nosso caso, aqui está o que é devolvido pelo servidor:

'id': 17, 'nome': 'Exemplo de categoria', 'slug': 'exemplo-category', 'Parent': 0, 'Descrição': 'apenas um exemplo de categoria', 'Display': 'Default' , 'Image': Nenhum, 'Menu_order': 0, 'count': 0, '_links': 'self': ['href': 'http: // localhost/wp-json/wc/v3/produtos /categorias/17 '],' coleção ': [' href ':' http: // localhost/wp-json/wc/v3/produtos/categorias '] 
cópia de

Como podemos ver, a categoria foi salva com 17 como ID exclusivo.

Atualizando uma categoria

Para atualizar uma categoria existente, devemos fazer referência a ela através de seu eu ia, que deve ser incluído como parte do terminal de solicitação. Primeiro, criamos um dicionário que contém os dados da categoria que devem ser atualizados; No exemplo abaixo, mudamos o Descrição da categoria:

category_data = "Descrição": "Exemplo de categoria modificada" 
cópia de

Quando os dados estiverem prontos, podemos enviar nossa solicitação, usando o colocar Método do WCAPI objeto, que, como você pode adivinhar, envia uma solicitação usando o COLOCAR Verbo http:

Resposta = WCAPI.put ('produtos/categorias/17', category_data) 
cópia de

Assim como antes, executando o JSON Método do resposta Objeto, recuperaremos as informações de categoria atualizadas retornadas pelo servidor, já convertidas em um dicionário Python:

'id': 17, 'nome': 'Exemplo de categoria', 'slug': 'exemplo-category', 'Parent': 0, 'Descrição': 'Exemplo de categoria modificada', 'Display': 'Default', 'Image': Nenhum, 'menu_order': 0, 'count': 0, '_links': 'self': ['href': 'http: // localhost/wp-json/wc/v3/produtos/ categorias/17 '],' coleção ': [' href ':' http: // localhost/wp-json/wc/v3/produtos/categorias '] 
cópia de

Obtendo informações sobre todas as categorias ou uma específica

Obter uma lista de todas as categorias existentes é realmente simples. Tudo o que precisamos fazer é executar o pegar Método do WCAPI Objeto que criamos antes e especificamos o terminal correto (produtos/categorias):

Resposta = WCAPI.get ('produtos/categorias') 
cópia de

Como antes do conteúdo da resposta, pode ser acessado como um dicionário python, executando o JSON Método no objeto de resposta. Nesse caso, o método retorna o seguinte:

['id': 17, 'nome': 'categoria de exemplo', 'slug': 'exemplo-category', 'parent': 0, 'description': 'apenas um exemplo de categoria', 'display': 'padrão ',' imagem ': nenhum,' menu_order ': 0,' count ': 0,' _links ': ' self ': [' href ':' http: // localhost/wp-json/wc/v3/ Produtos/categorias/17 '],' coleção ': [' href ':' http: // localhost/wp-json/wc/v3/produtos/categorias '], ' id ': 16, 'Nome': 'Test', 'Slug': 'Test', 'Parent': 0, 'Description': 'A Test', 'Display': 'Padrão', 'Imagem': Nenhum, 'Menu_order': 0 , 'count': 0, '_links': 'self': ['href': 'http: // localhost/wp-json/wc/v3/produtos/categorias/16'], 'coleção': ['href': 'http: // localhost/wp-json/wc/v3/produtos/categorias'], 'id': 15, 'nome': 'não categorizado', 'slug': ' Sem categoria ',' Parent ': 0,' Descrição ': ",' Display ':' Default ',' Image ': Nenhum,' MENU_ORDER ': 0,' CONTEM ': 0,' _LINKS ': ' self ': ['href': 'http:// localhost/wp-json/wc/v3/produtos/categorias/15 '],' coleção ': [' href ':' http: // localhost/wp-json/wc/v3/produtos/categorias ' ]] 
cópia de

Se queremos recuperar informações sobre uma categoria específica, tudo o que precisamos fazer é fornecer seu ID como parte do terminal. Por exemplo, para obter detalhes sobre a categoria com ID 16 (teste), nós executamos:

Resposta = WCAPI.get ('produtos/categorias/16') 
cópia de

Excluindo uma categoria

O eu ia de uma categoria também é necessária para fazer referência a ela quando queremos excluí -lo. Nesses casos, devemos executar uma solicitação http que use o EXCLUIR Verbo http, novamente fornecendo o identificador de categoria como parte do terminal. Para excluir a categoria "teste", por exemplo, nós executaríamos:

Resposta = WCAPI.Delete ('Produtos/Categorias/16', Param = 'Force', True) 
cópia de

Ao executar o excluir Método para excluir uma categoria, também precisamos usar o força parâmetro e defina -o para Verdadeiro. Isso é obrigatório, Desde que move uma categoria para o lixo, ela não é suportada pela API REST; O recurso será removido permanentemente. Se tudo correr como o esperado, como nos exemplos anteriores, chamando o JSON Método no objeto de resposta, retornará um dicionário que contém os dados de recursos removidos.

Executando várias ações de uma só vez

Suponha que queremos executar várias ações de uma só vez: podemos querer excluir algumas categorias, criar algumas novas e atualizar outras. Como podemos fazer isso de uma só vez, executando apenas um pedido? Tudo o que precisamos fazer é enviar uma solicitação usando o PUBLICAR Verbo http para o Produtos/categorias/lote endpoint, usando o publicar Método do WCAPI objeto. Aqui está um exemplo:

Batch_data = "Create": ["Name": "New Category 1", "Descrição": "Primeira nova categoria", "Nome": "New Category 2", "Descrição": "Segunda nova categoria" ], "Update": ["id": 17, "Descrição": "Atualizado descrição"], "Delete": [15] 
cópia de

Os dados do lote são definidos, assim como vimos nos exemplos anteriores, usando um dicionário Python. Dentro deste dicionário, temos algumas chaves com o nome das ações que devem ser executadas:

  • criar
  • atualizar
  • excluir

O valor atribuído ao criar A chave deve ser uma lista de dicionários, cada um descrevendo os dados que devem ser usados ​​para criar uma nova categoria. Nesse caso, criamos duas novas categorias, denominadas "New Category 1" e "New Category 2".

Da mesma forma, o valor correspondente ao atualizar A chave deve ser uma lista de dicionários, cada um descrevendo os dados que devem ser usados ​​para atualizar uma determinada categoria, identificada por seu eu ia.

Finalmente, o valor associado ao excluir A chave deve ser uma lista do eu ia das categorias que devem ser excluídas. Nesse caso, decidimos remover a categoria com 16 como identificador exclusivo. Uma vez que nossos dados estiverem prontos, executamos o
solicitar:

Resposta = WCAPI.post ('produtos/categorias/lote', batch_data) 
cópia de

O resposta Objeto conterá a representação orientada ao objeto da resposta enviada pelo servidor. Como sempre, executando o JSON Método deste objeto, recuperaremos o dicionário Python contendo um resumo da operação realizada e a descrição das categorias envolvidas:

'create': ['id': 18, 'nome': 'nova categoria 1', 'slug': 'nova categoria-1', 'pai': 0, 'descrição': 'primeira nova categoria' , 'exibir': 'padrão', 'imagem': nenhum, 'menu_order': 0, 'count': 0, '_links': 'self': ['href': 'http: // localhost/wp -json/wc/v3/produtos/categorias/18 '],' coleção ': [' href ':' http: // localhost/wp-json/wc/v3/produtos/categorias '], 'id': 19, 'nome': 'nova categoria 2', 'slug': 'nova categoria-2', 'pai': 0, 'descrição': 'segunda nova categoria', 'exibição': ' padrão ',' imagem ': nenhum,' menu_order ': 0,' count ': 0,' _links ': ' self ': [' href ':' http: // localhost/wp-json/wc/v3 /Produtos/Categorias/19 '],' Coleção ': [' href ':' http: // localhost/wp-json/wc/v3/produtos/categorias ']]],' atualização ': [[ 'id': 17, 'nome': 'categoria de exemplo', 'slug': 'exemplo-category', 'pai': 0, 'descrição': 'Descrição atualizada', 'exibição': 'default', ' imagem ': nenhum,'MENU_ORDER': 0, 'CONTRO': 0, '_LINKS': 'self': ['href': 'http: // localhost/wp-json/wc/v3/produtos/categorias/17'] , 'Coleção': ['href': 'http: // localhost/wp-json/wc/v3/produtos/categorias']], 'delete': ['id': 16, 'nome ':' teste ',' slug ':' teste ',' pai ': 0,' descrição ':' um teste ',' display ':' padrão ',' imagem ': nenhum,' menu_order ': 0,' contagem ': 0,' _links ': ' self ': [' href ':' http: // localhost/wp-json/wc/v3/produtos/categorias/16 '],' coleção ': [ 'href': 'http: // localhost/wp-json/wc/v3/produtos/categorias']] 
cópia de

Produtos

Até agora, vimos como executar o básico Crud operações em categorias. Vamos trabalhar com produtos agora. O código que deve ser usado é bastante semelhante; O que muda, é claro, são os terminais da API e os atributos que deveriam
ser usado ao criar um produto.

Criando um produto simples

O primeiro exemplo que veremos é como criar um produto "simples", sem variações (variações são versões ligeiramente diferentes do mesmo produto, com base, por exemplo, em tamanhos ou cores diferentes). Primeiro, definimos o produto
dados:

Product_data = "Name": "Exemplo simples de produto", "Type": "Simple", "regular_price": "22.50 "," stock_quantity ": 10," short_description ":" apenas um exemplo de produto "," Descrição ":" Este é apenas um exemplo de produto, criado com a api de Rest WooCommerce "," categorias ": [" id ": 17], "Images": ["src": "https: // linuxconfig.org/imagens/linuxconfig_logo.png "," alt ":" Exemplo-imagem "] 
cópia de

Vamos dar uma olhada nas informações do produto que usamos dentro do informações do produto dicionário. Definimos o produto nome (Produto de exemplo simples), então especificamos seu tipo, que neste caso é "simples", pois estamos criando a listagem para um produto físico sem variações. Ambas as informações devem ser especificadas como cordas.

Também especificamos o produto preço regular (string), o quantidade de estoque (Inteiro), o Pequena descrição e o regular descrição, Ambas como cordas: essas são exibidas em diferentes partes da página quando o produto
é visualizado por um cliente em potencial.

A próxima coisa que fizemos foi especificar a lista de categorias de produtos que o produto deve ser incluído em. Cada categoria deve ser referenciada por seu eu ia (Inteiro). Nesse caso, acabamos de referenciar a categoria com 17 tão exclusivo
Identificador ("categoria de exemplo").

A última coisa que definimos foi a lista das imagens que deveriam estar associadas ao produto. Cada imagem é descrita usando um dicionário. Aqui apenas usamos uma imagem, fornecendo seu src (string) e alt (o texto alternativo, como
uma linha).

O que usamos é apenas um subconjunto muito pequeno de todas as propriedades possíveis do produto. Uma vez que nossos dados estiverem prontos, enviamos um PUBLICAR Solicitação http, usando o publicar Método do WCAPI objeto. O endpoint para o qual a solicitação deve ser enviada é
"produtos":

Resposta = WCAPI.post ('produtos', product_data) 
cópia de

Se a solicitação for bem -sucedida, executando resposta.JSON () Obteremos um dicionário Python contendo as informações do produto recém -criado:

'Id': 29, 'Nome': 'Exemplo simples de produto', 'Slug': 'Simple-Exemplo-Product', 'Permalink': 'http: // localhost/product/Simple-example-product/', 'date_created': '2021-03-22T14: 53: 44', 'date_created_gmt': '2021-03-22T14: 53: 44', 'date_modiFed': '2021-03-22t14: 53: 44', 'Date_mediFied_mt ':' 2021-03-22T14: 53: 44 ',' Type ':' Simple ',' Status ':' Publish ',' em destaque ': false,' catalog_visibility ':' visível ',' descrição ':' isto é apenas um exemplo de produto, criado com a API Rest WooCommerce ',' Short_Description ':' apenas um exemplo de produto ',' Sku ': ",' Price ': '22.50 ',' regular_price ': '22.50 ',' sale_price ': ",' date_on_sale_from ': nenhum,' date_on_sale_from_gmt ': nenhum,' date_on_sale_to ': nenhum,' date_on_sale_to_gmt ': nenhum,' on_sale ': false,' compra ': true,' Total_sal. , 'virtual': false, 'download': false, 'downloads': [], 'download_limit': -1, 'download_expiry': -1, 'extern_url': ", 'button_text':", 'tax_status': 'Taxicável', 'Tax_class': ", 'Manage_Stock': false, 'Stock_quantity': Nenhum, 'Backorders': 'NÃO', 'Backorders_allowed': False, 'Backorned': False, 'Sold_individualmente': Falso, 'Peso ': ",' Dimensões ': ' length ':",' width ': ",' Height ':",' Shipping_Required ': true,' Shipping_taxable ': true,' Shipping_class ': ",' Shipping_class_id ': 0, 'Reviews_allowed': true, 'média_rating': '0', 'rating_count': 0, 'upSell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'compra_note': ", 'categorias ': [' id ': 17,' nome ':' categoria de exemplo ',' slug ':'Exemplo-category'], 'tags': [], 'imagens': ['id': 28, 'date_created': '2021-03-22t14: 53: 44', 'date_created_gmt': '2021- 03-22T14: 53: 44 ',' date_modified ':' 2021-03-22T14: 53: 44 ',' date_modied_gmt ':' 2021-03-22t14: 53: 44 ',' src ':' http: // localhost/wp-content/uploads/2021/03/linuxconfig_logo-3.png ',' nome ':' linuxconfig_logo-3.png ',' alt ':' exemplo-image '],' atributos ': [],' default_attributes ': [],' variações ': [],' grouped_products ': [],' menu_order ': 0, 0,' price_html ': '22, 50 €', 'relacionado_ids': [], 'meta_data': [], 'stock_status': 'instock', '_links': 'self': ['href': 'http: // localhost/wp-json/wc/v3/produtos/29 '],' coleção ': [' href ':' http: // localhost/wp-json/wc/v3/produtos '] 
cópia de

Criando um produto variável e suas variações

No exemplo anterior, criamos um produto "simples". Agora vamos ver como criar um produto "variável". A definição básica é a mesma que usamos acima. Tudo o que precisamos fazer é adicionar os atributos que, combinados, representarão as variações do produto. Por exemplo, suponha que nosso produto seja uma camiseta disponível em várias cores e tamanhos: cada variação será composta por uma certa cor associada a um determinado tamanho:

variable_product_data = "name": "variável exemplo de produto", "tipo": "variável", "short_description": "apenas um produto variável", "descrição": "Este é um produto de variável, criado com a api de repouso wooCommerce" , "categorias": ["id": 17], "imagens": ["src": "https: // linuxconfig.org/imagens/linuxconfig_logo.png "," alt ":" Exemplo-imagem "]," atributos ": [" nome ":" cor "," visível ": true," variação ": true," opções ": [" preto ", "White"], "name": "size", "visível": verdadeiro, "variação": true, "opções": ["s", "m", "l"]] 
cópia de

Fornecemos uma lista de atributos usando a tecla "Atributos" no Dicionário de Produto. O primeiro atributo é chamado de "cor" e o segundo "tamanho". Definimos os dois como visíveis e declaramos que eles deveriam ser usados ​​para variações atribuindo Verdadeiro Como o valor do variação chave nos dicionários que os definem. A lista associada ao opções chave, contém todos os valores possíveis que cada atributo pode assumir.

Sobre um atributo de produto: podemos usar os dois global e não global atributos. Qual é a diferença? Atributos especificados apenas pelo nome como fizemos no exemplo acima serão criados "em tempo real" para o produto específico, para que eles sejam "não globais". Se pretendemos usar o mesmo atributo para vários produtos, é melhor defini -lo de antemão com uma chamada específica e depois fazê -lo por seu id. Supondo que criamos o Cor e Tamanho atributos globais, e eles têm respectivamente 1 e 2 Como identificadores únicos, escrevíamos:

"Atributos": ["id": 1 "visível": verdadeiro, "variação": true, "opções": ["preto", "branco"], "id": 2, "visível": true " , "variação": verdadeiro, "opções": ["s", "m", "l"]]] 
cópia de

Muito importante: O código não criará as variações reais do produto, que deve ser definido com solicitações separadas.

Você pode notar que omitimos para fornecer a quantidade do estoque do produto, uma vez que o valor total do estoque será representado pela soma da quantidade de estoque de cada variação.

O próximo passo é criar as variações reais do produto. Ao definir os dados das variações, devemos usar os mesmos atributos que definimos na solicitação que usamos para criar o produto variável. Aqui está um exemplo de como criar uma variação:

product_variation_data = "regular_price": "18 18.00 "," stock_quantity ": 10," atributos ": [" id ": 1," option ":" white ", " id ": 2," option ":" s "] 
cópia de

Definimos a variação produzida pela combinação do atributo de cor "branco" e o atributo de tamanho "S". Nós definimos seu preço regular e Stock_quantity. Agora devemos enviar a solicitação com o seguinte código:

Resposta = WCAPI.post ('produtos/34/variações', product_variation_data) 
cópia de

Como você pode ver no trecho acima, como terminal para o pedido, usamos Produtos/34/Variações, onde 34 é o eu ia do produto pai que criamos anteriormente.

Solicitando informações sobre todos os produtos ou um específico

Assim como fizemos em categorias, podemos solicitar informações sobre todos os produtos existentes através da API REST WOoCommerce:

Resposta = WCAPI.Get ('Products') 
cópia de

A solicitação pode ser ainda mais personalizada pelo uso de parâmetros: com o por página Parâmetro, por exemplo, podemos especificar quantos itens devem ser retornados no conjunto de resultados de uma única solicitação (o padrão é 10), e com o página Parâmetro, podemos solicitar a página específica que deve ser retornada (o padrão é 1). Para estender o número de itens retornados em uma única solicitação, escrevemos:

Resposta = WCAPI.get ('produtos', params = 'per_page': 20) 
cópia de

Solicitar informações sobre um produto específico é tão simples: tudo o que precisamos fazer é especificar seu eu ia No endpoint de solicitação:

Resposta = WCAPI.get ('produtos/34') 
cópia de

Atualizando um produto

A lógica usada para atualizar um produto é a mesma que usamos para atualizar uma categoria (e todas as outras "entidades" gerenciadas pela API REST). Especificamos os dados do produto que devem ser atualizados e enviar um COLOCAR solicitação ao endpoint que inclui o produto eu ia:

atualizada_product_data = "Descrição": "Este é o produto da variável atualizado descrição" Response = WCAPI.Put ('Products/34', atualizado_product_data) 
cópia de

Excluir um produto

Para excluir um produto, tudo o que precisamos fazer é enviar um EXCLUIR solicitação ao endpoint que inclui o produto eu ia:

Resposta = WCAPI.delete ('produtos/34') 
cópia de

Aqui você pode notar que, diferentemente do que acontece para as categorias, o uso do força O parâmetro não é obrigatório. Se o parâmetro não for usado, o produto será movido para o "lixo" e, portanto, será possível recuperá -lo ultimamente. Se o força o parâmetro é usado e definido como Verdadeiro, Em vez disso, o produto será removido permanentemente.

Conclusões

Neste tutorial, vimos alguns exemplos de como interagir com a API Rest WooCommerce com a linguagem de programação Python. Vimos como gerar credenciais da API, como instalar o pacote Python "WooCommerce", que fornece métodos úteis que simplificam o código que devemos escrever para interagir com eles e alguns exemplos de como criar, ler, excluir e atualizar categorias de woocommerce e produtos. Consulte a documentação oficial da API WooCommerce Rest para obter uma visão geral completa dos recursos da API.

Tutoriais do Linux relacionados:

  • Ubuntu 20.04: WordPress com instalação nginx
  • Ubuntu 20.04 WordPress com instalação do Apache
  • OpenLITESPEED WordPress Instalação
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para instalar no Ubuntu 20.04
  • Melhor distro Linux para desenvolvedores
  • Mastering Bash Script Loops
  • Lista das melhores ferramentas Kali Linux para testes de penetração e…
  • Use o WPScan para digitalizar o WordPress quanto a vulnerabilidades em Kali
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?