API - Lista de Compras

Documentos relacionados
Desenvolvimento Web II

Aviso. O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.

API DE INTEGRAÇÃO VERSÃO 2. Janeiro/2017. Manual de Integração. Setor de Desenvolvimento

CAU Controle de Acesso Unificado. Manual de Usuário

SIPAC MANUAL DE UTILIZAÇÃO REQUISIÇÃO DE MATERIAL

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Sistema de Gestão de Recursos Humanos

API - Webservices. Grupo Cortez de Lima

MANUAL DE INTEGRAÇÃO. Plataforma Simplus

Manual Sistema de Gerenciamento dos Auxiliares da Justiça

3 Arquitetura do Sistema

Manual de Utilização PrintScout

AUTOLAC VERSÃO FINALIZAÇÃO: 27 JUL PUBLICAÇÃO: 31 JUL. 2017

C A R T I L H A. - Recursos Humanos Cargos

Cadastro e Assinatura no Portal de API. icatuseguros.com.br

Configurar Ingressos

Guia do Fornecedor. Cotação Eletrônica

SIPAC MANUAL DE UTILIZAÇÃO REQUISIÇÃO DE SERVIÇOS/TAXA DE INSCRIÇÃO EM EVENTOS

Configuração do GIGAERP Integrado ao GIGA e-doc.

O que é DDFe? DDF-e é um acrônimo para Distribuidor de Documentos Fiscais Eletrônicos.

Treinamento do Sistema SIGRH Módulo Férias Perfil: Solicitação de agendamento de férias

Especificação de Requisitos

Assina Web S_Line Manual de Uso

Integração Fidelimax. Versão Atual

ANEXO I: Instrução administrativa para realizar cadastramento, navegação e transação consumindo o serviço webservice.

Manual do usuário people

Manual de Integração DOCUMENTAÇÃO TÉCNICA. Especificação para integração via API, Webservices e SMPP.

1. Acessando o SIGPRH

MILLENNIUM NETWORK. Millennium ECO Documentação Técnica 05/2017

solaredx Documentation

Manual de utilização sistema Comtele SMS

Manual de Integração

Centro de Suporte. (Sistema Android) RCAMail Manual de Utilização Página 1

MÓDULO DE CATÁLOGO DE MATERIAIS

Manual Sistema de Gerenciamento dos Auxiliares da Justiça

Guia de Treinamento. SIPAC Módulo Almoxarifado. Requisitante de Material

Giss Offline. Versão 2.0 (12/2011)

Guia para testes AfixInv (Demonstração)

Adsim - Manual Sistema Pi Fácil. ADSIM - Sistemas Integrados de Mídia, Copyright Página 1 de 21

Manual de utilização sistema Comtele SMS

Manual Pedido Eletrônico Orgafarma

SCPO. Sistema de Comunicação Prévia de Obras

Informações importantes

Gerabyte AFV (Automação de Força de Venda) Manual do Aplicativo

SECRETARIA DE EDUCAÇÃO SISTEMA DE GESTÃO E MONITORAMENTO ESCOLAR. iescolar MANUAL DE INSTRUÇÕES MÓDULO PROFESSOR

Administrador Documentos. Gestão de Documentos. Título do documento

Processo Seletivo para Cursos Stricto Sensu

Processo Seletivo para Cursos Stricto Sensu

Financial Control Controle Financeiro. Manual do Usuário

Manual do fornecedor. Cadastro

Para acessar a TV Corporativa, deve-se informar o endereço do Servidor, barra(/) mge,

Agência Municipal de Empregos Manual do Empregador

MANUAL DE INSTRUÇÕES DO SISTEMA DE RESTAURANTE UNIVERSITÁRIO MÓDULO CONTROLE DE ALUNOS

UNIVERSIDADE FEDERAL DA PARAÍBA PRÓ-REITORIA DE EXTENSÃO E ASSUNTOS COMUNITÁRIOS - PRAC COORDENAÇÃO DE PROGRAMAS DE AÇÃO COMUNITÁRIA - COPAC

A Integração se dará com serviços WEB HTTP desenvolvidos e hospedados na PROCERGS, utilizando a arquitetura REST (Representational State Transfer).

Manter Comissão. de Seleção

MANUAL SIPAC ORIENTAÇÕES PARA REQUISIÇÕES DE RP

Configuração do GIGAERP Integrado ao GIGA e-doc.

MANUAL MÓDULO PESSOA FÍSICA

Manual de utilização do Portal Protheus

4.1.3 Busca ampliada na base nacional (CADSUS) Adicionar cidadão do Cadastro da Atenção Básica

Informativo de atualizações NFSe

SISTEMA PATRIMÔNIO WEB

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da Secretaria Municipal de Saúde do Município de São Paulo

PROCEDIMENTO DE EXPORTAÇÃO A PORTAIS IMOBILIÁRIOS

CSI IT Solutions. WebReport2.5. Relatórios abertos. Informações detalhadas dos jobs!

Procedimentos para Instalação do Sisloc Versão

TransactionCentre - Módulo Client Web Pré-Autorização

Como se origina um curso de especialização no SIGAA?

Manual Linx Postos Comanda Mobile

Módulo Extranet. Manual do Usuário. Versão: 1.0 Data alteração: Autor: CY50

MANUAL. Localizador: Página: MN 016 SGI-INFRA- . Informação)

Manual de Utilização

Instruções de Acesso: Eventos Científicos. Departamento de TI da FACTHUS (Atualizado: 22/09/2016)

PORTAL CORPORATIVO. Manual do usuário

Manual de Utilização do PWAP Android

GUIA RÁPIDO. MDIForms. Sintel Informática Ltda. Rua Vergueiro, nº º andar Vila Mariana, São Paulo - SP CEP:

Objetivo: Praticar a aplicação de acesso remoto via protocolo RDP (Remote Desktop) em ambientes Microsoft Windows.

MANUAL VTWEB CLIENT SUBURBANO

Tabelionato de Notas

MANUAL DE USUÁRIO. Versão 1.0 Servidor

MANUAL DE INSTRUÇÕES DO SISTEMA DE RESTAURANTE UNIVERSITÁRIO MÓDULO CONTROLE DE FUNCIONÁRIOS

MANUAL. Localizador: SGI-INFRA-

Especificação de Requisitos e Documento de Projeto

SIPAC MANUAL DE UTILIZAÇÃO PROTOCOLO

Manual de Uso DISCO VIRTUAL MB.045 CÓPIA IMPRESSA CONTROLADA PELO USUÁRIO V01

PORTAL DE SERVIÇOS DA SECRETARIA MUNICIPAL DE EDUCAÇÃO MANUAL DE UTILIZAÇÃO PARA INSCRIÇÕES ONLINE ÍNDICE

Carregar Documentos Fiscais - Fornecedor (Modelo 57) - Conhecimento de Transporte Eletrônico. Última Atualização 11/01/2019


[Document title] Guia de Acesso ao _suporte v1.1

Sistema NetConta I - Guia de Referência

Cotação Web. Compatibilidade. Autenticação

Manual do Usuário. Sistema de Contas Públicas

MANUAL DO SISTEMA ADESÃO AO AUXÍLIO TRANSPORTE INSTRUÇÕES AO SERVIDOR

Manual de Utilização do Sistema de Controle de BM da Priner

Manual Balcão de Negócios para Usuários Administradores. Manual Balcão de Negócios para Usuários Administradores

Sub-rogação de Proponente

Cadastro e Alteração de Categorias

Transcrição:

Editora Inovação EIRELI API - Lista de Compras Guilherme Branco Stracini 2015 L i s t a d e C o m p r a s - A P I

Sumário Sobre... 2 A aplicação... 2 A API... 2 Ambiente de Manutenção... 3 Ambiente de Gerenciamento... 3 Ambiente de Consumo... 3 O projeto... 4 Acesso a API... 4 Acesso ao ambiente de Manutenção... 4 Acesso ao ambiente de Gerenciamento... 4 Acesso ao ambiente de Consumo... 4 Base de dados... 6 Modelagem lógica... 6 Acesso físico... 6 Métodos disponíveis... 7 Ambiente de Manutenção... 7 Verificação de existência de um produto... 7 Obtenção das lojas ativas para determinado produto... 8 Ambiente de Gerenciamento... 10 Pesquisando itens disponíveis por uma determinada loja e termo... 10 Gerenciamento de listas (criação e exclusão)... 11 Adicionando um produto em uma lista... 11 Atualizando um produto na lista... 13 Removendo um produto de uma lista... 13 Ambiente de Consumo... 15 Obtendo uma lista... 15 Diagrama de trafégo de informações entre sistemas... 18 A P I - L i s t a d e C o m p r a s Página 1

