Chamada das APIs
Você pode chamar APIs abertas por outras pessoas no APIG.
Diretrizes de uso
- Uma API pode ser acessada 1.000 vezes usando o nome de domínio de depuração alocado quando o grupo da API é criado.
- Se o parâmetro CA for exibido na caixa de diálogo Create SSL Certificate na página API Management > API Policies > SSL Certificates do console do APIG, preste atenção às seguintes restrições ao chamar APIs:
- Ao chamar uma API com HTTP/1.0, não use Transfer-Encoding no cabeçalho da solicitação.
- Não use o método CONNECT.
- Não use Content-Length e Transfer-Encoding no cabeçalho da solicitação.
- Não use espaços ou caracteres de controle na linha de solicitação.
- Não use espaços ou caracteres de controle no nome do cabeçalho.
- Não use espaços ou caracteres de controle no cabeçalho da solicitação Host.
- Não use vários parâmetros Host no cabeçalho da solicitação.
Pré-requisitos
Antes de chamar uma API, certifique-se de que a rede do seu sistema de serviço possa se comunicar com o nome de domínio ou endereço de acesso à API.
- Se o sistema de serviço e o gateway estiverem na mesma VPC, a API poderá ser acessada diretamente.
- Se o sistema de serviço e o gateway estiverem em VPCs diferentes de uma região, conecte-os usando uma conexão de emparelhamento. Para obter detalhes, consulte Conexão de emparelhamento da VPC.
- Se o sistema de serviço e o gateway estiverem em VPCs diferentes de regiões diferentes, crie uma conexão de nuvem e carregue as duas VPCs para conectá-las. Para obter detalhes, consulte Conexão de VPCs em regiões diferentes.
- Se o sistema de serviço e o gateway estiverem conectados pela rede pública, verifique se o gateway foi vinculado a um EIP.
Obtenção de informações de chamadas de API
Obtenha informações de chamada de API do provedor de API antes de chamar uma API.
- Obter informações de solicitação de API
No console do APIG, escolha API Management > APIs. Na página APIs, obtenha o nome de domínio, o método de solicitação e o caminho de solicitação da API desejada. Clique no nome da API para acessar a página da guia APIs e obter as informações básicas nas áreas Frontend Configuration e Backend Configuration.
- Obter informações de autenticação da API
Obtenha as informações de autenticação da solicitação de acordo com o modo de autenticação da API.
Modo de autenticação
Informações da autenticação
Aplicação (assinatura)
Obtenha a chave e o segredo de uma credencial autorizada para a API do provedor de API, bem como do SDK de assinatura.
Aplicação (autenticação simples)
Obtenha o AppCode de uma credencial autorizada para a API do provedor de API.
Aplicação (dois fatores)
Obtenha as informações necessárias para a autenticação personalizada e da aplicação.
Aplicação (app_api_key)
Obtenha a chave e o segredo de uma credencial autorizada para a API do provedor de API.
Aplicação (app_secret)
Obtenha a chave e o segredo de uma credencial autorizada para a API do provedor de API.
Aplicação (app_basic)
Obtenha a chave e o segredo de uma credencial autorizada para a API do provedor de API.
Aplicação (app_jwt)
Obtenha a chave e o segredo de uma credencial autorizada para a API do provedor de API.
IAM (token)
Obtenha o nome de usuário e a senha da plataforma de nuvem.
IAM (AK/SK)
Obtenha a AK/SK de uma conta para a plataforma de nuvem e o SDK de assinatura.
IAM (dois fatores)
Obtenha as informações necessárias para o IAM e a autenticação personalizada
Personalizada
Obtenha as informações de autenticação personalizadas para transportar os parâmetros de solicitação do provedor de API.
Nenhuma
Nenhuma informação de autenticação necessária.
Autorizador de terceiros (política de API)
Obtenha informações de autorizador de terceiros para transportar parâmetros de solicitação do provedor de API.
- Chave e segredo da credencial
No console do APIG, escolha API Management > Credentials. Clique no nome de uma credencial autorizada para a API de destino e obtenha a chave e o segredo na página de detalhes da credencial.
- SDK de assinatura
No console do APIG, escolha Help Center > Using SDKs e baixe o SDK da linguagem desejada.
- AppCode
No console do APIG, escolha API Management > Credentials. Clique no nome de uma credencial autorizada para a API de destino e obtenha um AppCode na área AppCodes da página de detalhes da credencial.
- Chave e segredo da credencial
Chamada de uma API
Esta seção descreve somente a configuração do caminho da solicitação e dos parâmetros de autenticação. Para outros parâmetros, como timeout e SSL, configure-os conforme necessário. Para evitar perdas de serviço devido a parâmetros incorretos, configure-os consultando os padrões da indústria.
- Construa uma solicitação de API. Exemplo:
POST https://{Address}/{Path}?{Query} {Header} { {Body} }
- POST: método de solicitação. Substitua-o pelo método de solicitação obtido em Obtenção de informações de chamadas de API.
- {Address}: endereço de solicitação. Substitua-o pelo nome de domínio obtido em Obtenção de informações de chamadas de API. Você também pode acessar a API usando um endereço IP.
Cenário
Configuração de parâmetros de solicitação
Chamar uma API com um nome de domínio
Chame uma API usando o nome de domínio de depuração alocado ao grupo de APIs ou um nome de domínio vinculado ao grupo. Nenhuma configuração adicional é necessária.
Chamar uma API no grupo DEFAULT com um endereço IP
Chame uma API no grupo DEFAULT com um endereço IP. Nenhuma configuração adicional é necessária.
Chamar uma API em um grupo personalizado com um endereço IP
- Para usar um endereço IP para chamar uma API que usa autenticação de aplicação em um grupo que não é DEFAULT,
- Defina os parâmetros de configuração app_route e app_secret do gateway como On. Depois que app_route é ativado, uma credencial não pode ser autorizada para APIs que usam o mesmo caminho e método de solicitação.
- Adicione os parâmetros de cabeçalho X-HW-ID e X-HW-APPKEY e defina-os como a chave e o segredo de uma credencial autorizada para a API.
- Para usar um endereço IP para chamar uma API que não usa autenticação de aplicação em um grupo que não é DEFAULT, adicione o parâmetro de cabeçalho host.
- Para usar um endereço IP para chamar uma API que usa autenticação de aplicação em um grupo que não é DEFAULT,
- {Path}: caminho de solicitação. Substitua-o pelo caminho da solicitação obtido em Obtenção de informações de chamadas de API.
- {Query}: (opcional) cadeia de consulta no formato "Parameter_name=Parameter_value", por exemplo, limit=10. Separe várias cadeias de consulta com E comercial (&). Para obter detalhes, consulte os parâmetros de solicitação obtidos em Obtenção de informações de chamadas de API.
- {Header}: parâmetro de cabeçalho de solicitação no formato "Parameter_name:Parameter_value", por exemplo, Content-Type:application/json. Para obter detalhes, consulte os parâmetros de solicitação obtidos em Obtenção de informações de chamadas de API.
- {Body}: corpo da solicitação no formato JSON. Para obter detalhes, consulte a descrição do corpo da solicitação obtida em Obtenção de informações de chamadas de API.
- Adicione informações de autenticação à solicitação da API.
Modo de autenticação
Configuração de parâmetros de solicitação
Aplicação (assinatura)
Use o SDK obtido para assinar a solicitação de API. Para obter detalhes, consulte Chamada de APIs por meio de autenticação de aplicações.
Aplicação (autenticação simples)
Adicione o parâmetro de cabeçalho X-Apig-AppCode e defina o valor do parâmetro para o AppCode obtido em Obtenção de informações de chamadas de API. Para obter detalhes, consulte Primeiros passos.
Aplicação (app_api_key)
- Para ativar a autenticação app_api_key, certifique-se de que o parâmetro app_api_key tenha sido definido como on na guia Parâmetros do gateway.
- Adicione o cabeçalho ou a cadeia de consulta apikey e defina o valor do parâmetro para a chave obtida em Obtenção de informações de chamadas de API.
Aplicação (app_secret)
- Defina o parâmetro app_secret como on na guia Parâmetros de um gateway para ativar a autenticação app_secret e defina app_api_key como off para desativar a autenticação app_api_key.
- Adicione o parâmetro de cabeçalho X-HW-ID e defina o valor do parâmetro para a chave obtida em Obtenção de informações de chamadas de API.
- Adicione o parâmetro de cabeçalho X-HW-AppKey e defina o valor do parâmetro como o segredo obtido em Obtenção de informações de chamadas de API.
Aplicação (app_basic)
- Para ativar a autenticação app_basic, certifique-se de que o parâmetro app_basic tenha sido definido como on na guia Parâmetros do gateway.
- Adicione o parâmetro de cabeçalho Authorization à solicitação da API. O valor é "Basic "+base64(appkey+":"+appsecret). appkey e appsecret são a chave e o segredo obtidos em Obtenção de informações de chamadas de API.
Aplicação (app_jwt)
- Para ativar a autenticação app_jwt, certifique-se de que o parâmetro app_jwt tenha sido definido como on na guia Parâmetros do gateway.
- Adicione o parâmetro de cabeçalho Timestamp e defina o valor do parâmetro como o carimbo de data/hora Unix da hora atual em milissegundos.
- Adicione o parâmetro de cabeçalho Authorization e defina o valor do parâmetro como "SHA-256 (appkey + appsecret + timestamp)", no qual appkey e appsecret são a chave e o segredo obtidos em Obtenção de informações de chamadas de API e timestamp é o carimbo de data/hora do Unix da hora atual em milissegundos. A cadeia de caracteres criptografada usando SHA-256 deve ser letras minúsculas.
- Adicione o parâmetro de cabeçalho X-HW-ID e defina o valor do parâmetro para a chave obtida em Obtenção de informações de chamadas de API.
Aplicação (dois fatores)
Adicione as informações necessárias para a aplicação e a autenticação personalizada à solicitação de API.
IAM (token)
Obtenha um token da plataforma de nuvem e adicione o parâmetro de cabeçalho X-Auth-Token com o token como valor. Para obter detalhes, consulte Autenticação de token.
IAM (AK/SK)
Use o SDK obtido para assinar a solicitação de API. Para obter detalhes, consulte Autenticação de AK/SK.
IAM (dois fatores)
Adicione as informações do IAM e da autenticação personalizada à solicitação de API.
Personalizada
Adicione as informações necessárias para autenticação personalizada à solicitação de API.
Nenhuma
Nenhuma informação de autenticação necessária.
Autorizador de terceiros (política de API)
Obtenha informações de autorizador de terceiros para transportar parâmetros de solicitação do provedor de API.