Ir para conteúdo
Fórum Script Brasil

n3wspartan

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que n3wspartan postou

  1. Sou novo ao PHP, então se estiver no lugar errado, me perdoem rs. Eu preciso puxar os preços da API de um serviço externo ($url) em JSON e atualizar os produtos cadastrados no Woocommerce. O script abaixo até funciona, mas é um pesadelo pra manter porque eu preciso listar cada produto e cada variação de produto. Seria possível iterar sobre todos os produtos e variações cadastradas com base em uma variável comum (tipo a SKU do produto)? <?php require __DIR__ . '/vendor/autoload.php'; use Automattic\WooCommerce\Client; use Automattic\WooCommerce\HttpClient\HttpClientException; $woocommerce = new Client( 'http://exemplo.com', 'ck_xxxxxxxxxxx', 'cs_xxxxxxxxxxx', [ 'wp_api' => true, 'version' => 'wc/v2', // 'query_string_auth' => true ] ); function parse_json( $file ) { $json = json_decode( file_get_contents( $file ), true ); if ( is_array( $json ) && !empty( $json ) ) : return $json; else : die( 'An error occurred while parsing ' . $file . ' file.' ); endif; } $url = 'https://username:password@apiservice.com/apis/v1.0/c1212kj1n1n1b112'; $json = parse_json($url); //Atualiza o preço de produtos simples. Produto #586: $data = [ 'update' => [ [ 'id' => 586, 'regular_price' => $json['name' == 'Product 1']['regular_price'] ] ] ]; print_r($woocommerce->post('products/batch', $data)); // Atualiza variações de produtos. Produto #588: $data = [ 'update' => [ [ 'id' => 589, 'regular_price' => $json['product_variation[0]']['regular_price'] ], [ 'id' => 590, 'regular_price' => $json['product_variation[1]']['regular_price'] ], [ 'id' => 591, 'regular_price' => $json['product_variation[2]']['regular_price'] ], ] ]; print_r($woocommerce->post('products/588/variations/batch', $data)); ?> Esse aqui é o formato dos dados da API que eu uso pra pegar os preços: [ { "product_id": "100", "type": "simple", "parent_product_id": "", "name": "Product 1", "description": "Descrição", "regular_price": "26.78", "manage_stock": "1", "stock": "5", "weight": "0", "attribute_name": "", "attribute_value": "", "has_variations": "", "image": "site.com/imagem1.png", "sku": "10010" }, { "product_id": "200", "type": "variable", "parent_product_id": "", "name": "Product 2", "description": "Descrição", "regular_price": "0", "manage_stock": "0", "stock": "0", "weight": "0", "attribute_name": "Cor", "attribute_value": "", "has_variations": "1", "image": "site.com/imagem2.png", "sku": "11010" }, { "product_id": "", "type": "product_variation", "parent_product_id": "200", "name": "", "description": "A short description", "regular_price": "3.70", "manage_stock": "1", "stock": "100", "weight": "0", "attribute_name": "Cor", "attribute_value": "Vermelho", "has_variations": "", "image": "", "sku": "11011" }, Será que tenho salvação?
×
×
  • Criar Novo...