Você está na página 1de 13

SUGESTO DE INTEGRAO MNIMA

Autor: Thiago Alipio & Augusto Pierzynski

ndice

1.

Como criar um novo produto ................................................................................................ 3 Exemplos de cdigos C# para integrao .................................................................................. 4

2.

Como criar un novo SKU........................................................................................................ 4 Exemplos de cdigos C# para integrao .................................................................................. 5

3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.

Integraes com API REST precisam de autenticao! ......................................................... 5 Como consultar o estoque .................................................................................................... 6 Como atualizar o estoque ..................................................................................................... 6 Como consultar o preo ........................................................................................................ 6 Como atualizar o preo ......................................................................................................... 7 Como fazer uma consulta de pedidos por status .................................................................. 8 Como fazer uma consulta de pedido por ID.......................................................................... 8 Como fazer a troca de status de um pedido ..................................................................... 8 Como cancelar um pedido ................................................................................................ 8 Como enviar aprovao de pagamento para Boleto ........................................................ 8 Como enviar o ShippingNotification para a captura ....................................................... 10 Fluxo de integrao de um pedido(Tudo feito por API REST) ......................................... 11 Fluxo de atualizao de preo (Feito por API Webservice mais API REST) ..................... 11 Lista de Ids de forma de pagamento ............................................................................... 12

1.

Como criar um novo produto


o o o o Tecnologia: WebService Mtodo: ProductInsertUpdate Retorno: IdProduct na VTEX Objecto Enviado: ProductDTO

Informaes 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 = 1000000 b. CategoryId = 1000000 c. BrandId = 1 d. 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-AD123RS e. IsVisible: true f. IsActive: false

Propriedades Id Name DepartmentId CategoryId BrandId LinkId RefId IsVisible Description DescriptionShort ReleaseDate KeyWords Title IsActive

Tipos int nulvel String int nulvel int nulvel int nulvel String String bool nulvel String String DateTime nulvel String String bool nulvel

Tamanho 150 255 200 max max max 150 -

TaxCode MetaTagDescription SupplierId ShowWithoutStock ListStoreId AdWordsRemarketingCode LomadeeCampaignCode

String String int nulvel Bool lista de int String String

50 max 200 200

Descrio Id do produto Nome do produto Id do departamento Id da categoria Id da marca Url do produto (sem espaos e sem caracteres especiais) Cdigo do ERP Visvel no Site Descrio do Produto Descrio resumida do Produto Data de Lanamento Palavras Chaves Texto que se insere na TAG TITLE no HTML Todo novo produto inicia como inativo e pode se utilizar um outro mtodo para ativar: ProductActive Cdigo fiscal MetaTagDescription. Para o Google Id do provedor Mostrar sem estoque Lista com os ids das lojas onde o produto deve estar. (multidomnio) Cdigo do AdWords Cdigo da campanha do Lomadee

Exemplos de cdigos C# para integrao


O download dos exemplos pode ser feito em: https://github.com/vtex/vcs.integration.samples Sugerimos tambm a utilizao de uma ferramenta de teste chamada SoapUi Link do instalador: http://sourceforge.net/projects/soapui/files/latest/download

2.

Como criar un novo SKU


o o o o Tecnologia: WebService Mtodo: StockKeepingUnitInsertUpdate Retorno: Objeto Enviado: StockKeepingUnitDTO

Informaes 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 = false b. ModalId = 1

Propriedades Id ProductId IsActive

Tipos int nulvel int nulvel bool nulvel

Tamanho -

Name RefId CostPrice ListPrice Price Height Length Width WeightKg RealHeight RealLength RealWidth RealWeightKg ModalId

string string decimal nulvel decimal nulvel decimal nulvel decimal nulvel decimal nulvel decimal nulvel decimal nulvel decimal nulvel decimal nulvel decimal nulvel decimal nulvel int nulvel

200 50 (18,2) (18,2) (18,2) (18,4) (18,4) (18,4) (18,4) (18,4) (18,4) (18,4) (18,4) -

CubicWeight InternalNote IsKit ProductName IsAvaiable StockKeepingUnitEans

decimal nulvel string bool nulvel string bool nulvel lista de StockKeepingUnitEanDTO DateTime nulvel decimal nulvel DateTime nulvel string

(18,4) max 150 -

DateUpdated RewardValue EstimatedDateArrival ManufacturerCode

(18,2) 100

Descrio Id do sku Id do produto (foreign key) Ativa ou no o SKU. Pode-se ativar o SKU utilizando o mtodo "StockKeepingUnitActivate" Nome do SKU Cdigo do ERP Preo de custo do provedor* Preo Desde* Preo Por (preo normal) * Altura* Comprimento* Largura* Peso em grama(g)* Altura real* Comprimento real* Largura real* Peso em grama(g) real* Refere-se modalidade de frete (1- leve, 2- pesado, 3-refrigerado, 4-qumico) Peso cbico Campo obsoleto Se SKU um Kit ou no (uma vez kit, o sku no pode deixar de ser kit) Nombre do produto Campo obsoleto Cdigo de barras (EAN13). Caso um sku esteja ativo, o RefId esteja vazio e o ean no for preenchido inativar-se- o sku Data de atualizao Cdigo de fidelidade Data de pr-venda Cdigo do fabricante

