O problema na atualização de preços em Woocommerce

Quando temos uma loja woocommerce uma das coisas qure necessitamos é de atualizar de forma automática os dados dos produtos: o seu preço, descrição etc.

O woocommerce tem uma API que permite este controlo. Este artigo debruça-se na abordagem à utilização desta API.

Em primeiro lugar devemos assegurar que a instalação do woocommerce está correta para isso se acedermos a http://o.seu.site/wp-json/ devemos obter todo o conteúdo da loja em formato JSON. Caro isto não aconteça, quer dizer que a instalação do woocommerce não está correta. Deve primeiro confirmar os links do WordPress, os links do wordpress devem estar configurados de forma a que o woocommerce funcione (escolher a opção Settings Permalink Settings, escolhendo por exemplo a opção postname).

Como obter API do wordpress?

Obter a API é fácil. Deve escolher Woocommerce, settings e em Advanced escolher a opção RestAPi. Vai gerar duas chaves, deve usar estas duas.

Como aceder ao Woocommerce com Python?

Deve instalar no Python a livraria correspondente para aceder ao Woocomerce. (Veja em https://pypi.org/project/WooCommerce/)

Após a instalação da livraria, usando as chaves, pode aceder ao woocommerce com o seguinte código:

from woocommerce import API
wcapi = API(    
    url="https://pentaculo.programamos.pt",
    consumer_key="ck_9b02ceb952fc3dsdsdae76b1447e8",
    consumer_secret="cs_b8babfdfc4sdsds5b9da890d5ed751b269",
    version="wc/v3",
    timeout=30
)
print(wcapi.get("products").json())

O resultado é o seguinte:

Repare-se que o resultado é o Json de todo o site com todos os produtos. Assim é fácil obter uma listagem de todos os produtos que temos para venda na nossa loja.

Como obter os dados de um determinado produto?

Para obtermos os dados referentes apenas a um produto, por exemplo o seu preço. Eis o código

resp_dict =wcapi.get("products/121").json()
print(resp_dict['regular_price'])

Neste caso vamos obter o preço do produto com o id 121

Ciclo for para listar todos os produtos

Podemos fazer um ciclo que mostra todos os produtos da loja. O código é o seguinte:

resp_dict =wcapi.get("products").json()
for i in resp_dict:
        print(i['id'])
        print(i['name'])
        print(i['regular_price'])

Note-se que neste caso é mostrado o nome do produto e o seu preço de todos os produtos na loja.

Quer contatar-nos?

Desenvolvemos software à medida tanto para Internet, como para windows. 
Se procura um serviço de programação consulte-nos. Os orçamentos são gratuitos e quem sabe se após a nossa consulta não encontra uma proposta diferente para o seu problema.

Estamos ligados à empresa de comercialização de soluções de hardware Urupema. Consulte os nossos preços e condições.