How to update SalesChannel in orderForm?

Good afternoon,

I want to update different fields from the orderForm, I updated for example the shippingData and clientProfileData following the vtexjs examples:

vtexjs.checkout.getOrderForm() .then(function(orderForm) { var clientProfileData = orderForm.clientProfileData; clientProfileData.firstName = 'Guilherme'; return vtexjs.checkout.sendAttachment('clientProfileData', clientProfileData) }).done(function(orderForm) { alert("Nome alterado!"); console.log(orderForm); console.log(orderForm.clientProfileData); })

However I want to update the field salesChannel with the following structure:

vtexjs.checkout.getOrderForm() .then(function(orderForm) { var sc= '4' return vtexjs.checkout.sendAttachment('salesChannel', { value: sc }); }).done(function(orderForm) { console.log("openTextField preenchido com: ", orderForm.salesChannel); }).fail(function(error) { console.log(error) } )

And always it returns a 500 error.

{"Fields":{},"operationId":"f464e572-cc53-4911-b050-68f9d95a3c6b","error":{"code":"1","message":"Specified argument was out of the range of valid values.\r\nParameter name: attachmentId","exception":null}}

Could anyone help me.

Thanks in advance.

Sinceramente não sei se é possível, acredito que para este caso você deveria abrir um ticket na VTEX.

Hola, @Camilo Arguello​ pudiste encontrar la respuesta? Tengo el mismo problema

Hola, @Leslie Avendaño​ Noté que el SC del OrderForm se actualiza la continuar navegando. Ya que según la documentación, solo se pueden actualizar algunas "secciones" del OrderForm.

Revisar la documentación acerca del objecto vtexjs

https://github.com/vtex/vtex.js/blob/master/docs/checkout/README.en.md

Infelizmente não é possível alterar o saleschannel no orderForm.

Mas, existem "gambiarras" kkkk

vtexjs.checkout.addToCart([{id:0, quantity: 1, seller: 1}], null, 2).done(function(o,s){console.log("sales channel alterado", o,s)})

Onde o número 2 é o sales channel.

Hola a todos, hay una manera de poder cambiar le SC de un orderForm. El procedimiento es algo tedioso, pero cumple con lo solicitado. Lo que se tiene que hacer es vaciar el carrito y volver agregar todos los productos con el SC al que deseas cambiar. Esto actualiza el orderForm con el SC nuevo. Cabe recalcar que se corre el riesgo de que los productos no tengan stock al SC que estés cambiando.

1 Like

eso se hace directamente en el checkout en el js???, actualmente estoy teniendo el pmismo problema y no he podido resolverlo
tienes codigo? gracias de antemano