5
ComercialConditionId MeasurementUnit UnitMultiplier int nulvel string decimal nulvel Id da condio comercial Unidade de medida Multiplicador da unidade

Exemplos de cdigos C# para integrao


O download dos exemplos pode ser feito em: https://github.com/vtex/vcs.integration.samples Sugerimos tambm a utilizao de uma ferramenta de teste chamada SoapUi Link do instalador: http://sourceforge.net/projects/soapui/files/latest/download

3.

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/admin 1) 2) 3) 4) No mdulo LicenseManager, Click em Contas. Depois, faa uma busca pela conta Click em Editar

H uma rea de Segurana, como se v na imagem abaixo, onde: 1) 2) 3) VTEX APP KEY VTEX APP TOKEN Gerar um novo par de chaves

4.

Como consultar o estoque


o o o o o o Tecnologia: REST (POST y GET) Mtodo: POST URL: http://[Nome-daloja].vtexcommercestable.com.br/api/logistics/pvt/inventory/itemsbalance Objeto Enviado: JSON Estrutura: [{"id":"id-sku1"},{"id":"id-sku2"}] Estrutura de Retorno: [ { "itemId": "2000020", "quantity": 310, "eventTimestamp": "00000000-0000-0000-0000-000000000000", "salesChannel": "1" }, { "itemId": "2000021", "quantity": 19, "eventTimestamp": "00000000-0000-0000-0000-000000000000", "salesChannel": "1" } ] o Exemplo em Cdigo C# ????????????????????????????????????????????????????????????????????????????

5.

Como atualizar o estoque


o o o o o Tecnologia: REST (POST y GET) Mtodo: POST URL: http://[Nome-daloja].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}] o o Retorno: true Exemplo em Cdigo C# ???????????????????????????????????????????????????????????????????????????

6.

Como consultar o preo


o o Tecnologia: REST (POST y GET) Mtodo: GET

7
o o URL: http://rnb.vtexcommercestable.com.br/api/pricing/pvt/price-sheet/{id-sku}?an={Nomeda-loja} Retorno: um ou mais objetos em Json, de acordo com a quantidade de salesChannel [ { "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 } ]

7.

Como atualizar o preo


o o o o o 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 Estrutura Enviada: [ { "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 } ] o Retorno: Done!!!

8.

Como fazer uma consulta de pedidos por status


o o o o o Tecnologia: REST (POST y GET) Mtodo: GET URL: http://oms.vtexcommerce.com.br/api/oms/pvt/orders/?an={Nome-daloja}&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


o o o o 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 pedido

10. Como fazer a troca de status de um pedido


o o o Tecnologia: REST (POST y GET) Mtodo: POST URL: http://oms.vtexcommerce.com.br/api/oms/pvt/orders/{order-id}/starthandling/?an={Nome-da-loja}

11. Como cancelar um pedido


o o o o Tecnologia: REST (POST y GET) Mtodo: POST URL: http://oms.vtexcommerce.com.br/api/oms/pvt/orders/{order-id}/cancel/?an={Nome-daloja} 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


o o Tecnologia: REST (POST y GET) Mtodo: POST URL: http://{Nome-da-loja}.vtexcommercestable.com.br/api/oms/pvt/orders/{orderid}/payments/{payment-id}/payment-notification

13. Como criar uma transportadora e suas janelas de entrega para Entrega Agendada
o o o o o 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 }

10
14. Como cancelar uma janela de entrega para Entrega Agendada
o o o o o 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
o o o o o 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 Estrutura Enviada: 2014-02-24T08:00:00 o Observao: necessrio enviar somente a hora inicial da janela.

16. Como enviar o ShippingNotification para a captura


o o o o o Tecnologia: REST (POST y GET) Mtodo: POST URL: https://oms.vtexcommerce.com.br/api/oms/pvt/orders/{order-id}/shippingnotification?an={Nome-da-loja} Objeto Enviado: JSON Estrutura Enviada: Se h mais de um produto, repetir a parte de itens em bold(negrito) { "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 } ] } o Retorno: { "date": "2013-12-13T20:41:48.8438493+00:00", "orderId": "00-374322110012-01", "receipt": "59d2d4d89ca346938b29d6824a353c09" }

11
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)

12

19. Lista de Ids de forma de pagamento

Id 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 22 23 24 25 26

Nombre American Express Visa Diners Mastercard Discover Boleto Bancrio Aura Hipercard Elo Visa Electron Carto da Loja PayPal Bcash Banricompras Evolucard Vale Promissory Mercado Pago Dbito Online Dbito Ita Dbito Bradesco Dbito Banco do Brasil Dbito Banrisul PagSeguro

13 20. Fluxo de Status