Apresentar quantia em estoque no front end

existe algum controle capaz de reconhecer a quantia de determinado produto dentro do estoque??

eu gostaria de apresentar para o cliente, quantos produtos eu ainda possuo em meu estoque do item X

a vtex possui algum controle nativo para isso?

Controle nativo não, porém via javascript é possível resgatar esse valor e exibir.

@Nathan Prestes​ como ?? eu encontrei esta documentação do API

https://documenter.getpostman.com/view/3848/vtex-logistics-api/Hs42#08934d6d-9815-6b7b-0296-2223a56d8659

porem ao tentar conectar fico recebendo um erro 405,

é este o caminho? ou existe algum outro metodo com javascript para isto??

Agradeço a atenção

É através do vtexjs que você vai obter, com a função:

getCurrentProductWithVariations

@Nathan Prestes​ entendi , no caso ( availablequantity: 99999 ) é o campo referente ao estoque? é possivel eu verificar dentro de uma doca especifica??

É retornado esse valor acima de 10 unidades como uma forma de segurança para seus concorrentes não saberem o estoque real do produto.

Para resgatar o valor real, você precisaria de um middleware, já que a api é privada por questões de segurança.

Mas se mesmo assim quiser realizar isso, é através dessa rota:

GET Inventory By Sku

https://documenter.getpostman.com/view/3848/vtex-logistics-api/Hs42?s1oid=00DE0000000YFhX&s1nid=0DB0L000000Gmvb&emkind=chatterCommentNotification&s1uid=0050L000008hlOQ&emtm=1542369564960&fromEmail=1&s1ext=0#08934d6d-9815-6b7b-0296-2223a56d8659

@Nathan Prestes​ eu cheguei a tentar utilizar esta API , porem não estou consseguindo fazer conexão com a mesma, por um instante achei até que havia sido descontinuada,

estou tentando conectar por aqui

http://logistics.vtexcommercestable.com.br/api/logistics/pvt/inventory/skus/124?an=lojasguapore

os parametros estao certos?? ao tentar conectar recebo

/favicon.ico:1 Failed to load resource: the server responded with a status of 400 (Bad Request)

124:1 Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Envia um print do GET todo? Com os headers, etc...

@Nathan Prestes​ segue o codigo que estou utilizando, estou utilizando o codigo de exemplo do postman, e fico recebendo o erro 405

var settings = {

"async": true,

"crossDomain": true,

"url": "http://logistics.vtexcommercestable.com.br/api/logistics/pvt/inventory/balance/155?an=lojasguapore",

"method": "GET",

"headers": {

"Content-Type": "application/json; charset=utf-8",

"Accept": "application/json",

"X-VTEX-API-AppKey": "XX",

"X-VTEX-API-AppToken": "XX"

}

}

$.ajax(settings).done(function (response) {

console.log(response);

});

acabo de realizar o teste dentro da aplicação postman, e conssegui o retorno, voce tem ideia se tem algum erro na minha requisição no codigo??

Ricardo, não é recomendável você utilizar JS para conectar apis privadas, pois seu appKey e Token ficam em evidencia para qualquer pessoa e isso pode gerar problemas para você.

De qualquer forma, já tentou retirar o crossDomain e o async?

outro ponto é que todos as variáveis como "url, method, headers,..." não necessitam de aspas. Somente dentro do valor da variável headers é necessário.

Segue um exemplo:

jQuery.ajax({ headers: { "Accept": "application/json", "Content-Type": "application/json; charset=utf-8" }, //data: JSON.stringify(dataJson), type: 'GET', url: URL, success: function(data){ //SUCESSO }, error: function (data) { //ERRO } });

@Nathan Prestes​ então como eu quero apresentar a quantia em estoque diretamente no front achei que a unica maneira possivel seria atraves do javascript, voce recomenda algum outro meio para apresentar isto??

acabei conseguindo aqui retirando parte do caminho da url

antes : http://logistics.vtexcommercestable.com.br/api/logistics/pvt/inventory/items/7018/warehouses/14db863?an=lojasguapore

depois : "url": "/api/logistics/pvt/inventory/items/7018/warehouses/14db863?an=lojasguapore",

agradeço toda a ajuda e atenção, eu sempre fico impressionado com esta comunidade,

os usuários são bem mais uteis/técnicos e prestativos do que a própria vtex, sempre fico na duvida se eles fazem isto de proposito ou não.

tenho certeza que se você tivesse escrito a documentação, este problema que eu tive nem teria acontecido

Obrigado pelo feedback Ricardo! Sempre tento ajudar quando possível.

Sobre o "meio" que perguntou é justamente um middleware, digamos que é uma solução externa da sua loja, um servidor à parte, em uma linguagem server-side, ou seja, executa a linha de comando à nível servidor, não navegador como é o javascript, entende? Dessa forma o seu appKey e Tokené ocultado pois esses dados dão acesso à sua loja por completo.