curl --request GET 'https://api.voicecheap.ai/oauth/userinfo' \
--header "Authorization: Bearer $VOICECHEAP_ACCESS_TOKEN"
const input = {};
const response = await fetch('https://api.voicecheap.ai/oauth/userinfo', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.VOICECHEAP_ACCESS_TOKEN}`,
},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/oauth/userinfo",
headers={"Authorization":"Bearer " + os.environ["VOICECHEAP_ACCESS_TOKEN"]},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
OAuth e protocolo MCP
Obter a identidade do usuário conectado
Leia os claims de identidade concedidos a uma conexão OAuth.
GET
/
oauth
/
userinfo
curl --request GET 'https://api.voicecheap.ai/oauth/userinfo' \
--header "Authorization: Bearer $VOICECHEAP_ACCESS_TOKEN"
const input = {};
const response = await fetch('https://api.voicecheap.ai/oauth/userinfo', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.VOICECHEAP_ACCESS_TOKEN}`,
},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/oauth/userinfo",
headers={"Authorization":"Bearer " + os.environ["VOICECHEAP_ACCESS_TOKEN"]},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Leia os claims de identidade concedidos a uma conexão OAuth.
GET https://api.voicecheap.ai/oauth/userinfo
Autenticação
Envie um token de acesso OAuth em Authorization: Bearer. Ele deve incluir openid; os claims de e-mail também exigem email. Chaves API e credenciais nos parâmetros da URL não são aceitas.Exemplos de requisição
Siga a codificação e a autenticação documentadas para esta rota. O formato de resposta e as regras de idempotência da API de ações se aplicam apenas às chamadas de ações.curl --request GET 'https://api.voicecheap.ai/oauth/userinfo' \
--header "Authorization: Bearer $VOICECHEAP_ACCESS_TOKEN"
const input = {};
const response = await fetch('https://api.voicecheap.ai/oauth/userinfo', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.VOICECHEAP_ACCESS_TOKEN}`,
},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/oauth/userinfo",
headers={"Authorization":"Bearer " + os.environ["VOICECHEAP_ACCESS_TOKEN"]},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Resposta
Leia os claims de identidade concedidos a uma conexão OAuth.HTTP 200
{
"sub": "voicecheap-user-id",
"email": "customer@example.com",
"email_verified": false
}
Cabeçalhos da resposta
{
"Cache-Control": "no-store",
"Pragma": "no-cache"
}
Notas da operação
- Os endpoints OpenID Connect retornam HTTP 404 quando a integração de identidade está indisponível neste ambiente. Consulte a descoberta antes de depender de recursos de identidade.
- sub é o identificador estável da conta. email e email_verified são incluídos apenas quando email foi concedido e a conta tem um endereço de e-mail. email_verified reflete o estado real de verificação e pode ser false. Contas excluídas ou desativadas não podem usar UserInfo.
Erros
| Status HTTP | Código | Significado ou recuperação |
|---|---|---|
| 400 | invalid_request | Envie o token de acesso OAuth somente no cabeçalho Authorization. Chaves API e credenciais access_token/api_key na consulta ou no corpo são rejeitadas. |
| 401 | invalid_token | O token de acesso OAuth está ausente, é inválido, expirou, foi revogado ou não está mais autorizado. Reconecte a conta. |
| 403 | insufficient_scope | O token não tem openid ou a conta não possui mais acesso elegível. Reconecte com a permissão de identidade necessária e uma conta elegível. Consulte o desafio WWW-Authenticate para obter detalhes. |
| 404 | invalid_request | Os endpoints OpenID Connect retornam HTTP 404 quando a integração de identidade está indisponível neste ambiente. Consulte a descoberta antes de depender de recursos de identidade. |
| 429 | temporarily_unavailable | O limite de requisições OAuth públicas foi atingido. Aguarde a janela atual antes de tentar novamente. |
| 500 | server_error | A autorização está temporariamente indisponível. Tente novamente mais tarde. |
Esta página foi útil?