Sobre A aplicação A lista de compras é a aplicação responsável por fornecer o cadastro simplificado de listas de produtos, com quantidade sugerida de venda e a loja onde será efetuada a compra dos itens pelo cliente para realização de determinado fim em diversos cenários. Pensando nisso foram levantadas várias hipóteses, como por exemplo: acessar os dados diretamente no Sankhya ou então buscar diretamente nas lojas virtuais os produtos ou criar uma aplicação independente que fizesse esta gestão. As duas primeiras opções foram descartadas pelos seguintes motivos: - Acessar o Sankhya diretamente apresenta sérios riscos tanto para o Sankhya (sobrecarga) como para a própria lista (por o Sankhya estar local, o endereço de acesso pode ser alterado, o sistema pode já estar sobrecarregado devido a outras tarefas,...). - Acessar as lojas diretamente iria necessitar que cada projeto (cliente) que desejasse utilizar a funcionalidade lista de compras, consumisse a API da VTEX de sua maneira para obter os dados dos produtos e efetuar a manutenção dos mesmos. Isso geraria muito retrabalho sem contar que em alguns clientes (no caso das lojas, dos blogs) não seria possível realizar esse acesso sem uma aplicação externa, resultando na criação de qualquer forma da Lista de Compras como aplicação independente. A API A API (Interface de Programação de Aplicações) da Lista de Compras foi desenvolvida pensando na melhor forma de cada cliente (projeto) possuir total controle sobre suas listas, diretamente pela sua aplicação ou por um painel centralizado. Atualmente a API conta com três ambientes, que são responsáveis pela manutenção, gerenciamento e consumo da Lista de Compras. A P I - L i s t a d e C o m p r a s Página 2

Ambiente de Manutenção O ambiente de manutenção é exclusivo de acesso da aplicação Integração Service, e é utilizado para gerir os produtos da Lista de Compras. É neste ambiente que os dados do Sankhya são recebidos e salvos na base da Lista de Compras. Apesar de existir a documentação técnica deste ambiente, ele não deve ser utilizado pelos clientes/projetos. A documentação existe apenas para conhecimento do funcionamento ou no caso de necessidade de alteração por parte da Integração Service. Ambiente de Gerenciamento Neste ambiente, onde cada cliente tem acesso (autenticado), é possível consultar os produtos disponíveis na Lista de Compras, criar/atualizar/remover listas e produtos das listas. Mais a frente, nesta documentação, iremos ver como realizar estes procedimentos neste ambiente. Ambiente de Consumo Neste ambiente, ocorre exclusivamente o consumo das listas, ou seja, é este o ambiente responsável por exibir uma lista que já foi criada e seus produtos. A P I - L i s t a d e C o m p r a s Página 3

O projeto O projeto Lista de Compras foi desenvolvido utilizando C#/MVC Web API/Entity Framework e atualmente está hospedado no servidor Remoto (remoto.editorainovacao.com.br) juntamente com todos os outros projetos da Editora Inovação (Canal do Artesanato, Arte Brasil, VA ao Vivo, VA na TV, Vitrine do Artesanato, Tania Silva). Acesso a API O acesso a API pode ser feito pelo seguinte endereço: Produção - http://api.listadecompras.editorainovacao.com.br/ Homologação http://api.listadecomprastest.editorainovacao.com.br Todos os acessos a API devem ser autenticados, enviando nas requisições um ou dois cabeçalhos personalizados conforme o ambiente/ação a ser utilizado. Acesso ao ambiente de Manutenção O ambiente de manutenção está disponível no seguinte endereço: /Management/ As requisições devem incluir dois cabeçalhos de autenticação, são eles: X-LISTADECOMPRAS-KEY X-LISTADECOMPRAS-TOKEN SOMENTE A KEY SINCRONIZADOR TEM ACESSO AO AMBIENTE DE MANUTENÇÃO Acesso ao ambiente de Gerenciamento O ambiente de gerenciamento está disponível nos seguintes endereços: /List/ e /Product/ As requisições devem incluir dois cabeçalhos de autenticação, são eles: X-LISTADECOMPRAS-KEY X-LISTADECOMPRAS-TOKEN Acesso ao ambiente de Consumo O ambiente de consumo está compartilhado com o ambiente de Gerenciamento, a diferença é que neste ambiente a autenticação é feita de forma diferenciada e apenas um método está disponível. /List/ As requisições devem incluir apenas um cabeçalho, que é o seguinte: A P I - L i s t a d e C o m p r a s Página 4

X-LISTADECOMPRAS-READ-KEY A P I - L i s t a d e C o m p r a s Página 5

