Começar aqui
A API Store da PDEX representa o Directório de API's que expõem um conjunto de dados do Governo de Cabo Verde. Ele fornece uma GUI estruturada, projetada para que os consumidores e parceiros da API se registrem para encontrar, explorar, assinar e avaliar os recursos disponíveis.
A loja de APIs PDEX pode-se dizer que é o local onde a colaboração e a interação entre possíveis consumidores da API e provedores de API acontecem. Com seus canais de assinatura e colaboração sob demanda, de autoatendimento, o Gestor de APIs reduz significativamente o tempo e o esforço normalmente necessários ao avaliar recursos de API autenticados, seguros, protegidos e de nível empresarial.
Loja de APIs
O store é a loja de APIs. Disponibiliza uma interface web que permite aos publicadores hospedarem e publicitarem os seus APIs, assim como, permite aos consumidores registarem, descobrirem, testarem e subscreverem a APIs.
A loja de APIs encontra-se disponível no seguinte endereço https://api-pdex.gov.cv/store/
.
Subscrever a um API
Você se inscreve em uma API publicada antes de utiliza-la-la em suas aplicações. A inscrição permite que você receba tokens de acesso e seja autenticado para invocar a API.
Para entrar na loja, clique aqui.
Exemplo de API PesquisaBI.
Obs: A camada de limitação permite limitar o número de acessos a uma API durante um determinado período de tempo, normalmente em casos como os seguintes:
-
Clique em uma API (por exemplo, PesquisaBI 1.0.0) para abri-lo.
-
Observe as opções de assinatura para a API REST.
-
Clique no menu Aplicativos e clique em Adicionar aplicativo para criar um novo aplicativo.
-
Digite o nome como Teste e selecione a quota por token, exemplo 50PerMin para o aplicativo e clique em Adicionar.
-
Clique em APIs e clique na API Pesquisa_NIF para visualizar as opções de assinatura da API.
-
Selecione o aplicativo que você acabou de criar, uma camada e clique em Inscrever.
- Para proteger suas APIs de tipos comuns de ataques de segurança, como negação de serviço (DOS)
- Para regular o tráfego de acordo com a disponibilidade da infraestrutura
- Para tornar uma API, aplicativo ou recurso disponível para um consumidor em diferentes níveis de serviço, geralmente para fins de monetização
O API Manager vem com três camadas padrão como ouro, prata e bronze. Cada camada define um número máximo de solicitações por minuto.
- Bronze permite 1 pedido para a API por minuto
- Prata: permite 5 solicitações para a API por minuto
- Ouro: permite 20 solicitações para a API por minuto
Além disso, há também uma camada especial chamada Unlimited, que permite acesso ilimitado.
-
Clique no botão View Subscriptions quando solicitado.
-
Clique na guia Chaves de produção
-
Clique em Gerar Chaves para criar um token de acesso ao aplicativo. Você pode usar esse token para invocar todas as APIs que você assina usando o mesmo aplicativo. Os utilizadores precisam de tokens de acesso para chamar APIs inscritas em um aplicativo. Os tokens de acesso são passados no cabeçalho HTTP quando invocam APIs. O Gerenciador de API fornece uma API de token que você pode usar para gerar e renovar tokens de acesso a usuários e aplicativos. A resposta da API do Token é uma mensagem JSON. Você extrai o token do JSON e passa-o com um cabeçalho de autorização HTTP para acessar a API. Os tokens de acesso do usuário têm um tempo de expiração fixo, que é definido como 60 minutos por padrão.
-
Instale o cURL, se ainda não estiver instalado.
Obs: O cURL vem por padrão em alguns sistemas operacionais. Você também pode usar um cliente REST.
a) Abra a linha de comando e execute o seguinte comando cURL:
curl -k -H "Authorization: Bearer <access_token>" -v
'<api_url>'
- Da mesma forma, invoque o método POST usando o seguinte comando cURL:
Curl -k -H "Authorization :Bearer<access token>" –data
"PhoneNumber=<phone_number>&
LicenseKey=<license_key>"<api_url>
- Para cancelar a assinatura de uma API , clique no menu Aplicativos e clique em Visualizar ao lado do aplicativo usado para a assinatura. Vá para a guia Assinaturas, localize a API e clique no link cancelar inscrição associado a ela.
Obs: Se você cancelar a inscrição em uma API e, em seguida, assinar novamente com uma camada diferente, levará aproximadamente 15 minutos para que a alteração da camada seja refletida. Isso ocorre porque o nível mais antigo permanece no cache até ser atualizado periodicamente pelo sistema.
Chamar um API usando o Console de API integrado
O Gestor de APIs possui uma interface Swagger integrada, que faz parte do projeto Swagger. O Swagger é uma especificação 100% aberta, padrão, independente de linguagem e uma estrutura completa para descrever, produzir, consumir e visualizar APIs REST, sem a necessidade de um proxy ou serviços de terceiros. O Swagger permite que os consumidores entendam os recursos de um serviço remoto sem acessar seu código-fonte e interajam com o serviço com uma quantidade mínima de lógica de implementação. O Swagger ajuda a descrever um serviço da mesma forma que as interfaces descrevem o código de programação de nível inferior. A interface do usuário do Swagger é uma coleção livre de dependência de HTML, JavaScript e CSS que gera dinamicamente a documentação de uma API compatível com Swagger. As APIs compatíveis com Swagger oferecem documentação interativa, geração de SDK do cliente e mais capacidade de descoberta. A UI do Swagger tem código JSON e sua interface facilita o recuo do código, o destaque de palavras-chave e mostra erros de sintaxe rapidamente. Você pode adicionar parâmetros, resumos e descrições de recursos às suas APIs usando a interface do usuário do Swagger.
Utilizamos GEOGRAFIA como exemplo.
- Entre na loja e clique em uma API (por exemplo GEOGRAFIA ).
- Assine a API (por exemplo, GEOGRAFIA 1.0.0) usando o Xpto e uma camada disponível
- No menu Aplicativos, abra o aplicativo padrão usado para assinar a API. Clique na aba Chaves de produção e clique em Gerar chaves para gerar uma chave de produção
- No menu APIs, selecione a API que você deseja invocar. Quando a API abrir, acesse a guia do Console da API. Se você se inscreveu em um aplicativo, o valor do token de acesso recuperado aparecerá automaticamente como o token de portador de autorização.
- Expanda o método POST e clique em Experimente. Forneça os parâmetros necessários e clique em Executar. Por exemplo:
Segurança
O principal objetivo é garantir a operacionalidade do sistema e o acesso a apenas aqueles com as devidas permissões.
Cada entidade (pessoa, organização, software, máquina, ou qualquer um que requisita o acesso a um recurso) deve possuir uma identidade. O processo de autenticação consiste em identificar a identidade e o processo de autorização consiste em identificar as devidas permissões para o acesso a um determinado recurso (serviço). Ambos devem ser aplicados tanto para os clientes internos, como para os externos (comunicação pela internet, fora do perímetro de segurança).
A segurança engloba outros requisitos além da autenticação e autorização. As informações devem estar seguras ao longo do transporte, utilizando o SSL ou TLS, por exemplo. O conteúdo pode ser encriptado para aumentar a proteção (utilização do certificado: chave pública e chave privada).
Auditoria
Todos os componentes fornecem mecanismos para a geração de dados para os processos de auditoria, designados de logs de auditoria. Os logs de auditoria contêm um conjunto de entradas que caracterizam uma sequencia de ações que ocorreram num determinado intervalo de tempo. Por exemplo, permite rastrear todas as ações dum utilizador num determinado intervalo de tempo ou rastrear as ações ocorridas sobre um determinado modulo do sistema.
A sua utilização contribuirá para garantir o bom funcionamento do sistema, sendo útil na identificação de falhas, brechas de segurança e brechas na performance do sistema.
Protocolo
O quadro a seguir apresenta os principais protocolos disponíveis via a plataforma PDEX.
Protocolo |
Designação |
Descrição |
SOAP |
Simple object access protocol |
Protocolo de mensagens que utiliza o XML (Extensible Markup Language) como formato de mensagem e é projetado para ser independente de plataforma e neutro em termos de linguagem. |
REST |
Representational State Transfer |
Oferecer suporte à transmissão de dados em vários formatos, como JSON (mais proeminente), HTML, Python, texto simples e arquivos de mídia. Depende exclusivamente de HTTP/HTTPS para transmissão de dados. As APIs que empregam o protocolo REST são chamadas APIs RESTful. |
GraphQL |
Graph query language |
É uma linguagem de consulta e ambiente de execução voltada a servidores para as interfaces de programação de aplicações (APIs) |
WebSocket |
Bidirectional Communication Protocol |
Protocolo de comunicação bidirecional baseado em TCP (Transmission Control Protocol) que permite uma comunicação em tempo real entre um cliente da web e um servidor web. |