POST de produto pela API da Cnova

14/04/2021

0

Estou trabalhando com a API da Via Varejo (Cnova), mas ao fazer o post do produto recebo o erro '{"errors":[{"code":"415","httpStatus":"415","type":"APIException","message":"Tipo de mídia inválido","skuSellerId":""}]}'

Adicionei o Content-Type: application/json, no CurlOPT_HTTPHEADER mas depois que faço isso não recebo resposta, tentei alterar várias coisas mas não entendo o que pode ser, verifiquei na documentação e tem que receber um json mesmo mas não tem resposta.

Abaixo deixo o array da produto e chamada do método, o método em questão e o POST:

$params = array (
  'itens' => 
  array (
    0 => 
    array (
      'marca' => 'XPTO',
      'titulo' => 'CAMISA MODELO XPTO',
      'idCategoria' => '2258',
      'idItem' => '5599',
      'atributos' => 
      array (
      ),
      'skus' => 
      array (
        0 => 
        array (
          'idSkuLojista' => '6398752',
          'gtin' => '6935364080730',
          'imagens' => 
          array (
            0 => 'https://www.extra-imagens.com.br/PetShop/Peixes/AnalisedeAgua/10771490/634437111/Teste-de-PH-para-aquarios-LabconTest-Alcon-10771490.jpg',
          ),
          'preco' => 
          array (
            'oferta' => '1,1',
            'padrao' => '1,1',
          ),
          'estoque' => 
          array (
            'tempoDePreparacao' => '1',
            'quantidade' => '1',
          ),
          'dimensao' => 
          array (
            'largura' => '0.5',
            'altura' => '0.5',
            'peso' => '0.5',
            'profundidade' => '0.5',
          ),
          'atributos' => 
          array (
            0 => 
            array (
              'Nome' => 'Cor',
              'Valor' => 'Preto',
              'IdUda' => '10938',
            ),
            1 => 
            array (
              'Nome' => 'Tamanho',
              'Valor' => '42',
              'IdUda' => '10939',
            ),
          ),
        ),
      ),
    ),
  ),
);

$validar = new Cnova_produtos();
$list = $validar->send_Product($params);

var_dump($list);


POST do produto:
function Bling_CurlPost($endpoint, $params = array(), $version) {

    $url = $_GET[$version];

    $url .= $endpoint;

    $json = json_encode($params);



    $ch_opts = Bling_GetCurlOpts();

    $ch_opts[CURLOPT_POST] = $json;

    $ch_opts[CURLOPT_POSTFIELDS] = $json;

    $ch_opts[CURLOPT_RETURNTRANSFER] = TRUE;



    array_push(
        $ch_opts[CURLOPT_HTTPHEADER], "Content-Type: application/json", "Content-Length: " . strlen($json)
    );

    

    $ch = curl_init($url);

    curl_setopt_array($ch, $ch_opts);

    $result = curl_exec($ch);



    return $result;

}


Se alguém conseguir me ajudar agradeço muito pois preciso terminar essa API com urgência e o suporte da Via Varejo demora MUITO tempo para responder
Pophub

Pophub

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar