Autenticação do Portal
Liste os portais disponíveis para autenticação e atualize as credenciais de autenticação de um portal específico para uma loja.
Listar Portais para Autenticação
Antes de atualizar as credenciais de um portal, você pode listar todos os portais liberados para a loja e verificar o status de autenticação de cada um.
Endpoint
GET /dealer/{dealer_id}/portal-auth/
Método
GET
Parâmetros de URL
| Parâmetro | Tipo | Descrição |
|---|---|---|
dealer_id | integer | ID da loja |
Autenticação
Este endpoint requer autenticação via JWT. Inclua o token no header:
Authorization: Bearer {access_token}
Exemplo de Resposta
Status Code: 200 OK
[
{
"portal_id": 5,
"logo": "https://media.integradordeanuncios.com.br/media/logo/webmotors.webp",
"auth_key_id": true,
"auth_key_password": true,
"auth_key_token": false,
"auth_key_user": true,
"user": "usuario_portal",
"site_id": "12345",
"password": "senha_secreta",
"active": true,
"token": "",
"name": "Webmotors",
"is_online": true
},
{
"portal_id": 10,
"logo": "https://media.integradordeanuncios.com.br/media/logo/olx.webp",
"auth_key_id": false,
"auth_key_password": false,
"auth_key_token": true,
"auth_key_user": false,
"user": "",
"site_id": "",
"password": "",
"active": false,
"token": "token_exemplo",
"name": "OLX",
"is_online": true
}
]
Estrutura de Dados
A resposta é um array de objetos, onde cada objeto contém:
| Campo | Tipo | Descrição |
|---|---|---|
portal_id | integer | ID único do portal no sistema |
logo | string | URL completa do logo do portal |
auth_key_id | boolean | Indica se o portal requer campo site_id para autenticação |
auth_key_password | boolean | Indica se o portal requer campo password para autenticação |
auth_key_token | boolean | Indica se o portal requer campo token para autenticação |
auth_key_user | boolean | Indica se o portal requer campo user para autenticação |
user | string | Usuário configurado para autenticação (vazio se não configurado) |
site_id | string | ID do site configurado (vazio se não configurado) |
password | string | Senha configurada para autenticação (vazia se não configurada) |
active | boolean | Indica se a autenticação está ativa (true) ou inativa (false) |
token | string | Token configurado para autenticação (vazio se não configurado) |
name | string | Nome do portal |
is_online | boolean | Indica se o portal está online/ativo no sistema |
Observações sobre Listagem
- Apenas portais ativos no sistema e liberados para a loja são retornados
- Os portais são ordenados alfabeticamente pelo nome (case-insensitive)
- Os campos de credenciais (
user,site_id,password,token) estarão vazios se a autenticação não foi configurada ainda - Os campos
auth_key_*indicam quais tipos de credenciais o portal aceita (ID, senha, token ou usuário) - Use o
portal_idretornado nesta lista ao atualizar as credenciais - Se não houver portais liberados, a resposta será um array vazio
[]
Possíveis Retornos de Erro na Listagem
400 Bad Request
Retornado quando o parâmetro dealer_id não é fornecido.
{
"detail": "Parâmetro ID da Loja não encontrado"
}
401 Unauthorized
Retornado quando o token de autenticação não foi fornecido ou é inválido.
{
"detail": "As credenciais de autenticação não foram fornecidas."
}
ou
{
"detail": "Token inválido ou expirado."
}
403 Forbidden
Retornado quando o usuário autenticado não tem permissão para acessar este recurso.
{
"detail": "Você não tem permissão para executar essa ação."
}
Atualizar Autenticação do Portal
Após identificar o portal desejado na listagem acima, você pode atualizar suas credenciais de autenticação.
Endpoint
POST /dealer/{dealer_id}/portal-auth/{portal_id}/
Método
POST
Parâmetros de URL
| Parâmetro | Tipo | Descrição |
|---|---|---|
dealer_id | integer | ID da loja |
portal_id | integer | ID do portal (use o portal_id retornado na listagem) |
Autenticação
Este endpoint requer autenticação via JWT. Inclua o token no header:
Authorization: Bearer {access_token}
Corpo da Requisição
{
"user": "usuario_portal",
"site_id": "12345",
"password": "senha_secreta",
"token": "token_de_autenticacao",
"active": true,
"remove_all": false
}
Campos do Payload
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
active | boolean | Sim | Indica se a autenticação está ativa (true) ou inativa (false) |
user | string | Não | Usuário para autenticação no portal |
site_id | string | Não | ID do site para autenticação no portal |
password | string | Não | Senha para autenticação no portal |
token | string | Não | Token de autenticação do portal |
remove_all | boolean | Não | Quando active é false, indica se deve remover todos os anúncios do portal (true) ou não (false) |
Apenas o campo active é obrigatório. Todos os demais campos (user, site_id, password, token, remove_all) são opcionais e podem ser omitidos do payload.
Exemplo de Resposta
Status Code: 200 OK
{
"status": true
}
Exemplos de Uso
Ativar Autenticação com Usuário e Senha
Requisição:
{
"user": "usuario_portal",
"site_id": "12345",
"password": "senha_secreta",
"active": true
}
Resposta:
{
"status": true
}
Ativar Autenticação com Token
Requisição:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"active": true
}
Resposta:
{
"status": true
}
Desativar Autenticação (sem remover anúncios)
Requisição:
{
"active": false,
"remove_all": false
}
Resposta:
{
"status": true
}
Desativar Autenticação e Remover Todos os Anúncios
Requisição:
{
"active": false,
"remove_all": true
}
Resposta:
{
"status": true
}
Observações
- O portal especificado deve estar ativo no sistema e liberado para a loja (
dealer_id) - Quando
activeétrue, as credenciais (user,passwordoutoken) são salvas no sistema - Quando
activeéfalse, a integração é inativada - O campo
remove_allsó é considerado quandoactiveéfalse - Se
remove_allfortruequando desativar, todos os anúncios do portal serão desvinculados do integrador mas permanecerão no portal
⚠️ Importante: Portais com Autenticação OAuth
Os portais Facebook, Instagram, Mercado Livre e OLX são exceções e não utilizam este endpoint para autenticação. O processo de liberação destes portais acontece exclusivamente através do método de OAuth. Para estes portais específicos, a autenticação deve ser realizada através do fluxo OAuth próprio de cada plataforma, não sendo possível utilizar este endpoint de autenticação tradicional.
Possíveis Retornos de Erro
400 Bad Request
Retornado quando há erros de validação nos dados enviados.
{
"active": ["Este campo é obrigatório."]
}
401 Unauthorized
Retornado quando o token de autenticação não foi fornecido ou é inválido.
{
"detail": "As credenciais de autenticação não foram fornecidas."
}
ou
{
"detail": "Token inválido ou expirado."
}
403 Forbidden
Retornado quando o usuário autenticado não tem permissão para acessar este recurso.
{
"detail": "Você não tem permissão para executar essa ação."
}
404 Not Found
Retornado quando:
- O portal especificado não está liberado para a loja
- O portal não foi encontrado no sistema
{
"status": false
}
ou
{
"detail": "Portal not found."
}