Pular para o conteúdo

Permitir ou recusar a conexão

POST
/oauth/authorizations/{requestId}/decision
curl --request POST \
--url https://api-connect.zoppy.com.br/oauth/authorizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/decision \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "approve": true, "scopes": [] }'

Grava a decisão e devolve para onde levar o navegador: o aplicativo, com o código ou com a recusa.

requestId
required

Id do pedido de conexão

string format: uuid

Id do pedido de conexão

Media typeapplication/json
object
approve
required

True para permitir o acesso, false para recusar

boolean
scopes

As permissões marcadas na tela; só valem as que o aplicativo pediu. Ignorado ao recusar

Array<string>
default: <= 3 items
Allowed values: connect:read connect:operate connect:build

A decisão

Media typeapplication/json
object
redirectUrl
required

Para onde levar o navegador agora: o aplicativo, com o código ou com a recusa

string format: uri

Example generated

{
"redirectUrl": "https://example.com"
}

Token ausente, inválido ou expirado (connect.unauthorized)

Media typeapplication/json
object
type
required

Código estável do erro, para máquinas (ex.: connect.connector_not_found)

string
title
required

Nome da classe do erro

string
status
required

Status HTTP

integer
detail
required

Mensagem em pt-BR, segura para mostrar a quem usa a tela

string
requestId
required

Id de correlação: passe ao suporte para achar o rastro completo

string
nullable
meta

Detalhes estruturados seguros para a tela (erros de campo, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}

Papel sem acesso ou Connect não liberado (connect.forbidden_role, connect.feature_disabled)

Media typeapplication/json
object
type
required

Código estável do erro, para máquinas (ex.: connect.connector_not_found)

string
title
required

Nome da classe do erro

string
status
required

Status HTTP

integer
detail
required

Mensagem em pt-BR, segura para mostrar a quem usa a tela

string
requestId
required

Id de correlação: passe ao suporte para achar o rastro completo

string
nullable
meta

Detalhes estruturados seguros para a tela (erros de campo, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}

Pedido inexistente, vencido ou já decidido (connect.oauth_request_not_found)

Media typeapplication/json
object
type
required

Código estável do erro, para máquinas (ex.: connect.connector_not_found)

string
title
required

Nome da classe do erro

string
status
required

Status HTTP

integer
detail
required

Mensagem em pt-BR, segura para mostrar a quem usa a tela

string
requestId
required

Id de correlação: passe ao suporte para achar o rastro completo

string
nullable
meta

Detalhes estruturados seguros para a tela (erros de campo, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}

Nenhuma permissão marcada (connect.oauth_no_scope)

Media typeapplication/json
object
type
required

Código estável do erro, para máquinas (ex.: connect.connector_not_found)

string
title
required

Nome da classe do erro

string
status
required

Status HTTP

integer
detail
required

Mensagem em pt-BR, segura para mostrar a quem usa a tela

string
requestId
required

Id de correlação: passe ao suporte para achar o rastro completo

string
nullable
meta

Detalhes estruturados seguros para a tela (erros de campo, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}