Download - Integracao VTEX Versão 2.3 Português
7
SUGESTO DE INTEGRAO MNIMAAutor: Thiago Alipio & Augusto Pierzynski
ndice
1.Como criar um novo produto3Exemplos de cdigos C# para integrao42.Como criar un novo SKU4Exemplos de cdigos C# para integrao53.Integraes com API REST precisam de autenticao!54.Como consultar o estoque65.Como atualizar o estoque66.Como consultar o preo67.Como atualizar o preo78.Como fazer uma consulta de pedidos por status89.Como fazer uma consulta de pedido por ID810.Como fazer a troca de status de um pedido811.Como cancelar um pedido812.Como enviar aprovao de pagamento para Boleto813.Como enviar o ShippingNotification para a captura814.Fluxo de integrao de um pedido(Tudo feito por API REST)915.Fluxo de atualizao de preo (Feito por API Webservice mais API REST)916.Lista de Ids de forma de pagamento10
1. Como criar um novo produto Tecnologia: WebService Mtodo: ProductInsertUpdate Retorno: IdProduct na VTEX Objecto Enviado: ProductDTOInformaes sobre os dados que devem ser enviados Os campos que esto em vermelho so obrigatrios e devem vir do ERP Os campos que esto em amarelo so obrigatrios, mas so fixados na integrao.a. DepartamentId = 1000000b. CategoryId = 1000000c. BrandId = 1d. LindId = Este vai ser o link do produto na VTEX. No se pode ter caracteres especiais e nem espaos em branco. Exemplo:i. Se o nome do produto : Refrigeradora Consul Branco AD123RS, ento o campo linkId deve ser: refrigeradora-consul-branco-AD123RSe. IsVisible: truef. IsActive: false PropriedadesTiposTamanhoDescrio
Idint nulvel-Id do produto
NameString150Nome do produto
DepartmentIdint nulvel-Id do departamento
CategoryIdint nulvel-Id da categoria
BrandIdint nulvel-Id da marca
LinkIdString255Url do produto (sem espaos e sem caracteres especiais)
RefIdString200Cdigo do ERP
IsVisiblebool nulvel-Visvel no Site
DescriptionStringmaxDescrio do Produto
DescriptionShortStringmaxDescrio resumida do Produto
ReleaseDateDateTime nulvel-Data de Lanamento
KeyWordsStringmaxPalavras Chaves
TitleString150Texto que se insere na TAG TITLE no HTML
IsActivebool nulvel-Todo novo produto inicia como inativo e pode se utilizar um outro mtodo para ativar: ProductActive
TaxCodeString50Cdigo fiscal
MetaTagDescriptionStringmaxMetaTagDescription. Para o Google
SupplierIdint nulvel-Id do provedor
ShowWithoutStockBool-Mostrar sem estoque
ListStoreIdlista de int-Lista com os ids das lojas onde o produto deve estar. (multidomnio)
AdWordsRemarketingCodeString200Cdigo do AdWords
LomadeeCampaignCodeString200Cdigo da campanha do Lomadee
Exemplos de cdigos C# para integrao
O download dos exemplos pode ser feito em: https://github.com/vtex/vcs.integration.samplesSugerimos tambm a utilizao de uma ferramenta de teste chamada SoapUiLink do instalador: http://sourceforge.net/projects/soapui/files/latest/download2. Como criar un novo SKU Tecnologia: WebService Mtodo: StockKeepingUnitInsertUpdate Retorno: Objeto Enviado: StockKeepingUnitDTOInformaes sobre os dados que devem ser enviados: Os campos em vermelho so obrigatrios e devem vir do ERP Os campos em amarelo so obrigatrios, mas so fixados na integrao.a. IsActive = falseb. ModalId = 1
PropriedadesTiposTamanhoDescrio
Idint nulvel-Id do sku
ProductIdint nulvel-Id do produto (foreign key)
IsActivebool nulvel-Ativa ou no o SKU. Pode-se ativar o SKU utilizando o mtodo "StockKeepingUnitActivate"
Namestring200Nome do SKU
RefIdstring50Cdigo do ERP
CostPricedecimal nulvel(18,2)Preo de custo do provedor*
ListPricedecimal nulvel(18,2)Preo Desde*
Pricedecimal nulvel(18,2)Preo Por (preo normal) *
Heightdecimal nulvel(18,4)Altura*
Lengthdecimal nulvel(18,4)Comprimento*
Widthdecimal nulvel(18,4)Largura*
WeightKgdecimal nulvel(18,4)Peso em grama(g)*
RealHeightdecimal nulvel(18,4)Altura real*
RealLengthdecimal nulvel(18,4)Comprimento real*
RealWidthdecimal nulvel(18,4)Largura real*
RealWeightKgdecimal nulvel(18,4)Peso em grama(g) real*
ModalIdint nulvel-Refere-se modalidade de frete (1- leve, 2- pesado, 3-refrigerado, 4-qumico)
CubicWeightdecimal nulvel(18,4)Peso cbico
InternalNotestringmaxCampo obsoleto
IsKitbool nulvel-Se SKU um Kit ou no (uma vez kit, o sku no pode deixar de ser kit)
ProductNamestring150Nombre do produto
IsAvaiablebool nulvel-Campo obsoleto
StockKeepingUnitEanslista de StockKeepingUnitEanDTO-Cdigo de barras (EAN13). Caso um sku esteja ativo, o RefId esteja vazio e o ean no for preenchido inativar-se- o sku
DateUpdatedDateTime nulvel-Data de atualizao
RewardValuedecimal nulvel(18,2)Cdigo de fidelidade
EstimatedDateArrivalDateTime nulvel-Data de pr-venda
ManufacturerCodestring100Cdigo do fabricante
ComercialConditionIdint nulvel-Id da condio comercial
MeasurementUnitstring-Unidade de medida
UnitMultiplierdecimal nulvel-Multiplicador da unidade
Exemplos de cdigos C# para integrao
O download dos exemplos pode ser feito em: https://github.com/vtex/vcs.integration.samplesSugerimos tambm a utilizao de uma ferramenta de teste chamada SoapUiLink do instalador: http://sourceforge.net/projects/soapui/files/latest/download3. Integraes com API REST precisam de autenticao!
Para obter a chave e o token para a autenticao, deve-se ingressar no admin da VTEX atravs da URL:http://[Nome-da-loja].vtexcommercestable.com.br/admin1) No mdulo LicenseManager,2) Click em Contas.3) Depois, faa uma busca pela conta4) Click em Editar
H uma rea de Segurana, como se v na imagem abaixo, onde:1) VTEX APP KEY2) VTEX APP TOKEN3) Gerar um novo par de chaves
4. Como consultar o estoque Tecnologia: REST (POST y GET) Mtodo: POST URL: http://[Nome-da-loja].vtexcommercestable.com.br/api/logistics/pvt/inventory/itemsbalance Objeto Enviado: JSON Estrutura: [{"id":"id-sku1"},{"id":"id-sku2"}] [ { "itemId": "2000020", "quantity": 310, "eventTimestamp": "00000000-0000-0000-0000-000000000000", "salesChannel": "1" }, { "itemId": "2000021", "quantity": 19, "eventTimestamp": "00000000-0000-0000-0000-000000000000", "salesChannel": "1" }]Estrutura de Retorno:
Exemplo em Cdigo C#????????????????????????????????????????????????????????????????????????????5. Como atualizar o estoque Tecnologia: REST (POST y GET) Mtodo: POST URL: http://[Nome-da-loja].vtexcommercestable.com.br/api/logistics/pvt/inventory/warehouseitembalances Objeto Enviado: JSON Estrutura:
[{ "wareHouseId":"Stock-Id","itemId":"id-Sku1","quantity":"xx","dateUtcOnBalanceSystem":null},{"wareHouseId":"Stock-Id","itemId":"id-Sku1","quantity":"xx","dateUtcOnBalanceSystem":null}]
Retorno: true Exemplo em Cdigo C#???????????????????????????????????????????????????????????????????????????6. Como consultar o preo Tecnologia: REST (POST y GET) Mtodo: GET URL: http://rnb.vtexcommercestable.com.br/api/pricing/pvt/price-sheet/{id-sku}?an={Nome-da-loja} [ { "itemId": id-sku, "source": null, "price": 400, "salesChannel": 2, "medium": null, "campaign": null, "internalCampaign": null, "validFrom": "2013-09-06T11:41:52.33", "validTo": "4000-01-01T00:00:00", "listPrice": 400 }, { "itemId": id-sku, "source": null, "price": 250, "salesChannel": 1, "medium": null, "campaign": null, "internalCampaign": null, "validFrom": "2013-09-06T11:41:52.33", "validTo": "2113-09-06T11:41:52.33", "listPrice": 500 }]Retorno: um ou mais objetos em Json, de acordo com a quantidade de salesChannel
7. Como atualizar o preo Tecnologia: REST (POST y GET) Mtodo: POST URL: http://rnb.vtexcommercestable.com.br/api/pricing/pvt/price-sheet?an={Nome-da-loja} Objeto Enviado: JSON [ { "itemId": id-sku, "source": null, "price": 150, "salesChannel": 1, "medium": null, "campaign": null, "internalCampaign": null, "validFrom": "2013-09-06T11:41:52.33", "validTo": "2113-09-06T11:41:52.33", "listPrice": 500 }]Estrutura Enviada:
Retorno: Done!!!8. Como fazer uma consulta de pedidos por status Tecnologia: REST (POST y GET) Mtodo: GET URL: http://oms.vtexcommerce.com.br/api/oms/pvt/orders/?an={Nome-da-loja}&f_status=ready-for-handling Possibles Status: payment-pending, ready-for-handling, start-handling, handling, invoiced Retorno: Uma lista com os IDs de pedidos.9. Como fazer uma consulta de pedido por ID Tecnologia: REST (POST y GET) Mtodo: GET URL: http://oms.vtexcommerce.com.br/api/oms/pvt/orders/{order-id}/?an={Nome-da-loja} Retorno: Todos os dados possveis de um pedido10. Como fazer a troca de status de um pedido Tecnologia: REST (POST y GET) Mtodo: POST URL: http://oms.vtexcommerce.com.br/api/oms/pvt/orders/{order-id}/start-handling/?an={Nome-da-loja}11. Como cancelar um pedido Tecnologia: REST (POST y GET) Mtodo: POST URL: http://oms.vtexcommerce.com.br/api/oms/pvt/orders/{order-id}/cancel/?an={Nome-da-loja} Retorno:
{ "orderId": "381343554856-01", "receipt": "c08dbd94-b09f-4b11-910a-bab5c343c312", "date": "2013-12-13T18:04:22.6910619Z"}
12. Como enviar aprovao de pagamento para Boleto Tecnologia: REST (POST y GET) Mtodo: POST URL: http://{Nome-da-loja}.vtexcommercestable.com.br/api/oms/pvt/orders/{order-id}/payments/{payment-id}/payment-notification13. Como criar uma transportadora e suas janelas de entrega para Entrega Agendada Tcnologia: REST (POST y GET) Mtodo: POST URL: http://{Nome-da-loja}.vtexcommercestable.com.br/api/logistics/pvt/configuration/freights Objecto Enviado: JSON Estrutura Enviada:
{ "id": "59", "slaType": "Entrega Agendada", "name": "Entrega Agendada", "scheduledDelivery": true, "maxRangeDelivery": 10, "dayOfWeekForDelivery": [ { "dayOfWeek": 0, "deliveryRanges": [ { "startTime": "08:00:00", "endTime": "13:00:00", "listPrice": 5.00 }, { "startTime": "13:00:00", "endTime": "17:00:00", "listPrice": 50 }, { "startTime": "17:00:00", "endTime": "22:00:00", "listPrice": 500 } ] }, { "dayOfWeek": 1, "deliveryRanges": [ { "startTime": "08:00:00", "endTime": "13:00:00", "listPrice": 0 }, { "startTime": "13:00:00", "endTime": "17:00:00", "listPrice": 0 }, { "startTime": "17:00:00", "endTime": "22:00:00", "listPrice": 0 } ] }, { "dayOfWeek": 2, "deliveryRanges": [ { "startTime": "08:00:00", "endTime": "13:00:00", "listPrice": 0 }, { "startTime": "13:00:00", "endTime": "17:00:00", "listPrice": 0 }, { "startTime": "17:00:00", "endTime": "22:00:00", "listPrice": 0 } ] }, { "dayOfWeek": 3, "deliveryRanges": [ { "startTime": "08:00:00", "endTime": "13:00:00", "listPrice": 0 }, { "startTime": "13:00:00", "endTime": "17:00:00", "listPrice": 0 }, { "startTime": "17:00:00", "endTime": "22:00:00", "listPrice": 0 } ] }, { "dayOfWeek": 4, "deliveryRanges": [ { "startTime": "08:00:00", "endTime": "13:00:00", "listPrice": 0 }, { "startTime": "13:00:00", "endTime": "17:00:00", "listPrice": 0 }, { "startTime": "17:00:00", "endTime": "22:00:00", "listPrice": 0 } ] }, { "dayOfWeek": 5, "deliveryRanges": [] }, { "dayOfWeek": 6, "deliveryRanges": [] } ], "freightValue": [], "factorCubicWeight": null, "freightTableProcessStatus": 1 }
14. Como cancelar uma janela de entrega para Entrega Agendada Tcnologia: REST (POST y GET) Mtodo: POST URL: http://{Nome-da-loja}.vtexcommercestable.com.br/ api/logistics/pvt/configuration/freights/{id-transportadora}/adddayofweekblocked Objecto Enviado: JSON Estructura Enviada:
2014-02-24T08:00:00
Observao: necessrio enviar somente a hora inicial da janela.15. Como cancelar o bloqueio de uma janela de entrega para Entrega Agendada Tcnologia: REST (POST y GET) Mtodo: POST URL: http://{Nome-da-loja}.vtexcommercestable.com.br/ api/logistics/pvt/configuration/freights/{id-transportadora}/removedayofweekblocked Objecto Enviado: JSON 2014-02-24T08:00:00Estrutura Enviada:
Observao: necessrio enviar somente a hora inicial da janela.16. Como enviar o ShippingNotification para a captura Tecnologia: REST (POST y GET) Mtodo: POST URL: https://oms.vtexcommerce.com.br/api/oms/pvt/orders/{order-id}/shipping-notification?an={Nome-da-loja} Objeto Enviado: JSON {"invoiceNumber":"NF0001","invoiceValue":"20000","courier":"SEDEX","invoiceUrl":"www.nfteste.com","embeddedInvoice":"","issuanceDate":"2013-11-05","trackingNumber":"SN0000BR","items": [{"id": "id-sku","price": 10000,"quantity": 1 }]}Estrutura Enviada: Se h mais de um produto, repetir a parte de itens em bold(negrito)
Retorno:
{ "date": "2013-12-13T20:41:48.8438493+00:00", "orderId": "00-374322110012-01", "receipt": "59d2d4d89ca346938b29d6824a353c09"}17. Fluxo de integrao de um pedido(Tudo feito por API REST)
18. Fluxo de atualizao de preo (Feito por API Webservice mais API REST)
19. Lista de Ids de forma de pagamentoIdNombre
1American Express
2Visa
3Diners
4Mastercard
5Discover
6Boleto Bancrio
7Aura
8Hipercard
9Elo
10Visa Electron
11Carto da Loja
12PayPal
13Bcash
14Banricompras
15Evolucard
16Vale
17Promissory
18Mercado Pago
19Dbito Online
22Dbito Ita
23Dbito Bradesco
24Dbito Banco do Brasil
25Dbito Banrisul
26PagSeguro
20. Fluxo de Status