1. Estoque
1.1. API REST
1.1.1. 1. Atualizar estoque por SKU e Estoque
1.1.1.1. PUT Update Inventory By Sku and Warehouse
1.1.1.1.1. JSON
1.1.1.1.2. URL de request: http://logistics.{{environment}}.com.br/api/logistics/pvt/inventory/skus/{{skuId}}/warehouses/{{warehouseId}}?an={{accountName}}
1.1.2. 2. Consultar estoque
1.1.2.1. POST Get Inventory
1.1.2.1.1. JSON
1.1.2.1.2. URL de request: https://logistics.{{environment}}.com.br/api/logistics/pvt/inventory/items/2390059?an={{accountName}}
2. Produtos
2.1. 1. Inserção de produto
2.1.1. request
2.1.1.1. SOAP: ProductInsertUpdate
2.1.1.1.1. <tem:ProductInsertUpdate> <tem:productVO> <!--int, identificdor da marca--> <vtex:BrandId>2000011</vtex:BrandId> <!--int, identificdor da categoria--> <vtex:CategoryId>1000020</vtex:CategoryId> <!--int, identificdor do departamento--> <vtex:DepartmentId>1000018</vtex:DepartmentId> <!--string, descrição completa do produto--> <vtex:Description>Vaso de barro vermelho, feito a mão com barro do mar vermelho</vtex:Description> <!--string, descrição curta do produto--> <vtex:DescriptionShort>Vaso de barro vermelho artesanal</vtex:DescriptionShort> <!--int, opcional, identificador no ERP caso int--> <vtex:Id>1234567</vtex:Id> <!--bool, se não atender requisitos de ativação(ter SKUs ativas), não será ativado--> <vtex:IsActive>true</vtex:IsActive> <!--bool, vai ser visível no site--> <vtex:IsVisible>true</vtex:IsVisible> <!--string, palavras chaves relevantes para a busca--> <vtex:KeyWords> Barro, vaso, vermelho</vtex:KeyWords> <!--lista de inteiros, pra qual canal de vendas = loja principal = 1--> <vtex:ListStoreId> <arr:int>1</arr:int> <arr:int>2</arr:int> </vtex:ListStoreId> <!--meta tag de description (SEO)--> <vtex:MetaTagDescription>feito a mão com barro do mar vermelho</vtex:MetaTagDescription> <!--string, nome do produto--> <vtex:Name>Vaso Artesanal de Barro Vermelho</vtex:Name> <!--string, identificador do produto no ERP--> <vtex:RefId>1234567890</vtex:RefId> <!--string, titulo do produto--> <vtex:Title>Vaso Artesanal de Barro Vermelho</vtex:Title> </tem:productVO> </tem:ProductInsertUpdate>
2.1.2. response
2.1.2.1. SOAP: ProductInsertUpdateResponse
2.2. 2. Campos específicos dos produtos
2.2.1. request
2.2.1.1. SOAP: ProductEspecificationInsert
2.2.1.1.1. <tem:ProductEspecificationInsert> <!--number, identificador do produto que esta rebendo o valor de campo--> <tem:idProduct>31018369</tem:idProduct> <!--string, identificador do campo, o nome do campo--> <tem:fieldName>Material</tem:fieldName> <!--array, lista de valores do campo--> <tem:fieldValues> <!--string, valor do campo--> <arr:string>ceramica</arr:string> </tem:fieldValues> </tem:ProductEspecificationInsert>
2.2.2. response
3. Preço
3.1. API REST - Create / Edit Price
3.1.1. Parâmetros URL
3.1.1.1. https://api.vtex.com/{{account}}/pricing/prices/{{itemId}}
3.1.1.2. {{account}}
3.1.1.3. {{itemId}}
3.1.2. JSON
3.1.2.1. data
3.1.2.1.1. data: { "listPrice":300, "costPrice":100, "markup":50, "fixedPrices":[ { "tradePolicyId":"9", "value":300, "listPrice":null, "minQuantity":1 }, { "tradePolicyId":"9", "value":280.00, "listPrice":null, "minQuantity":1, "dateRange":{ "from":"2017-12-07T14:30:00Z", "to":"2017-12-30T14:30:00Z" } } ] }
4. SKU
4.1. 1. Inserir/alterar SKU
4.1.1. request
4.1.1.1. SOAP: StockKeepingUnitInsertUpdate
4.1.1.1.1. <tem:StockKeepingUnitInsertUpdate> <tem:stockKeepingUnitVO> <!--number, cubagem = peso cubico --> <vtex:CubicWeight>100</vtex:CubicWeight> <!--number, altura com embalagem e metros--> <vtex:Height>1.800</vtex:Height> <!--bool, se não atender requisitos de ativação(imagem, preço, estoque, espec., outros reqs obrig.), não será ativado--> <vtex:IsActive>true</vtex:IsActive> <!--bool, disponibilidade --> <vtex:IsAvaiable>true</vtex:IsAvaiable> <!--bool, é um KIT? --> <vtex:IsKit>false</vtex:IsKit> <!--number, comprimento com embalagem em metros --> <vtex:Length>1.52</vtex:Length> <!--decimal, ** ler obs --> <vtex:ListPrice>150.0</vtex:ListPrice> <!--prefixo do estoque (id estoque = 1_1, mandar 1) --> <vtex:ModalId>1</vtex:ModalId> <!--string, opicional, tipo de carga, necessita configuração de transportadora especial quando preenchido --> <vtex:ModalType>Vidro</vtex:ModalType> <!--string, nome da SKU --> <vtex:Name>Vaso Artesanal de Barro Laranja Escuro </vtex:Name> <!--decimal, preço, "POR", opcional **ler obs--> <vtex:Price>110.0</vtex:Price> <!--number, identificador do produto pai da SKU --> <vtex:ProductId>31018369</vtex:ProductId> <!--number, peso real em kilos --> <vtex:RealHeight>1.740</vtex:RealHeight> <!--number, altural real em metros --> <vtex:RealLength>1.60</vtex:RealLength> <!--number, peso real em kilos --> <vtex:RealWeightKg>2.750</vtex:RealWeightKg> <!--number, comprimento real em metros --> <vtex:RealWidth>1.7</vtex:RealWidth> <!--number, identificador da SKU no ERP --> <vtex:RefId>00123456</vtex:RefId> <!--number, opcional, numero de pontos dessa SKU --> <vtex:RewardValue>0</vtex:RewardValue> <!--lista de string, EANs do produto --> <vtex:StockKeepingUnitEans> <vtex:StockKeepingUnitEanDTO> <vtex:Ean>0123456789123</vtex:Ean> </vtex:StockKeepingUnitEanDTO> </vtex:StockKeepingUnitEans> <!--number, unidade de multipliçao para venda --> <vtex:UnitMultiplier>1</vtex:UnitMultiplier> <!--number, peso em kilos--> <vtex:WeightKg>1.5</vtex:WeightKg> <!--number, largura com embalagem em metros --> <vtex:Width>2.780</vtex:Width> </tem:stockKeepingUnitVO> </tem:StockKeepingUnitInsertUpdate>
4.1.2. response
4.2. 2. Campos específicos dos SKUs
4.2.1. request
4.2.1.1. SOAP: StockKeepingUnitEspecificationInsert
4.2.1.1.1. <tem:StockKeepingUnitEspecificationInsert> <!--number, identificador do SKU dono do campo--> <tem:idSku></tem:idSku> <!--string, identificador do campo, nome do campo--> <tem:fieldName></tem:fieldName> <!--array, lista de valores dos campos--> <tem:fieldValues> <!--string, valor de campo--> <arr:string></arr:string> </tem:fieldValues> </tem:StockKeepingUnitEspecificationInsert>
4.2.2. response
4.3. 3. Inserir imagem do SKU
4.3.1. request
4.3.1.1. SOAP: ImageServiceInsertUpdate
4.3.1.1.1. <tem:ImageServiceInsertUpdate> <!--url da imagem--> <tem:urlImage>https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQ6Lu0obmddsQX3JELe04hUs_hSelsmU8_W1yn5ztgdAk5SJC7D</tem:urlImage> <!--nome da imagem--> <tem:imageName>Barro Vermelho Escuro</tem:imageName> <!--identificador do SKu que irá receber a imagem--> <tem:stockKeepingUnitId>31018371</tem:stockKeepingUnitId> </tem:ImageServiceInsertUpdate>
4.3.2. response
4.4. 4. Ativar SKUs
4.4.1. request
4.4.1.1. SOAP: StockKeepingUnitActive
4.4.1.1.1. <tem:StockKeepingUnitActive> <!--identificador da SKU que deseja tentar ativar--> <tem:idStockKeepingUnit>31018371</tem:idStockKeepingUnit> </tem:StockKeepingUnitActive>
4.4.2. response
4.5. 5. Atualizar preço
4.5.1. API REST
4.5.1.1. PUT Create / Edit Fixed Price
4.5.1.1.1. https://api.vtex.com/{{account}}/pricing/prices/{{itemId}}
4.5.1.1.2. data
4.6. 6. Consultar preço
4.6.1. API REST
4.6.1.1. Get Fixed Prices
4.6.1.1.1. https://api.vtex.com/{{account}}/pricing/prices/{{itemId}}/fixed
4.6.1.1.2. response
5. Serviço
5.1. 1. Criando um serviço
5.1.1. request
5.1.1.1. SOAP: ServiceInsertUpdate
5.1.1.1.1. <tem:ServiceInsertUpdate> <tem:service> <!--number, id do serviço --> <vtex:Id>134</vtex:Id> <!--bool, está ativo ? --> <vtex:IsActive>true</vtex:IsActive> <!--bool, é um arquivo ? --> <vtex:IsFile>false</vtex:IsFile> <!--bool, é GiftCard ? --> <vtex:IsGiftCard>false</vtex:IsGiftCard> <!--bool, é obrigatório ? --> <vtex:IsRequired>false</vtex:IsRequired> <!--bool, está visível no carrinho ? --> <vtex:IsVisibleOnCart>true</vtex:IsVisibleOnCart> <!--bool, exibe no Produto ? --> <vtex:IsVisibleOnProduct>true</vtex:IsVisibleOnProduct> <!--bool, exibe no Serviço ? --> <vtex:IsVisibleOnService>true</vtex:IsVisibleOnService> <!--bool, nome do serviço --> <vtex:Name>Embalagem para presente</vtex:Name> </tem:service> </tem:ServiceInsertUpdate>
5.1.2. response
5.2. 2. Inserindo preço no serviço
5.2.1. request
5.2.1.1. SOAP: ServicePriceInsertUpdate
5.2.1.1.1. <tem:ServicePriceInsertUpdate> <tem:servicePrice> <!-- number, id de preço do serviço --> <vtex:Id>1</vtex:Id> <!-- decimal, preço "POR" do serviço --> <vtex:ListPrice>5.0</vtex:ListPrice> <!-- string, nome do serviço --> <vtex:Name>Embalagem para presente</vtex:Name> <!-- decimal, preço "DE" do serviço --> <vtex:Price>10.0</vtex:Price> <!-- number, id do serviço --> <vtex:ServiceId>134</vtex:ServiceId> </tem:servicePrice> </tem:ServicePriceInsertUpdate>
5.2.2. response
5.3. 3. Relacionando o serviço com uma SKU
5.3.1. request
5.3.1.1. SOAP: StockKeepingUnitServiceInsertUpdate
5.3.1.1.1. <tem:StockKeepingUnitServiceInsertUpdate> <tem:stockKeepingUnitService> <!-- string, descrição do serviço --> <vtex:Description>Embalagem para presente</vtex:Description> <!-- number, id da inserção de serviço no SKU --> <vtex:Id>123</vtex:Id> <!-- bool, está ativo ? --> <vtex:IsActive>true</vtex:IsActive> <!-- string, nome do serviço --> <vtex:Name>Embalagem para presente</vtex:Name> <!-- number, id do serviço --> <vtex:ServiceId>134</vtex:ServiceId> <!-- number, id do preço do serviço --> <vtex:ServicePriceId>1</vtex:ServicePriceId> <!-- number, id do SKU --> <vtex:StockKeepingUnitId>31018371</vtex:StockKeepingUnitId> </tem:stockKeepingUnitService> </tem:StockKeepingUnitServiceInsertUpdate>
5.3.2. response
6. Pedido
6.1. API REST
6.1.1. 1. Download de pedido
6.1.1.1. 1.1 Consultar feed de pedidos
6.1.1.1.1. Take feed event
6.1.1.2. 1.2 Consultar pedido por ID
6.1.1.2.1. Get order detail
6.1.1.2.2. Dados do cliente
6.1.1.3. 1.3 Alterar status do pedido para start handling
6.1.1.3.1. Start-handling
6.1.1.4. 1.4 Confirmar pedido (remove pedido do feed)
6.1.1.4.1. 1.4 Ack feed
6.1.2. 2. Fatura
6.1.2.1. 2.1 Enviar mudanças para a loja
6.1.2.1.1. URL de request: https://{{accountName}}.{{environment}}.com.br/api/oms/pvt/orders/{{orderId}}/changes
6.1.2.1.2. data
6.1.2.2. 2.2 Enviar fatura para a loja
6.1.2.2.1. URL de request: http://{{accountName}}.vtexcommercestable.com.br/api/oms/pvt/orders/{{orderId}}/invoice/
6.1.2.2.2. data
6.1.3. 3. Rastreamento de pedido
6.1.3.1. 3.1 Enviar informação de entrega à loja
6.1.3.1.1. URL de request: https://{{accountName}}.{{environment}}.com.br/api/oms/pvt/orders/{{orderId}}/invoice/{{invoiceNumber}}
6.1.3.1.2. data
6.1.3.2. 3.2 Enviar mensagens de rastreamento à loja
6.1.3.2.1. URL de request: http://{{accountName}}.vtexcommercestable.com.br/api/oms/pvt/orders/{{orderId}}/invoice/{{invoiceNumber}}/tracking
6.1.3.2.2. data
6.1.4. 4. Cancelamento de pedido
6.1.4.1. URL de request: http://{{accountName}}.{{environment}}.com.br/api/oms/pvt/orders/{{orderId}}/cancel
6.1.5. 5. Notificar endpoint de mudança de status
6.1.5.1. POST Hook Configuration
6.1.5.2. data
6.1.5.2.1. { "filter":{ "status":[ "order-completed", "handling", "ready-for-handling", "waiting-ffmt-authorization", "cancel" ] }, "hook":{ "url":"https://endpoint.example/path", "headers":{ "key":"value" } } }
6.1.5.3. https://documenter.getpostman.com/view/487146/vtex-orders-api/6tjSKqi#b9d8d3b1-7f40-4314-b05b-f8c44f87e060
6.1.6. 6. Enviar confirmação de pagamento
6.1.6.1. POST Send Payment Notification
6.1.6.1.1. https://documenter.getpostman.com/view/487146/vtex-orders-api/6tjSKqi#6f495174-1444-4e44-906d-4871fb226096