A API V3 JÁ ESTÁ DISPONÍVEL
As integrações API v2 que já estão configuradas, seguirão funcionando temporariamente. |
Atualiza um vinculo do produto com a Loja Virtual
Atualiza um vínculo do produto com a Loja virtual a partir do seu codigo (Código do Produto) e idLoja (Código da Loja API Bling).
curl |
curl -X PUT "https://bling.com.br/Api/v2/produtoLoja/{idLoja}/{codigo}/json/" -d "apikey={apikey}" -d "xml={xml_do_produto_loja}" |
PHP |
$url = 'https://bling.com.br/Api/v2/produtoLoja/{idLoja}/{codigo}'; $xml = '>...'; $posts = array ( "apikey" => "{apikey}", "xml" => rawurlencode($xml) ); $retorno = executeUpdateProductStore($url, $posts); echo $retorno; function executeUpdateProductStore($url, $data){ $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $url); curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $data); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE); $response = curl_exec($curl_handle); curl_close($curl_handle); return $response; } |
C# |
public static void ExecuteUpdateProductStore() { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://bling.com.br/Api/v2/produtoLoja/{idLoja}/{codigo}"); ASCIIEncoding encoding = new ASCIIEncoding(); string postData = "apikey={apiKey}&xml={xml_do_produto_loja}"; byte[] data = encoding.GetBytes(postData); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; using (Stream stream = request.GetRequestStream()) stream.Write(data,0,data.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); Console.Out.WriteLine("Response Body: \r\n {0}", responseString); } |
Parâmetro | Descrição | Tipo |
apikey |
apikey gerada no sistema | string |
xml |
Xml contendo o produto loja | string |
Para o parâmetro xml
, é necessário seguir o padrão.
Tabela de campos do XML
Grupo | Campo | Informação | Tipo | Padrão | Opcional |
raiz | produtosLoja | Obrigatório | |||
produtosLoja | produtoLoja | Obrigatório | |||
produtoLoja | idLojaVirtual | Identificador do Produto na Loja Virtual | String(45) | Obrigatório | |
produtoLoja | preco | Obrigatório | |||
preco | preco | Preço de venda na Loja Virtual | Decimal(17,10) | Obrigatório | |
preco | precoPromocional | Preço promocional na Loja Virtual | Decimal(17,10) | Opcional | |
produtoLoja | idFornecedor | Identificador do Fornecedor na Loja Virtual | Integer(11) | Opcional | |
produtoLoja | idMarca | Preço promocional na Loja Virtual | Integer(11) | Opcional | |
categoriasLoja | categoriaLoja | Opcional | |||
categoriaLoja | idCategoria | ID da Categoria no Bling | Integer(11) | Opcional |
Mensagens de erros específicos
Código | Mensagem |
---|---|
121 | O campo idLojavirtual é obrigatório |
122 | O campo Preco é obrigatório |
123 | O produto com este código não foi encontrado no sistema |
124 | A loja com este Id não foi encontrada no sistema |
Exemplo de XML
<?xml version="1.0" encoding="UTF-8"?>
<produtosLoja>
<produtoLoja>
<idLojaVirtual>1000001</idLojaVirtual>
<preco>
<preco>21</preco>
<precoPromocional>19</precoPromocional>
</preco>
<idFornecedor>131</idFornecedor>
<idMarca>21</idMarca>
<categoriasLoja>
<categoriaLoja>
<idCategoria>244</idCategoria>
</categoriaLoja>
<categoriaLoja>
<idCategoria>24</idCategoria>
</categoriaLoja>
</categoriasLoja>
</produtoLoja>
</produtosLoja>
Retorno
Em caso de sucesso, retornará o produto loja alterado, no mesmo modelo do exemplo a seguir. Caso contrário, retornará um erro.
A resposta será no formato especificado na URL (XML ou JSON).
Exemplo de retorno
{ "retorno": { "produtosLoja": [{ "produtoLoja": { "idLojaVirtual": 1000001, "preco": [{ "preco": 150.00, "precoPromocional": 135.50 }], "idFornecedor": 100001, "idMarca": 100002, "categoriasLoja": [{ "categoriaLoja": { "idCategoria": 1000004 } }, { "categoriaLoja": { "idCategoria": 1000005 } }] } }] } }