-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Melhorar documentação de addItemAttachment #16
Comments
Ao usar o |
Eu adiciono 10 itens de um SKU no carrinho, logo abaixo desse SKU existe o campo do serviço para que eu possa digitar a informação, quando insiro o valor no campo, o carrinho duplica a linha, sendo a primeira um SKU sem nada no campo de serviço e com 9 unidades e a segunda linha o mesmo SKU, com o campo serviço preenchido e com apenas 1 unidade. Como faço com que esse serviço seja aplicado as 10 unidades sem duplicar as linhas? |
@caljp13 Quanto ao segundo comentário, isso é hoje uma limitação da API. Coincidentemente, essas semanas estamos discutindo em mudar esse comportamento para que isso seja possível. Aviso aqui, quando decidirmos isso. |
Criei uma issue para o segundo item: #17 |
Bom dia Breno, 2 coisas que eu acho que poderiam melhorar,
|
@lucasdall o que seria o primeiro parametro? |
Segue método que estou tentando executar no checkout: O SKU possui esses dois anexos: Conteúdo do OrderForm: {
"orderFormId": "bcc81937fb764bc39be9f63bbea37a6d",
"salesChannel": "1",
"loggedIn": false,
"isCheckedIn": false,
"storeId": null,
"allowManualPrice": false,
"canEditData": true,
"userProfileId": null,
"userType": null,
"ignoreProfileData": false,
"value": 1600,
"messages": [],
"items": [{
"uniqueId": "12E809239EA74BA7AA4D31B9CE0B60B4",
"id": "20",
"productId": "8",
"refId": "SKU-Demo",
"name": "Cortina Demo Cadastro SKU Demo",
"skuName": "SKU Demo",
"modalType": null,
"priceValidUntil": null,
"tax": 0,
"price": 1600,
"listPrice": 1800,
"manualPrice": null,
"sellingPrice": 1600,
"rewardValue": 0,
"isGift": false,
"additionalInfo": {
"brandName": "COLUMBIA by HUNTER DOUGLAS",
"brandId": "2000003",
"offeringInfo": null,
"offeringType": null,
"offeringTypeId": null
},
"preSaleDate": null,
"productCategoryIds": "/10/",
"productCategories": {
"10": "CORTINAS JAMIL"
},
"defaultPicker": null,
"handlerSequence": 0,
"handling": false,
"quantity": 1,
"seller": "1",
"imageUrl": "http://lojavivaonline.vteximg.com.br/arquivos/ids/155398-55-55/rolo03.jpg",
"detailUrl": "/cortina-demo-cadastro/p",
"components": [],
"bundleItems": [],
"attachments": [],
"itemAttachment": {
"name": null,
"content": {}
},
"attachmentOfferings": [{
"name": "Identificação",
"required": true,
"schema": {
"Ambiente": {
"maximumNumberOfCharacters": 10,
"domain": []
},
"Descrição": {
"maximumNumberOfCharacters": 20,
"domain": []
},
"ID": {
"maximumNumberOfCharacters": 2,
"domain": []
}
}
}],
"offerings": [],
"priceTags": [],
"availability": "available",
"measurementUnit": "un",
"unitMultiplier": 1
}],
"selectableGifts": [],
"products": [],
"totalizers": [{
"id": "Items",
"name": "Total dos Itens",
"value": 1600
}],
"shippingData": {
"attachmentId": "shippingData",
"address": null,
"logisticsInfo": [{
"itemIndex": 0,
"selectedSla": null,
"slas": [],
"shipsTo": ["BRA"],
"itemId": "20"
}],
"availableAddresses": []
},
"clientProfileData": {
"attachmentId": "clientProfileData",
"email": null,
"firstName": null,
"lastName": null,
"document": null,
"documentType": "cpf",
"phone": null,
"corporateName": null,
"tradeName": null,
"corporateDocument": null,
"stateInscription": null,
"corporatePhone": null,
"isCorporate": false
},
"paymentData": {
"installmentOptions": [{
"paymentSystem": "201",
"bin": null,
"paymentName": null,
"paymentGroupName": null,
"value": 1600,
"installments": [{
"count": 1,
"hasInterestRate": false,
"interestRate": 0,
"value": 1600,
"total": 1600,
"sellerMerchantInstallments": [{
"id": "LOJAVIVAONLINE",
"count": 1,
"hasInterestRate": false,
"interestRate": 0,
"value": 1600,
"total": 1600
}]
}]
}],
"paymentSystems": [{
"id": 201,
"name": "Promissória Exemplo",
"groupName": "custom201PaymentGroupPaymentGroup",
"validator": {
"regex": null,
"mask": null,
"cardCodeRegex": null,
"cardCodeMask": null,
"weights": null,
"useCvv": false,
"useExpirationDate": false,
"useCardHolderName": false,
"useBillingAddress": false
},
"stringId": "201",
"template": "custom201PaymentGroupPaymentGroup-template",
"requiresDocument": false,
"isCustom": true,
"description": "Exemplo de meio de pagamento customizado, para finalização de compra e aceite de pedido na VTEX",
"requiresAuthentication": true,
"dueDate": "2016-08-03T13:32:04.9603873Z"
}],
"payments": [],
"giftCards": [],
"giftCardMessages": [],
"availableAccounts": []
},
"marketingData": null,
"sellers": [{
"id": "1",
"name": "lojavivaonline",
"logo": ""
}],
"clientPreferencesData": {
"attachmentId": "clientPreferencesData",
"locale": "pt-BR",
"optinNewsLetter": false
},
"storePreferencesData": {
"countryCode": "BRA",
"checkToSavePersonDataByDefault": true,
"templateOptions": {
"toggleCorporate": false
},
"timeZone": "E. South America Standard Time",
"currencyCode": "BRL",
"currencyLocale": 1046,
"currencySymbol": "R$",
"currencyFormatInfo": {
"currencyDecimalDigits": 2,
"currencyDecimalSeparator": ",",
"currencyGroupSeparator": ".",
"currencyGroupSize": 3,
"startsWithCurrencySymbol": true
}
},
"giftRegistryData": null,
"openTextField": null,
"ratesAndBenefitsData": {
"attachmentId": "ratesAndBenefitsData",
"rateAndBenefitsIdentifiers": [],
"teaser": []
}
} |
@BrenoC, o primeiro parametro seria o objeto item do orderForm. Por exemplo, supondo que eu tenha 3 skus no carrinho. O primeiro sku tem quantidade 3, o segundo quantidade 2 e o terceiro quantidade 1. Teríamos o item assim:
|
@lucasdall @caljp13 Poderiam ver o #18 e comentarem o que acham? @lucasdall o itemIndex tem seu indice com base em todo o carrinho e não com base nos skus, por isso que só utilizamos ele nos parâmetros. O vtexjs é só uma camada mais amigável para a API do Checkout. O que você sugere teria que mudar a API do Checkout e, hoje, não é isso que estamos buscando. |
Boa tarde, @BrenoC e @lucasdall ! Na verdade, mundo ideal seria adicionar o item ao carrinho com um parâmetro opcional de enviar o anexo junto. Isso melhoraria demais nossas vidas. |
@alexandreTrino você fala pela URL de adicionar ao carrinho? |
@BrenoC se eu não entendi errado o que falou o @alexandreTrino, seria a possibilidade de adicionar itens ao carrinho enviando um JSON e não chamando a URL |
Exatamente, @caljp13! Nós escreveríamos, por exemplo @BrenoC : item = { id: 11221, quantity: 2, seller: 1, attachments: [ { index:0, attachmentName: "nome-1" content: "content-1" }, { index:1, attachmentName: "nome-1" content: "content-1" } ] }; myItems.push(item); vtexjs.checkout.getOrderForm().done(function(order){ return vtexjs.checkout.addToCart(myItems).done(function(){ console.log("adicionou ao carrinho!"); }); O que acham? resumiria mais o código e evitaria alguns bugs por aí, talvez. |
@caljp13 @alexandreTrino Vi que o método addToCart não retorna informações necessárias para poder fazer algo como: var item = {
id: 26,
quantity: 1,
seller: 1
};
vtexjs.checkout.addToCart([item], null, 1)
.then(function(orderForm) {
var itemIndex = 0; // Não temos certeza do index do item que acabamos de adicionar
var attachmentName = 'Customizacao';
var attachment = { Nome: 'Teste' };
return vtexjs.checkout.addItemAttachment(itemIndex, attachmentName, attachment);
})
.then(function(orderForm) {
console.log(orderForm);
}); Estou conversando com o time da API para retornar algo que torne isso possível. Algo como: var item = {
id: 26,
quantity: 1,
seller: 1
};
vtexjs.checkout.addToCart([item], null, 1)
.then(function(orderForm) {
var addedItemsIndex = orderForm.addedItemsIndex; // Propriedade que teria um array com indices dos items adicionados no carrinho
var itemIndex = addedItemsIndex[0];
var attachmentName = 'Customizacao';
var attachment = { Nome: 'Teste' };
return vtexjs.checkout.addItemAttachment(itemIndex, attachmentName, attachment);
})
.then(function(orderForm) {
console.log(orderForm);
}); |
Gostaria de saber as dificuldades enfrentadas com o uso do método de addItemAttachment para melhorar nossa documentação.
Poderiam descrever o cenário para reproduzir o problema que estão tendo? Talvez possa esclarecer as dúvidas e com isso as próximas pessoas não passem pela mesma dificuldade.
The text was updated successfully, but these errors were encountered: