Autenticação
Guia de Autenticação nas APIs Hiperstream
A Hiperstream oferece duas principais formas de autenticação para acesso às suas APIs: API Key e OAuth. Isso permite flexibilizar as opções de autenticação para atender às necessidades tecnológicas dos nossos clientes, garantindo um acesso seguro e simplificado às informações em nosso ambiente.
Autenticação via API Key
A autenticação via API Key utiliza um token único, que é imutável e pode ter um prazo de expiração. Este método é simples e direto, mas está sujeito a uma série de critérios e regras para sua utilização segura.
Uso recomendado da API Key:
- ✅ Em sistemas backend, onde a API Key é armazenada em um cofre de senhas e a empresa parceira possui um IP ou range de IPs fixos e exclusivos.
- ✅ Em APIs acessadas por usuários do cliente, com o token armazenado de forma segura no servidor do cliente.
Uso não recomendado da API Key:
- 🚫 Em aplicações mobile, onde a API Key ficaria exposta no código do aplicativo.
- 🚫 Em aplicações web, onde a chave ficaria visível no código JavaScript no lado do cliente.
Exemplo de requisição utilizando API Key:
curl -X GET 'https://sandbox-api.hiperstream.com/v1/ENDPOINT' \
--header "Content-Type: application/json" \
--header "x-apikey: xxx" \
--header "companyId: yyy"
Autenticação OAuth
O acesso via OAuth segue o fluxo de autenticação de client credentials, onde o cliente recebe uma Client ID e uma Client Secret de nosso time de Infraestrutura e Segurança da Informação. Após a autenticação, é fornecido um access token para uso nas chamadas às nossas APIs.
Fluxo de autenticação OAuth

Há duas maneiras de enviar o client_id e o client_secret ao nosso endpoint de autenticação:
-
Primeira forma: Unir client_id e client_secret com ":", converter a string resultante em base64 e enviar no cabeçalho da requisição.
bashCopy code curl -X POST 'https://api-hcp.hiperstream.com/o/oauth/accesstoken' \ --header "Content-Type: application/x-www-form-urlencoded" \ --header "Authorization: Basic {chave_base64}"
-
Segunda forma: Enviar client_id e client_secret no corpo da requisição.
bashCopy code curl 'https://api-hcp.hiperstream.com/o/oauth/accesstoken' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'client_id=yyy' \ --data-urlencode 'client_secret=xxx' \ --data-urlencode 'grant_type=client_credentials'
Ambos os métodos requerem os parâmetros grant_type
com valor client_credentials
, content-type
como 'application/x-www-form-urlencoded' no cabeçalho, e o método da requisição como POST
.
Resposta do Token OAuth
A resposta para ambas as formas de requisição é um JSON contendo informações sobre a identidade dentro do ambiente da Hiper:
jsonCopy code
{
"refresh_token_expires_in": 0,
"api_product_list": "[sandbox-document-api]",
"organization_name": "hiperstream",
"developer.email": "[email protected]",
"token_type": "Bearer",
"issued_at": "1691198398055",
"client_id": "yyy",
"access_token": "xxx",
"expires_in": 17999,
"status": "approved"
}
Exemplo de chamada a um endpoint com o access token:
bashCopy code
curl -X GET 'https://sandbox-api.hiperstream.com/v1/ENDPOINT' \
--header "Content-Type: application/json" \
--header "Authorization: Bearer yyy" \
--header "companyId: xxx"
Para mais informações e acesso às chaves de autenticação, entre em contato com o time de Professional Services da Hiperstream através do portal de atendimento.
Updated 2 months ago