A Nuvem Cívica permite que você obtenha dados abertos de bases públicas de saúde e educação, assim como disponibiliza um sistema de armazenamento de dados estruturado para sua aplicação. Vamos explicar passo a passo nesse tutorial os procedimentos iniciais para utilização da API.
Antes de começar, você precisará se cadastrar no Portal do Desenvolvedor da Nuvem Cívica e registrar sua aplicação.
- Acesse o Portal do Desenvolvedor, e clique na opção Cadastrar.
- Preencha todos os dados corretamente e confirme os termos de compromisso.
- Após o cadastro, acesse a aba Aplicativos no canto superior esquerdo da tela.
- Clique em Novo Aplicativo e insira o nome e descrição de sua aplicação, e clique em Cadastrar.
Você receberá o código identificador do seu aplicativo. Lembre-se desse número! Ele será necessário em algumas operações da API.
Após esses passos, você já está cadastrado na Nuvem Cívica! Agora, é possível executar operações na API que necessitam de autenticação.
- Cadastrando aplicativo "NovoAplicativo"
"Aplicativo cadastrado com sucesso com sucesso. O código do aplicativo é o "448". Esse será o código que você irá usar como parâmetro nos endpoints da plataforma."
Já podemos fazer nossa primeira requisição! Ao executar a seguinte chamada:
http://mobile-aceite.tcu.gov.br/appCivicoRS/rest/aplicativos/448
Podemos obter as informações básicas referentes ao aplicativo cadastrado, com o seguinte retorno:
{
"cod": 448,
"nome": "NovoAplicativo",
"descricao": "Novo aplicativo teste",
"links": [
{
"rel": "self",
"href": "http:\/\/mobile-aceite.tcu.gov.br\/appCivicoRS\/rest\/aplicativos\/448"
},
{
"rel": "responsavel",
"href": "http:\/\/mobile-aceite.tcu.gov.br\/appCivicoRS\/rest\/pessoas\/2"
}
]
}
Sua aplicação provavelmente precisa saber a identidade de um usuário, para que seja possível salvar seus dados de maneira segura e fornecer acesso aos dados em todos os dispositivos desse usuário.
O sistema de autenticação da Nuvem Cívica fornece serviços de backend prontos para serem utilizados pela sua aplicação, com suporte a cadastro, atualização de dados, recuperação de senha e autenticação segura.
Como fizemos o cadastro no Portal do Desenvolvedor nas etapas anteriores, já é possível se autenticar na Nuvem Cívica utilizando as credenciais fornecidos no momento do cadastro.
Essa autenticação retorna um token de acesso em seu cabeçalho, que é necessário em várias operações da API. A URL da requisição de autenticação é a seguinte:
GET
http://mobile-aceite.tcu.gov.br/appCivicoRS/rest/pessoas/autenticar
(Ver documentação)
As credenciais devem ser enviadas via header, para evitar chamadas textuais que contenham senha sejam expostas.
É obrigatório especificar o email do usuário, e é possível escolher entre senha ou token de rede social para a autenticação (dependendo do tipo de cadastro executado).
Para autenticar um usuário teste de credenciais:
- Email: teste23@tcu.gov.br
- Senha: "teste"
Deve ser executada a seguinte chamada, informando as credenciais via header:
curl -i -H "email:teste23@tcu.gov.br" -H "senha:teste" -X GET http://mobile-aceite.tcu.gov.br:80/appCivicoRS/rest/pessoas/autenticar
Obs: Exemplo utilizando o comando
curl
disponível via terminal. O framework de requisição HTTP deve ser escolhido de acordo com a plataforma/linguagem da sua aplicação.
O comando acima retorna o seguinte resultado no corpo da resposta:
{
"nomeUsuario": "Teste23",
"cod": 4317,
"email": "teste23@tcu.gov.br",
"emailVerificado": false,
"links": [
{
"rel": "self",
"href": "http:\/\/mobile-aceite.tcu.gov.br\/appCivicoRS\/rest\/pessoas\/4317"
}
]
}
E no seu header:
Date: Thu, 18 May 2017 18:08:27 GMT
Server: Apache-Coyote/1.1
Access-Control-Allow-Headers: Content-Type
Access-Control-Allow-Headers: email, senha, senhaAtual, novaSenha, credencial
Access-Control-Allow-Headers: appToken, appIdentifier, facebookToken, googleToke
Access-Control-Expose-Headers: appToken, Location
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
Access-Control-Allow-Origin: *
appToken: v1_6E8EACCC6B06AC2D08829E2B6917397FC24E0C4CD33E01CC2B90DE16F25EF98288F43E80FADF857C52EDE57AE7633A1A8356D36DD88F89C2AF0D9D846C1F843B099FACA8C6E398DD6B49F28AA4EC8BF80258CB5C2B02AA45B4B07043091B365D9D33747C06C14B7C50FCEE0DAA573D
Content-Type: application/json;charset=UTF-8
O campo "appToken" informa o token de acesso do usuário autenticado. Na documentação, ao se referir a esse campo, o mesmo termo será utilizado.
Com sua aplicação registrada na Nuvem Cívica e os conhecimentos básicos de autenticação, você já pode implementar o cadastro de usuários no seu programa e desfrutar dos serviços disponibilizados pelo TCU.
Além de um email e senha (parâmetros obrigatórios), é possível informar outros parâmetros informativos no momento do cadastro como sexo, localização, tokens de redes sociais e outros.
Para uma referência completa da documentação do endpoint de cadastro de usuário, clique aqui.
Se você percebeu algum problema em um dos webservices do metamodelo ou no Portal do Desenvolvedor, por favor verifique na sessão de issues se há algo à respeito. Se não houver, registre seu problema para que possamos verificar e dar um retorno assim que possível.
Você poderá colaborar com a documentação editando os arquivos e fazendo pull request para que possamos melhorar cada vez mais a plataforma. A sua colaboração é muito importante, pois ajuda na melhoria do da plataforma.
Se tiver alguma sugestão de melhoria nos serviços, dê seu feedback através do e-mail appcivico@tcu.gov.br.
Para desenvolvedores iOS existe uma framework com métodos de conveniência para acesso aos endpoints do metamodelo. O framework não está completo, porém você pode colaborar no desenvolvimento e na melhora do mesmo. Clique aqui para acessar o repositório do APCSDK.