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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar