Integracao VTEX Versão 2.3 Português

13
 SUGESTÃO DE INTEGRAÇÃO MÍNIMA Autor: Thiago Alipio & Augusto Pierzynski 

Transcript of 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