NAV Navbar
xml json url

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.

Glassário

access token The credentials that the PayPal authorization server issues to a client in exchange for OAuth client ID and secret and that authorize the client to make a REST API requests.

API request The combination of an HTTP method, a URL to the API service, a URI to the resource, optional query parameters for filtering and pagination, HTTP request headers including the Authorization header with the access token, and, if required, a JSON-formatted request body.

API version The API version, which you append to the endpoint. For example, the version in this endpoint is v1:

API version The API version, which you append to the endpoint. For example, the version in this endpoint is v1:

authorization When you create an app, PayPal generates a set of OAuth client ID and secret credentials for your app for both the sandbox and live environments. In exchange for these credentials, the PayPal authorization server issues an access token that you use for authorization when you make REST API requests.

bearer token A type of access token that lets you complete an action on behalf of a resource owner.

cURL A command-line tool that lets you send HTTP requests and receive responses.

endpoint É o URL pela qual consegues aceder a uma API. Por exemplo:> https://api.paypal.com/

Internet date and time format The ISO 8601-compliant format that API requests and responses use for date and time values.

namespace A logical grouping of application, data, and its metadata. For example: https://api.paypal.com/v1/payments/

path A predefined configuration of PayPal for Partners features and functions that determine how sellers are onboarded and whether shopping carts can include goods from more than one seller.

query parameter A type of parameter that you include on the request URI to filter and sort the items that are returned in an API response and limit the size of the data returned in that response.

resource A named thing in a namespace, such as a payment transaction, against which you call REST methods.

For example: https://api.paypal.com/v1/payments/payment/ https://api.paypal.com/v1/payments/payment/payment_id

webhook An HTTP callback that receives notification messages for an event.

API Application Programming Interface

EAI Enterprise Aplication Integration

ESB Enterprise Service Bus

GNU General Public License

JSON JavaScript Object Notation

NIF Número de Identificação Fiscal

SOA Service Oriented Architecture

SOAP Simple Object Access Protocol

Arquitetura

A plataforma PDEX é composta essencialmente pelos componentes ESB e Gestor de API. Cada um desses componentes estão associados a um componente analítico, para a gestão de dados estatísticos e monitorização. Essa plataforma será integrada com a plataforma de gestão de identidade e controlo de acesso.

A figura a seguir ilustra a interconexão dos componentes, identificando o ciclo de vida, desde a criação dum serviço, até o seu consumo por uma aplicação externa. A título de exemplo, foi utilizado o serviço CheckID, que permite validar um identificador dum cidadão. Arquitetura

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:

  1. Clique em uma API (por exemplo, PesquisaBI 1.0.0) para abri-lo. Pdex

  2. Observe as opções de assinatura para a API REST. Pdex

  3. Clique no menu Aplicativos e clique em Adicionar aplicativo para criar um novo aplicativo. Pdex

  4. Digite o nome como Teste e selecione a quota por token, exemplo 50PerMin para o aplicativo e clique em Adicionar. Pdex

  5. Clique em APIs e clique na API Pesquisa_NIF para visualizar as opções de assinatura da API.

  6. Selecione o aplicativo que você acabou de criar, uma camada e clique em Inscrever. Pdex

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.

Além disso, há também uma camada especial chamada Unlimited, que permite acesso ilimitado.

  1. Clique no botão View Subscriptions quando solicitado.

  2. Clique na guia Chaves de produção Pdex

  3. 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.

  4. 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>'

  1. 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>

  1. 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.

Store

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.

  1. Entre na loja e clique em uma API (por exemplo GEOGRAFIA ).
  2. Assine a API (por exemplo, GEOGRAFIA 1.0.0) usando o Xpto e uma camada disponível pdex
  3. 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 pdex
  4. 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. pdex
  5. Expanda o método POST e clique em Experimente. Forneça os parâmetros necessários e clique em Executar. Por exemplo: pdex

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.

Componentes

A visão dos componentes identifica os principais componentes que compõe a arquitetura e as suas relações, como mostra a Figura abaixo. Componentes

APIs, garantindo todos os mecanismos de controlo, regulamentação e segurança. Fornece funcionalidades para criar, publicar, gerir o ciclo de vida, controlar versão, monetizar, governar e garantir a segurança dos APIs. Esses APIs podem ser consumidos internamente ou por parceiros externos nas suas soluções.

O gestor de API é composto pelos componentes Publisher, Store, Gateway, Key Manager e Traffic Manager. No ambiente de testes todos esses componentes são instalados num único pacote, porém, no ambiente de produção são instalados num ambiente distribuído. No ambiente distribuído cada instância é instalada num servidor separado.

criadores de APIs funcionalidades para:

As funcionalidades desse componente podem ser acedidas utilizando o endereço: https://<HostName>:9443/publisher.

Gateway é um componente backend desenvolvido utilizando o WSO2 ESB, cuja principal função é segurar, proteger, gerir e escalar chamadas a APIs. Para cada chamada, após a validação das políticas, o Gateway passa-a para o backend correspondente. Se a chamada de serviço for uma requisição de token, o Gateway passa-a para o Key Manager. Para evitar que o Gateway conecte com o Key Manager para cada chamada recebida, pode ser ativada a utilização do cache.

Também gere as estatísticas dos APIs.

As funcionalidades desse componente podem ser acedidas utilizando o endereçohttps://<HostName>:9443/carbon.

Comunidade

FAQ's

Encontre aqui respostas para alguma das questões mais frequentes que possam surgir relativamente ao PDEX e aos APIs disponibilizados na Store.

Porqê usar os API's Publicados na PDEX API Store ?

Brevemente disponível...

Como começar a usar as API's do PDEX?

Brevemente disponível...

Para quais plataformas Clientes as API's da PDEX geram SDKs?

Brevemente disponível...

Em que regioes as API's da PDEX estão disponíveis?

Brevemente disponível...

O que é um Tier?

Brevemente disponível...

Preciso me Subscrever?

Brevemente disponível...

Que tipo de dados posso obver via API?

Brevemente disponível...

Qual o Formato de dados?

Brevemente disponível...

Posso requisitar um pacote superior?

Brevemente disponível...

Qual o custo?

Brevemente disponível...

Como posso disponibilizar os meus dados como API na store PDEX?

Brevemente disponível...

Preciso de uma API que não se encontra publicada na Store. Como posso solicitar?

Brevemente disponível...

Como posso obter suporte no consumo das API's publicadas na Store?

Brevemente disponível...

Melhores Práticas

Brevemente disponível...

Brevemente disponível...