Base de dados A base de dados utilizada pela aplicação é uma base SQL Server, hospedada na Locaweb. Modelagem lógica Acesso físico O acesso ao banco de dados, para manutenção, auditoria ou geração de relatórios pode ser feito com os seguintes dados: Endereço do servidor: listadecompras.editorainovacao.com.br Base de dados: ListaDeCompras_Production ListaDeCompras_Homologation Usuário: lc Senha: [solicite ao departamento de TI, juntamente com o motivo do acesso]. A P I - L i s t a d e C o m p r a s Página 6

Métodos disponíveis Ambiente de Manutenção Conforme já mencionado anteriormente, este ambiente deve ser utilizado exclusivamente pela Integração Service para gerir os produtos e suas informações. Verificação de existência de um produto Para verificar se um produto já existe na Lista de Compras, basta efetuar uma requisição HTTP a API via método HEAD para o seguinte endereço: http://api.listadecompras.editorainovacao.com.br/management/product/{código_do_produt o_no_sankhya} Substituindo apenas a parte {Código_do_Produto_no_Sankhya} pelo respectivo código do produto conforme está no Sankhya, do produto que deseja-se saber da existência na Lista de Compras. Respostas da API Como a requisição é feita via método HEAD, apenas os cabeçalhos são enviados como resposta. Neste caso deve-se atentar ao código HTTP da resposta, atualmente são utilizados dois códigos, informando se o produto existe ou não, são eles: 302 Found Produto existe. 404 Not Found Produto não existe. Exemplo de requisição Na imagem acima, foi feita a pesquisa pelo produto de código 1, o que resultou em uma resposta com o código HTTP 404 Não encontrado. A P I - L i s t a d e C o m p r a s Página 7

Na imagem acima é possível ver como a requisição é feita e a resposta por parte do servidor, informando que o produto de código 2 existe na Lista de Compras. Obtenção das lojas ativas para determinado produto Para obter as lojas ativas para um determinado produto, deve ser fazer uma solicitação semelhante da verificação de existência, apenas alterando o método HTTP HEAD para HTTP GET no seguinte endereço: http://api.listadecompras.editorainovacao.com.br/management/product/{código_do_produt o_no_sankhya} Ao efetuar esta solicitação, a API irá retornar com um status HTTP 200 (OK) caso o produto exista, e o corpo da resposta irá conter uma lista de todas as lojas ativas. Caso o produto solicitado não exista, uma resposta HTTP 404 (Not Found) será retornada pela API juntamente com um objeto JSON informando que o produto não existe na Lista de Compras. A P I - L i s t a d e C o m p r a s Página 8

Na imagem acima é possível verificar que foi realizada uma requisição GET ao produto 375. Veja que o código de resposta HTTP é 200 OK e o corpo da resposta é um objeto JSON Em caso de sucesso Em caso de erro A P I - L i s t a d e C o m p r a s Página 9

Ambiente de Gerenciamento Pesquisando itens disponíveis por uma determinada loja e termo É possível utilizar um sistema de sugestões, onde a Lista de Compras irá retornar todos os produtos em determinada loja e que o nome/complemento do produto ou a marca possuam determinado termo. Para isso basta efetuar uma requisição GET para o seguinte endereço: http://api.listadecompras.editorainovacao.com.br/suggest/{código_da_loja}/{termo} Substituindo-se {Código_da_loja} pelo respectivo código da loja que se deseja utilizar (Vide cadastro de lojas no Sankhya [Tela personalizada: LOJAS] para obter o código da loja) e {Termo} pela palavra que está procurando. Ao efetuar esta solicitação, a API irá retornar com o status HTTP 200 (OK) e o corpo da resposta irá conter uma lista de todos os produtos naquela loja, que possuem o termo informado. Caso seja passado um código de loja inválido, o status será 200 (OK) com o corpo em branco, igual ao resultado de quando não se encontra nenhum produto com determinado termo em uma loja válida. Fica a cargo do desenvolvedor que utilizar este recurso verificar se o código da loja é válido ou não. A P I - L i s t a d e C o m p r a s Página 10

