Ir para o conteúdo
Mostrar cesto Esconder cesto
Voltar a SiS - Sistema de Intercambios Solidarios
Tela cheia

SiS - Especificações para Serviços Remotos

3 de Setembro de 2009, 21:00 , por Bruno Bernardo Fonseca - 1Um comentário | Ninguém está seguindo este artigo ainda.
Visualizado 827 vezes

Serviços Remotos para o Sistema de Intercâmbios Solidarius

 

O Sistema de Intercâmbios Solidarius (SiS) têm a interoperabilidade como característica marcante (hoje conhecida como "computação nas nuvens"), assim, ele deverá expor alguns serviços para que outros sites parceiros possam usá-lo.

As necessidades identificadas nesse documento compõe a primeira demanda para criação de serviços remotos (webservices) do Sistema de Intercâmbios Solidarius. Esses webservices serão orientados à Transferência de Estado Representacional (Representational State Transfer) ou somente (REST) que consiste em uma técnica de engenharia de software para sistemas hipermídia distribuídos como a World Wide Web, ver mais em: http://pt.wikipedia.org/wiki/REST

Até o momento, foram identificadas duas necessidades: criar novas contas no SiS através dos sites parceiros e realização de pagamentos das negociações de e-comércio desses sites parceiros. Abaixo segue a descrição de cada funcionalidade identificada.

 

 

Funcionalidade 1: Criar novas contas

O usuário de um sistema parceiro pode solicitar a criação de uma conta SIS. Para isso, ela preencherá o formulário de interesse no sistema de origem. Os atributos a serem passados ao SIS pelo sistema parceiro são os seguintes:

1. número do documento de identidade nacional
2. país do documento
3. sistema de origem
4. id de origem
5. email
6. nome
7. sobrenomes
8. idioma preferencial
9. local geográfico do usuário

O SIS verificará então o documento de identidade, se há documento igual ou nome muito parecido. Isso gerará uma solicitação de criação de conta para o gestor do fundo escolhido, com o nome do usuário interessado.

Analisando essa solicitação, o gestor poderá ver se há problemas de nomes parecidos ou documentos parecidos, e poderá também ser verificados se as contas parecidas estão encerradas ou bloqueadas. Se ele considerar aprovado o usuário, ele pode clicar em "criar conta". Ao clicar para criar a conta, o SIS enviará um e-mail ao usuário informando da criação, e dando o número da conta e senha e outras orientações. Se o gestor criar em "recusar pedido", poderá dizer as razões, e isso será enviado ao usuário, que poderá buscar se explicar melhor numa nova tentativa ou em contato direto com o gestor.

Quando o gestor aprova a criação da conta do usuário, esta conta é criada como "não validada", e esse status é mostrado para todos os outros usuários do sistema. Conta não validada não pode retirar dinheiro do fundo (não pode apresentar Projetos ao Fundo), mas pode fazer operações de transferência e pagamento entre contas SIS sem problemas e nenhuma restrição.

A validação das informações do usuário pelo gestor serão realizadas através de métodos externos a serem definidos pelos fundos nacionais, tais como conferência de extrato identificado em conta bancária no ato da doação, ou doação identificada pelo paypal, ou envio de comprovante pelos correios, etc. A atual proposta não contempla nenhuma automatização deste tipo, apenas dá ao a possibilidade do gestor, posteriormente à sua criação, validar uma determinada conta SIS. Futuramente poderemos pensar em desenvolver algum método automático, mas isso depende de amadurecer os debates e também das características de cada país e fundo nacional.

É importante a definição do esquema de segurança utilizada pelo SiS para autenticar os sites parceiros e assim, fazer com que o SIS possa ir "aprendendo" a associar IDs externos de sistemas parceiros a uma mesma conta, à medida que o usuário vai se conectando a partir de diferentes sistemas de origem. Mas isso não muda as informações do usuário da conta que estão no banco de dados do SIS. Somente o gestor do fundo pode fazer alterações nos dados de: nome, email, documento e pais de um determinado usuário. Os usuários somente poderão mudar: idioma preferencial e sistema de origem. Portanto, será necessário criar uma forma dos usuários e gestor poderem fazer estas alterações nas informações do perfil.

 

 

Funcionalidade 2: Bloqueio de contas

O Gestor pode BLOQUEAR uma conta em dois níveis: "bloqueio parcial" e "bloqueio total".

O gestor de um fundo deve poder listar as contas que fazem parte de seu fundo, e do lado poder "ticar" no "bloqueado" de qualquer conta. Ao fazer isso, o usuário da conta deve receber um e-mail de notificação de que sua conta está bloqueada parcialmente ou totalmente. Deve haver duas opções para o gestor ticar: o "parcial" e o "total".

Caso a conta do usuário esteja bloqueada totalmente, ela não pode mais nem fazer login na conta. Se ela fizer login, deve aparecer uma mensagem como por exemplo: "Não foi possível logar na conta, pois sua conta está bloqueada. Favor entrar em contato com o gestor do fundo {fulano-de-tal} de e-mail {e-mail-de-tal} e telefone {telefone-de-tal} para averiguar o que pode ser feito."

Caso a conta do usuário esteja bloqueada parcialmente, ele pode fazer login e executar normalmente funções de transferência e de pagamento.

Tanto no caso de estar bloqueado parcialmente como totalmente, a conta não pode receber créditos de outros usuários, apenas do gestor do fundo (para o caso do usuário fazer uma doação para o fundo buscando ter créditos para resolver sua situação).

 

 

Funcionalidade 3: Encerramento de conta

O usuário tem a opção de clicar em "solicitar encerramento da conta SIS". Se o saldo for maior que zero, o SIS deve mandar uma mensagem dizendo que não dá para solicitar se a pessoa tem saldo. Se o saldo for zero, o SIS cria uma SOLICITAÇÃO ao gestor do fundo da conta do usuário.

O gestor pode então averiguar se realmente o usuário quer encerrar a conta telefonando ou mandando e-mail.

No SIS, nas solicitações, estará lá a conta do usuário com a solicitação de encerramento. O gestor pode então aprovar ou recusar a solicitação de encerramento. Em qualquer um dos casos, deve ser enviada uma mensagem pelo SIS ao usuário da conta avisando se a conta foi encerrada com sucesso ou se o pedido foi recusado.

A conta encerrada fica no SIS com status "encerrada", para poder ser sempre verificada no caso de criação de novas contas, para que o gestor possa saber se eventualmente alguém que já encerrou uma conta quer criar uma nova.

 

 

Funcionalidade 4: Efetuar os pagamentos das compras realizadas através do e-comercio do site parceiro

O sistema parceiro envia as seguintes informações:
1. sistema de origem;
2. conta SIS que vai sofrer débito;
3. SENHA desta conta SIS que vai sofrer débito;
4. id do usuário no sistema de origem;
5. conta SIS que vai sofrer crédito;
6. valor (em créditos solidários);
7. motivo (o sistema parceiro gera este campo a partir do pedido da compra - lista os produtos e tal);
8. request_id fornecido pelo SiS no momento de autenticação do site parceiro;
9. efetivar: booleana (falsa/verdadeira);

O SIS verifica o que recebeu e dá uma dentre 4 respostas possíveis:
1) OK;
2) Saldo insifuciente da conta de origem;
3) conta origem inexistente ou bloqueada totalmente;
4) conta destino inexistente ou bloqueada (total ou parcialmente);
5) Senha errada da conta de origem;
6) Id de usuário no sistema parceiro não bate com a conta de origem informada

No caso do OK (caso 1), o SIS devolve informações diferentes dependendo da informação "efetivar" enviada pelo sistema parceiro:

i) Se o "efetivar" for falso, o SIS apenas retorna as seguintes informações ao sistema parceiro:
A) Nome do usuário e número da conta de débito
B) Nome do usuário e número da conta de crédito
C) Valor da transação

Isto será útil para o sistema parceiro poder fazer a tela de "confirmar" antes de processar a transação.

ii) Se o "efetivar" for verdadeiro, o SIS EFETIVA a transação, e retorna as seguintes informações:
A) o saldo atualizado da conta que fez o pagamento;
B) o saldo atualizado da conta que recebeu o pagamento;
C) valor da transação;
D) o número do documento da transação efetuada

Além disso, o SIS enviará para os dois usuários das duas contas uma mensagem de e-mail falando da operação realizada:

* "Você acabou de receber um pagamento XXX de XX,00 CS para o seguinte motivo............";

* "Você acabou de efetuar um pagamento de XX,00 Cs para o seguinte motivo..........".


Tags deste artigo: sis_rest

1Um comentário

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.

Cancelar

Soluções TIC

- -