Mudanças entre as edições de "Informações de endereço por CEP"
(42 revisões intermediárias por 5 usuários não estão sendo mostradas) | |||
Linha 11: | Linha 11: | ||
| 01/02/2017 || Anderson Gomes || Criação do Documento | | 01/02/2017 || Anderson Gomes || Criação do Documento | ||
|- | |- | ||
− | | | + | | 06/02/2017 || Leonardo Sousa || Solicitação de correção |
+ | |- | ||
+ | | 07/02/2017 || Leonardo Sousa || Análise e Aprovação da Arquitetura | ||
|- | |- | ||
|} | |} | ||
Linha 31: | Linha 33: | ||
| | ''Anderson Gomes'' | | | ''Anderson Gomes'' | ||
| | '''Arquiteto SoftSite:''' | | | '''Arquiteto SoftSite:''' | ||
− | | | '' | + | | | ''Luan Lima'' |
|- | |- | ||
| | '''Aplicação(s):''' | | | '''Aplicação(s):''' | ||
Linha 40: | Linha 42: | ||
==Necessidade== | ==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== | ==Exemplo== | ||
− | ''O vendedor cadastrará um novo cliente, ao digitar o CEP | + | ''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== | ==Solução== | ||
− | ''Ao digitar o CEP | + | ''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 | ||
+ | {| class="wikitable" | ||
+ | ! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT | ||
+ | |- | ||
+ | | CD_EMPRESA || 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 | ||
+ | {| class="wikitable" | ||
+ | ! 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.'' | '' 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== | ==Pré-Requisitos== | ||
− | *''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário.'' | + | *''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== | ==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== | ==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== | ==Protótipos== | ||
Linha 75: | Linha 122: | ||
====Operação==== | ====Operação==== | ||
− | #Pedro escolhe na listagem de clientes o cliente João e clica | + | #Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; |
− | # | + | #Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual(60813670) e clica no botão de pesquisar endereço; |
+ | |||
+ | ====Assertiva==== | ||
+ | #O sistema GeoSales valida se o CEP é válido | ||
+ | #O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado; | ||
+ | #O web service retorna os dados do endereço do CEP escolhido; | ||
+ | #O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes | ||
+ | |||
+ | ===Cenário de Fluxo de Exceção=== | ||
+ | ''CEP inválido'' | ||
+ | |||
+ | ====Dados==== | ||
+ | #Cliente: João | ||
+ | #Usuário: Pedro | ||
+ | |||
+ | ====Operação==== | ||
+ | #Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; | ||
+ | #Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (00000) e clica no botão de pesquisar endereço; | ||
+ | |||
+ | ====Assertiva==== | ||
+ | #O sistema GeoSales valida se o CEP é válido | ||
+ | #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==== | ||
+ | #Cliente: João | ||
+ | #Usuário: Pedro | ||
+ | |||
+ | ====Operação==== | ||
+ | #Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; | ||
+ | #Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (99999000) e clica no botão de pesquisar endereço; | ||
+ | |||
+ | ====Assertiva==== | ||
+ | #O sistema GeoSales valida se o CEP é válido; | ||
+ | #O sistema GeoSales faz uma consulta pelo CEP informado; | ||
+ | #O serviço retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {"erro": "true"}; | ||
+ | #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==== | ||
+ | #Cliente: João | ||
+ | #Usuário: Pedro | ||
+ | |||
+ | ====Operação==== | ||
+ | #Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; | ||
+ | #Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (60813670) e clica no botão de pesquisar endereço; | ||
====Assertiva==== | ====Assertiva==== | ||
− | + | #O sistema GeoSales valida se o CEP é válido; | |
+ | #O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado; | ||
+ | #O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 | ||
+ | #O sistema GeoSales manda a mensagem que o serviço está indisponível no momento; | ||
===Cenário de Fluxo de Exceção=== | ===Cenário de Fluxo de Exceção=== | ||
− | '' | + | ''Limite de requisições alcançado'' |
====Dados==== | ====Dados==== | ||
− | + | #Cliente: João | |
+ | #Usuário: Pedro | ||
====Operação==== | ====Operação==== | ||
− | + | #Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; | |
+ | #Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (60813670) e clica no botão de pesquisar endereço; | ||
====Assertiva==== | ====Assertiva==== | ||
− | + | #O sistema GeoSales valida se o CEP é válido; | |
+ | #O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado; | ||
+ | #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. | ||
+ | #O sistema GeoSales manda a mensagem que o limite de requisições foi alcançado; | ||
==Aprovação== | ==Aprovação== |
Edição atual tal como às 13h15min de 7 de fevereiro de 2017
![]() |
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 |
07/02/2017 | Leonardo Sousa | 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: | Luan Lima |
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_EMPRESA | 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
- Cliente: João
- Usuário: Pedro
Operação
- Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
- Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual(60813670) e clica no botão de pesquisar endereço;
Assertiva
- O sistema GeoSales valida se o CEP é válido
- O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
- O web service retorna os dados do endereço do CEP escolhido;
- O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes
Cenário de Fluxo de Exceção
CEP inválido
Dados
- Cliente: João
- Usuário: Pedro
Operação
- Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
- Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (00000) e clica no botão de pesquisar endereço;
Assertiva
- O sistema GeoSales valida se o CEP é válido
- 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
- Cliente: João
- Usuário: Pedro
Operação
- Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
- Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (99999000) e clica no botão de pesquisar endereço;
Assertiva
- O sistema GeoSales valida se o CEP é válido;
- O sistema GeoSales faz uma consulta pelo CEP informado;
- O serviço retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {"erro": "true"};
- 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
- Cliente: João
- Usuário: Pedro
Operação
- Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
- Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (60813670) e clica no botão de pesquisar endereço;
Assertiva
- O sistema GeoSales valida se o CEP é válido;
- O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
- O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404
- 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
- Cliente: João
- Usuário: Pedro
Operação
- Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
- Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (60813670) e clica no botão de pesquisar endereço;
Assertiva
- O sistema GeoSales valida se o CEP é válido;
- O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
- 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.
- 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 | 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 |