Na imagem acima temos uma solicitação de sugestões, para a loja 1 (Vitrine do Artesanato) com o termo DVD. Veja que a resposta foi uma lista com todos os produtos que existem na loja e que no nome, complemento ou marca possuem o termo DVD. Produto sugerido: Gerenciamento de listas (criação e exclusão) A lista de compras é dinâmica, isto é, não é necessário criar uma lista antes de adicionar um item ou remove-la ao excluir todos os produtos dela, isto ocorre de forma automática. Para criar uma lista basta apenas adicionar um item a lista. Ao remover todos os itens da lista, subsequentemente ela passa a não existir mais também. Adicionando um produto em uma lista Para se adicionar um produto em uma lista, basta efetuar uma solicitação HTTP POST para o seguinte endereço: http://api.listadecompras.editorainovacao.com.br/list/{código_da_lista} Onde {Código_da_lista} é um código numérico da lista, determinado pelo cliente. Como a criação da lista é dinâmica, não é necessário efetuar nenhuma verificação de existência da lista. A solicitação deve conter um objeto JSON com três propriedades: ProductID O código do produto StoreID O código da loja (todos os itens de uma lista devem pertencer a uma mesma loja!). Quantity A quantidade que deve ser sugerida para os clientes adicionarem ao carrinho de compras daquele item. A P I - L i s t a d e C o m p r a s Página 11

Na imagem acima, foi feita uma solicitação para se adicionar a lista de código 1 o produto de código 2, da loja 1 com 100 itens. Obs.: O cabeçalho Postman-Token está presente apenas porque a imagem foi capturada usando-se o aplicativo Postman. Não é necessário enviar este cabeçalho e ele não interfere na requisição/resposta! Caso o produto seja adicionado com sucesso na lista, a resposta será um objeto do produto adicionado na lista, conforme ele vai aparecer na lista. Caso o produto não exista ou a lista já tenha produtos de outra loja, será retornada uma mensagem de erro. A P I - L i s t a d e C o m p r a s Página 12

Atualizando um produto na lista Para atualizar um produto na lista, deve-se fazer a mesma requisição que é feita para se adicionar um produto. A atualização apenas permite alterar a quantidade que é sugerida ao usuário. Quando se tem a certeza que o item existe na lista, não é preciso informar o código da loja, porque como não é permitido adicionar produtos de diferentes lojas em uma mesma lista, a Lista de Compras identifica o produto pelo código dele apenas e faz a atualização. É possível remover um produto da lista atualizando a quantidade para 0 (zero), porém é preferível que se faça a remoção do produto pelo método apropriado (será descrito no próximo item). Ao remover o produto desta maneira, como esta solicitação responde com o objeto do produto na lista, irá ocorrer um erro, porque o produto não mais existe na lista dando a falsa impressão de que um erro ocorreu na solicitação apesar de ter sido completada com sucesso. Removendo um produto de uma lista Para remover um produto de uma lista, faça uma solicitação para o mesmo endereço de adição/atualização, porém com o método HTTP DELETE e adicione o código do produto no final da URL. http://api.listadecompras.editorainovacao.com.br/list/{código_da_lista}/{código_do_produt o} Onde {Código_da_Lista} é o código da lista que deseja remover o produto e {Código_do_Produto} o código do produto a ser removido daquela lista. A P I - L i s t a d e C o m p r a s Página 13

Na imagem acima, o produto de código 2 é removido da lista de código 1. Note que a resposta é a própria lista, com os produtos restantes nela. Caso não reste nenhum outro produto na mesma, o item Products será retornado como null. A P I - L i s t a d e C o m p r a s Página 14

Lista que possuía 2 itens (código 2 e 375) após ter o item de código 2 removido, restando apenas o código 375. Ambiente de Consumo Obtendo uma lista O ambiente de consumo é o ambiente que é responsável por exibir a lista. Como mencionando anteriormente, seu acesso é feito com um cabeçalho que permite apenas a leitura das listas (READ-KEY), permitindo assim que a lista seja carregada via Java script (AJAX) sem comprometer a segurança da aplicação. O acesso pode também ser feito utilizando o par de acesso KEY & TOKEN, mas só deve ser feito desta forma se todo o processo for feito serverside, onde o usuário não tem acesso ao TOKEN. Para acessar uma lista basta utilizar o seguinte endereço: http://api.listadecompras.editorainovacao.com.br/list/{código_da_lista} Substituindo {Código_da_Lista} pelo respectivo código da lista, que é de responsabilidade do cliente armazenar e gerir este código. A P I - L i s t a d e C o m p r a s Página 15

Caso a lista exista, será retornado um cabeçalho HTTP 200 (OK) e o corpo da resposta é a lista, com os dados da lista, loja e todos os produtos que nela existem. A P I - L i s t a d e C o m p r a s Página 16

Caso a lista não exista, um código de erro HTTP 404 (Not Found) será retornado. A P I - L i s t a d e C o m p r a s Página 17

Diagrama de trafégo de informações entre sistemas A P I - L i s t a d e C o m p r a s Página 18