AutenticacaoToken de usuário e token do aplicativo: obter e renovar
ObterTokenDeUsuario
consultaToken do usuário
Devolve um par novo de token e refresh_token do usuário. Aceita a sessão do Omie aberta no navegador ou o token de usuário ainda válido como Bearer. Se a conta exige MFA e ele não foi configurado, responde 403 com status MFA_REQUIRED.
Sem parâmetros.
Retorno 2O que volta numa chamada bem-sucedida
| Campo | Tipo | Descrição |
|---|---|---|
refresh_token | texto | Token utilizado para renovar o token do usuário |
token | texto | Token do usuário |
curl -s -X GET "https://app.omie.com.br/api/portal/users/me/token/" \
-H "Authorization: Bearer $TOKEN_DE_USUARIO"import os
import requests
resp = requests.request(
"GET",
"https://app.omie.com.br/api/portal/users/me/token/",
headers={"Authorization": f"Bearer {os.environ['TOKEN_DE_USUARIO']}"},
timeout=60,
)
print(resp.json())const resp = await fetch(`https://app.omie.com.br/api/portal/users/me/token/`, {
method: "GET",
headers: {
"Authorization": `Bearer ${process.env.TOKEN_DE_USUARIO}`,
},
});
console.log(await resp.json());<?php
$ch = curl_init("https://app.omie.com.br/api/portal/users/me/token/");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("TOKEN_DE_USUARIO"),
],
]);
echo curl_exec($ch);require "net/http"
uri = URI("https://app.omie.com.br/api/portal/users/me/token/")
pedido = Net::HTTP::Get.new(uri)
pedido["Authorization"] = "Bearer #{ENV.fetch('TOKEN_DE_USUARIO')}"
resp = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(pedido) }
puts resp.bodyimport java.net.URI;
import java.net.http.*;
var pedido = HttpRequest.newBuilder()
.uri(URI.create("https://app.omie.com.br/api/portal/users/me/token/"))
.header("Authorization", "Bearer " + System.getenv("TOKEN_DE_USUARIO"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
var resp = HttpClient.newHttpClient().send(pedido, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());// TokenDeUsuario: parâmetro do Power BI (Página Inicial > Gerenciar parâmetros)
let
Resposta = Web.Contents(
"https://app.omie.com.br/api/portal/users/me/token/",
[
Headers = [Authorization = "Bearer " & TokenDeUsuario]
]
),
Dados = Json.Document(Resposta)
in
DadosObterTokenDoAplicativo
consultaToken do aplicativo
Devolve o token do aplicativo, com o token de usuário como Bearer. É o token que vai nas chamadas da API (/api/v1) e vale 24 horas. Junto vem um refresh_token para renová-lo sem o token de usuário.
Obrigatórios 1
| Campo | Tipo | Descrição |
|---|---|---|
appHash | texto | No caminho. Hash do aplicativo |
Retorno 2O que volta numa chamada bem-sucedida
| Campo | Tipo | Descrição |
|---|---|---|
refresh_token | texto | Token para renovar o token |
token | texto | Token (JWT) |
APP_HASH='empresa-abc123'
curl -s -X GET "https://app.omie.com.br/api/portal/apps/${APP_HASH}/token/" \
-H "Authorization: Bearer $TOKEN_DE_USUARIO"import os
import requests
app_hash = "empresa-abc123"
resp = requests.request(
"GET",
f"https://app.omie.com.br/api/portal/apps/{app_hash}/token/",
headers={"Authorization": f"Bearer {os.environ['TOKEN_DE_USUARIO']}"},
timeout=60,
)
print(resp.json())const appHash = "empresa-abc123";
const resp = await fetch(`https://app.omie.com.br/api/portal/apps/${appHash}/token/`, {
method: "GET",
headers: {
"Authorization": `Bearer ${process.env.TOKEN_DE_USUARIO}`,
},
});
console.log(await resp.json());<?php
$appHash = 'empresa-abc123';
$ch = curl_init("https://app.omie.com.br/api/portal/apps/{$appHash}/token/");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("TOKEN_DE_USUARIO"),
],
]);
echo curl_exec($ch);require "net/http"
app_hash = 'empresa-abc123'
uri = URI("https://app.omie.com.br/api/portal/apps/#{app_hash}/token/")
pedido = Net::HTTP::Get.new(uri)
pedido["Authorization"] = "Bearer #{ENV.fetch('TOKEN_DE_USUARIO')}"
resp = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(pedido) }
puts resp.bodyimport java.net.URI;
import java.net.http.*;
var appHash = "empresa-abc123";
var pedido = HttpRequest.newBuilder()
.uri(URI.create("https://app.omie.com.br/api/portal/apps/" + appHash + "/token/"))
.header("Authorization", "Bearer " + System.getenv("TOKEN_DE_USUARIO"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
var resp = HttpClient.newHttpClient().send(pedido, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());// TokenDeUsuario: parâmetro do Power BI (Página Inicial > Gerenciar parâmetros)
let
Resposta = Web.Contents(
"https://app.omie.com.br/api/portal/apps/empresa-abc123/token/",
[
Headers = [Authorization = "Bearer " & TokenDeUsuario]
]
),
Dados = Json.Document(Resposta)
in
DadosRenovarTokenDeUsuario
altera dadosRenova o token do usuário
Troca o par de token e refresh_token do usuário por um novo, sem cabeçalho Authorization. Aceita o token já vencido. Use o par novo e descarte o antigo; trocar a senha da pessoa invalida o refresh_token.
Obrigatórios 0
Nenhum campo obrigatório.
Opcionais 2Campos e estruturas que você pode enviar
| Campo | Tipo | Descrição |
|---|---|---|
refresh_token | texto | No corpo. Token utilizado para renovar o token do usuário |
token | texto | No corpo. Token do usuário |
Retorno 2O que volta numa chamada bem-sucedida
| Campo | Tipo | Descrição |
|---|---|---|
refresh_token | texto | Token utilizado para renovar o token do usuário |
token | texto | Token do usuário |
curl -s -X POST "https://app.omie.com.br/api/portal/users/refresh-token/" \
-H 'Content-Type: application/json' \
-d '{"token": "<token>", "refresh_token": "<refresh_token>"}'import os
import requests
resp = requests.request(
"POST",
"https://app.omie.com.br/api/portal/users/refresh-token/",
json={'token': '<token>', 'refresh_token': '<refresh_token>'},
timeout=60,
)
print(resp.json())const resp = await fetch(`https://app.omie.com.br/api/portal/users/refresh-token/`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({"token": "<token>", "refresh_token": "<refresh_token>"}),
});
console.log(await resp.json());<?php
$ch = curl_init("https://app.omie.com.br/api/portal/users/refresh-token/");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => <<<'JSON'
{
"token": "<token>",
"refresh_token": "<refresh_token>"
}
JSON,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
],
]);
echo curl_exec($ch);require "net/http"
uri = URI("https://app.omie.com.br/api/portal/users/refresh-token/")
pedido = Net::HTTP::Post.new(uri)
pedido["Content-Type"] = "application/json"
pedido.body = <<~'JSON'
{
"token": "<token>",
"refresh_token": "<refresh_token>"
}
JSON
resp = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(pedido) }
puts resp.bodyimport java.net.URI;
import java.net.http.*;
var pedido = HttpRequest.newBuilder()
.uri(URI.create("https://app.omie.com.br/api/portal/users/refresh-token/"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"token": "<token>",
"refresh_token": "<refresh_token>"
}
"""))
.build();
var resp = HttpClient.newHttpClient().send(pedido, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());let
Resposta = Web.Contents(
"https://app.omie.com.br/api/portal/users/refresh-token/",
[
Headers = [#"Content-Type" = "application/json"],
Content = Text.ToBinary("{""token"": ""<token>"", ""refresh_token"": ""<refresh_token>""}")
]
),
Dados = Json.Document(Resposta)
in
DadosRenovarTokenDoAplicativo
altera dadosRenova o token do aplicativo
Troca o par de token e refresh_token do aplicativo por um novo, sem o token de usuário. O token pode estar vencido. Responde 403 se o par não confere ou se o usuário perdeu o acesso ao aplicativo.
Obrigatórios 1
| Campo | Tipo | Descrição |
|---|---|---|
appHash | texto | No caminho. Hash do aplicativo |
Opcionais 2Campos e estruturas que você pode enviar
| Campo | Tipo | Descrição |
|---|---|---|
refresh_token | texto | No corpo. Token para renovar o token |
token | texto | No corpo. Token (JWT) |
Retorno 2O que volta numa chamada bem-sucedida
| Campo | Tipo | Descrição |
|---|---|---|
refresh_token | texto | Token para renovar o token |
token | texto | Token (JWT) |
APP_HASH='empresa-abc123'
curl -s -X POST "https://app.omie.com.br/api/portal/apps/${APP_HASH}/refresh-token/" \
-H 'Content-Type: application/json' \
-d '{"token": "<token>", "refresh_token": "<refresh_token>"}'import os
import requests
app_hash = "empresa-abc123"
resp = requests.request(
"POST",
f"https://app.omie.com.br/api/portal/apps/{app_hash}/refresh-token/",
json={'token': '<token>', 'refresh_token': '<refresh_token>'},
timeout=60,
)
print(resp.json())const appHash = "empresa-abc123";
const resp = await fetch(`https://app.omie.com.br/api/portal/apps/${appHash}/refresh-token/`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({"token": "<token>", "refresh_token": "<refresh_token>"}),
});
console.log(await resp.json());<?php
$appHash = 'empresa-abc123';
$ch = curl_init("https://app.omie.com.br/api/portal/apps/{$appHash}/refresh-token/");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => <<<'JSON'
{
"token": "<token>",
"refresh_token": "<refresh_token>"
}
JSON,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
],
]);
echo curl_exec($ch);require "net/http"
app_hash = 'empresa-abc123'
uri = URI("https://app.omie.com.br/api/portal/apps/#{app_hash}/refresh-token/")
pedido = Net::HTTP::Post.new(uri)
pedido["Content-Type"] = "application/json"
pedido.body = <<~'JSON'
{
"token": "<token>",
"refresh_token": "<refresh_token>"
}
JSON
resp = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(pedido) }
puts resp.bodyimport java.net.URI;
import java.net.http.*;
var appHash = "empresa-abc123";
var pedido = HttpRequest.newBuilder()
.uri(URI.create("https://app.omie.com.br/api/portal/apps/" + appHash + "/refresh-token/"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"token": "<token>",
"refresh_token": "<refresh_token>"
}
"""))
.build();
var resp = HttpClient.newHttpClient().send(pedido, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());let
Resposta = Web.Contents(
"https://app.omie.com.br/api/portal/apps/empresa-abc123/refresh-token/",
[
Headers = [#"Content-Type" = "application/json"],
Content = Text.ToBinary("{""token"": ""<token>"", ""refresh_token"": ""<refresh_token>""}")
]
),
Dados = Json.Document(Resposta)
in
Dados