Todas as coleções
OneFlow
Configurações Gerais
Autenticação para utilização de APIs do OneFlow
Autenticação para utilização de APIs do OneFlow

Esse artigo explica como obter as chaves de autenticação para utilização de APIs do OneFlow

Heverton Gentilim avatar
Escrito por Heverton Gentilim
Atualizado há mais de uma semana

1. Introdução

O consumo das APIs do OneFlow é baseado em tokens JWT e dois tipos serão utilizados na integração:

1.1 - Token de usuário parceiro

Esse token contém informações do usuário parceiro e será usado para obter acesso aos aplicativos. Deve ser mantido num cofre bem seguro pois pode conceder acesso em todos os aplicativos que o parceiro está vinculado.

Para gerar esse token:

  1. Acesse o portal Omie (por onde é feito o acesso do OneFlow – app.omie.com.br).

  2. Depois de logado, acesse a seguinte URL: https://app.omie.com.br/api/portal/users/me/token/

1.2 - Token de aplicativo

Agora que já sabemos “quem” (token citado acima), falta identificar quais aplicativos queremos acessar. Para isso, vamos usar o token do usuário para gerar um novo token de acesso com identificação de cada aplicativo ou empresa.


2. Trabalhando com o token do usuário

2.1. Testando

A forma mais simples para testar um token, é consumir o endpoint que vai retornar os dados do usuário atual.

Exemplo:

 curl --request GET \
--url https://app.omie.com.br/api/portal/users/me/ \
--header 'Authorization: Bearer TOKEN_USUARIO' \
--header 'Accept: application/json'

Caso você não consiga obter um Json com os dados do usuário, significa que o token está expirado e você precisa renová-lo.

2.2 - Renovando

Para renovar o token de usuário, será necessário usar o par de tokens (token + refresh token) que foi disponibilizado e trocá-los por novos tokens:

Exemplo:

 curl --request POST \
--url https://app.omie.com.br/api/portal/users/refresh-token/ \
--header 'Content-Type: application/json' \
--data '{
"token": "TOKEN_ANTIGO",
"refresh_token": "REFRESH_TOKEN"
}'

2.3 - Listando aplicativos e empresas

Com um token válido, é possível listar todos os aplicativos e empresas que este parceiro está associado.
Lembrando que no caso do OneFlow, cada empresa corresponde a um aplicativo criado.

Exemplo:

 curl --request GET \
--url https://app.omie.com.br/api/portal/apps/ \
--header 'Authorization: Bearer TOKEN_USUARIO' \
--header 'Accept: application/json'

3. Aplicativos e empresas

3.1 - Obtendo o token do aplicativo/empresa

Com o access_token do usuário, obtido nos passos anteriores, vamos convertê-lo em um token de aplicativo:

Exemplo:

curl --request GET \
--url https://app.omie.com.br/api/portal/apps/app-hash/token/ \
--header 'Authorization: Bearer TOKEN_DO_USUARIO'

Tanto o app-hash (identificando o aplicativo) quanto o token do usuário deverá ser obtido nos passos anteriores.

3.2 - Renovando o token de um aplicativo/empresa

Assim como é feito com o token do usuário, também é possível renovar o token de um aplicativo.

 curl --request GET \
--url https://app.omie.com.br/api/portal/apps/app-hash/refresh-token \
--header 'Content-Type: application/json' \
--data '{
"token": "TOKEN_ANTIGO",
"refresh_token": "REFRESH_TOKEN"
}'

4. Consumo de APIs OneFlow

Com o token obtido no passo anterior, podemos consumir as APIs do OneFlow:

Exemplo:

 curl --request POST \
--url https://rest.oneflow.com.br/api/colaboradores/desconto \
--header 'Authorization: Bearer TOKEN_DO_APLICATIVO' \
--data '{
"parcelas": [
{
"cpf": "860.361.525-07",
"idContrato": "113123",
"idProposta": "113123",
"idParcela": "installment-0008b894-8939-47d2-918b-fa2898c23190",
"valor": 423.19,
"mesReferencia": 9,
"anoReferencia": 2022,
"NumeroParcela": 3,
"cancelado": false
}
]
}'

5. Perguntas e respostas sobre a utilização de APIs

Não consigo obter os dados do usuário. O que acontece?

Provavelmente as chaves foram invalidadas e é necessário renová-las.

Por que não consigo renovar as chaves de um usuário?

É possível que a chave original tenha sido expurgada ou o usuário não exista mais.

O que significa o código 403 ao tentar gerar o token de um aplicativo?

Isso significa que o usuário não possui acesso ao aplicativo ou a empresa. Siga os seguintes passos:

  1. Já verificou se esse aplicativo está sendo retornado na lista de aplicativos?

  2. Se o aplicativo/empresa não está na lista, significa que ainda está sem acesso. Peça ajuda para o time do suporte informando o ID do aplicativo e o e-mail do usuário parceiro.

O parceiro pode passar o token do usuário para o cliente? E pode deixá-las configuradas no ambiente do cliente?

Não. Essas chaves deverão ser bem guardadas num ambiente gerido pelo parceiro e de preferência num cofre de senhas.

Qual chave deve ser usada para acessar o aplicativo do cliente?

Apenas o token do aplicativo precisa ser usado e a aplicação precisa estar pronta para renovar essa chave quando necessário.

Respondeu à sua pergunta?