Informações de endereço por CEP

De GeoSales
Revisão de 13h04min de 7 de fevereiro de 2017 por Leonardo (discussão | contribs) (→‎Assertiva)
Ir para navegação Ir para pesquisar
Logo geosales.png

Histórico de Revisões

Data Revisor Comentário
01/02/2017 Anderson Gomes Criação do Documento
06/02/2017 Leonardo Sousa Solicitação de correção
dd/mm/aaaa Análise e Aprovação da Arquitetura

Informações Gerais

Cliente: Rio Mix Projeto: Rio Mix
Gerente/Sponsor: Dolavale Gerente SoftSite: Liliana Carrha
Analista SoftSite: Anderson Gomes Arquiteto SoftSite: Jefferson Quesado
Aplicação(s): Mobile-GS

Necessidade

Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.

Exemplo

O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.

Solução

Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.

As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.

Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações.

Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.

Criação de Estruturas de Banco

Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.

  • ENDERECO
NOME DO CAMPO TIPO ANULÁVEL CHAVE AUTO INCREMENT
CD_ENDERECO INT NOT NULL TRUE TRUE
CEP VARCHAR(8) NOT NULL FALSE FALSE
ESTADO VARCHAR(2) NULL FALSE FALSE
CIDADE VARCHAR(50) NULL FALSE FALSE
DS_ENDERECO VARCHAR(70) NULL FALSE FALSE
BAIRRO VARCHAR(40) NULL FALSE FALSE
DT_VALIDADE DATETIME NULL FALSE FALSE
  • EMPRESA_UTILIZACAO
NOME DO CAMPO TIPO ANULÁVEL CHAVE AUTO INCREMENT
CD_EMPRESA_UTILIZACAO INT NOT NULL TRUE TRUE
NM_EMPRESA VARCHAR(55) NOT NULL FALSE FALSE
COMPETENCIA VARCHAR(7) NULL FALSE FALSE
CONTADOR INT NULL FALSE FALSE

A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.

Pré-Requisitos

  • Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.

Regras de Negócios

  • Para a validação do CEP as seguintes regras devem ser analisadas
    • O CEP deve ter 8 caracteres
    • O CEP deve conter somente números

Regras de Exceções

  • O Web Service retornará o JSON {"erro": "true"} quando um CEP analisado não foi encontrado na análise;
  • Para o erro de limite de requisições será retornado o erro 403;

Protótipos

Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)

Cenários

Inclua os cenários deseja atingir, a começar pelo caminho feliz.

Cenário Happy Day

Usuário edita o endereço de um cliente já cadastrado

Dados

  1. Cliente: João
  2. Usuário: Pedro

Operação

  1. Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
  2. Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual(60813670) e clica no botão de pesquisar endereço;

Assertiva

  1. O sistema GeoSales valida se o CEP é válido
  2. O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
  3. O web service retorna os dados do endereço do CEP escolhido;
  4. O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes

Cenário de Fluxo de Exceção

CEP inválido

Dados

  1. Cliente: João
  2. Usuário: Pedro

Operação

  1. Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
  2. Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (00000) e clica no botão de pesquisar endereço;

Assertiva

  1. O sistema GeoSales valida se o CEP é válido
  2. O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;

Cenário de Fluxo de Exceção

CEP não existente na base de dados

Dados

  1. Cliente: João
  2. Usuário: Pedro

Operação

  1. Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
  2. Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (99999000) e clica no botão de pesquisar endereço;

Assertiva

  1. O sistema GeoSales valida se o CEP é válido;
  2. O sistema GeoSales faz uma consulta no serviço dos correios pelos dados do CEP informado;
  3. O serviço dos correios retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {"erro": "true"};
  4. O sistema GeoSales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;

Cenário de Fluxo de Exceção

Serviço de consulta de informações não está funcionando

Dados

  1. Cliente: João
  2. Usuário: Pedro

Operação

  1. Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
  2. Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (60813670) e clica no botão de pesquisar endereço;

Assertiva

  1. O sistema GeoSales valida se o CEP é válido;
  2. O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
  3. O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404
  4. O sistema GeoSales manda a mensagem que o serviço está indisponível no momento;

Cenário de Fluxo de Exceção

Limite de requisições alcançado

Dados

  1. Cliente: João
  2. Usuário: Pedro

Operação

  1. Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
  2. Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (60813670) e clica no botão de pesquisar endereço;

Assertiva

  1. O sistema GeoSales valida se o CEP é válido;
  2. O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
  3. O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.
  4. O sistema GeoSales manda a mensagem que o limite de requisições foi alcançado;

Aprovação

Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado.

Setor Aprovado Por E-Mail Data Assinatura
Tecnologia da Informação Nome do Aprovador Email do Aprovador Data da Aprovação Assinatura do Aprovador
Comercial Nome do Aprovador Email do Aprovador Data da Aprovação Assinatura do Aprovador