Pular para o conteúdo principal

Portais ativos

Lista os sites de integração (portais) cadastrados no sistema que estão ativos (statusativo = true), com os metadados usados pelo integrador (URLs, limites, flags de from/to, credenciais de autenticação quando aplicável, etc.).

Equivalente a filtrar a lista de sites apenas pelos registros ativos; o mesmo viewset atende portal e site na API v3.

Endpoint

GET /v3/catalog/portal/active

Método

GET

Autenticação

JWT obrigatório:

Authorization: Bearer {access_token}

Parâmetros de consulta

Os filtros do IntegrationSiteFilter são aplicados antes do recorte de ativos. Além deles, a action aceita filtro por categoria para portais que suportam mapeamento de versão (from/to).

ParâmetroTipoDescrição
activebooleanFiltra pelo campo statusativo. Na prática, combinar com active=false tende a retornar lista vazia, pois a action sempre exige registros ativos.
has_leads_receiverbooleanFiltra portais com receptor de leads habilitado (has_leads_receiver no modelo).
version_from_categoryintegerOpcional. Restringe a portais que possuem fluxo de versão from/to para a categoria: 1 automóvel (has_from_to_version_car), 2 motocicleta (has_from_to_version_motorcycle), 3 caminhão (has_from_to_version_truck). Valores alinhados a ConstVeiculoCategoria no backend.

Exemplos

Portais ativos que suportam from/to de versão para automóvel:

GET /v3/catalog/portal/active?version_from_category=1

Portais ativos com receptor de leads:

GET /v3/catalog/portal/active?has_leads_receiver=true

Ordenação

Resultados ordenados pelo nome do portal (integradorsitenome), sem distinção de maiúsculas/minúsculas.

Resposta

Status: 200 OK

Corpo: array de objetos. Cada item segue exatamente os campos do IntegrationSiteSerializer, na ordem abaixo.

Campos de retorno

CampoTipoDescrição
idintegerIdentificador do portal (integradorsiteid).
namestringNome do site/portal.
urlstring (URL) | nullURL base do site (pode ser vazio no cadastro).
activebooleanIndica se o portal está ativo; neste endpoint será sempre true.
max_photointeger | nullLimite máximo de fotos permitidas pelo portal.
logostring (URL) | nullURL pública do logotipo (get_logo_url()).
is_onlinebooleanIntegração online (API/WebService) em vez de batch por XML.
send_payload_auditbooleanSe o sistema pode enviar payload para auditoria (ex.: Slack) ou abertura de chamado.
has_url_for_stockbooleanSe o portal oferece URL para exibir o estoque da loja.
s3_xml_folderstring | nullNome da pasta no S3 para XML de integração.
s3_xml_one_per_dealerbooleanSe há um arquivo XML por loja.
auth_key_idbooleanIndica se o portal exige credencial do tipo ID; detalhes na seção Tipos de credencial.
auth_key_passwordbooleanIndica se exige credencial do tipo senha; ver seção abaixo.
auth_key_tokenbooleanIndica se exige credencial do tipo token; ver seção abaixo.
auth_key_userbooleanIndica se exige credencial do tipo usuário; ver seção abaixo.
has_auth_token_expirebooleanSe a autenticação usa token com expiração.
auth_token_expire_timeintegerTempo de expiração do token em minutos (0 se não aplicável).
descriptionstring | nullTexto descritivo/sobre o portal.
is_freebooleanSe o portal é gratuito (true) ou pago (false).
is_km_optionalbooleanSe o envio da quilometragem pode ser opcional.
max_len_titleintegerTamanho máximo do título aceito pelo site.
allow_custom_titlebooleanSe o site permite título customizado.
format_urlbooleanSe o integrador formata/gera a URL do anúncio para o portal.
standard_messagestring | nullMensagem ou alerta padrão para exibição no front.
has_from_to_brand_carbooleanDe-para de marca na base de automóveis.
has_from_to_model_carbooleanDe-para de modelo (carro).
has_from_to_version_carbooleanDe-para de versão (carro).
has_from_to_model_by_body_carbooleanDe-para de modelo por tipo de carroceria (carro).
has_from_to_version_car_by_yearbooleanDe-para de versão de carro por ano.
has_from_to_brand_motorcyclebooleanDe-para de marca (moto).
has_from_to_model_motorcyclebooleanDe-para de modelo (moto).
has_from_to_version_motorcyclebooleanDe-para de versão (moto).
has_from_to_brand_truckbooleanDe-para de marca (caminhão).
has_from_to_model_truckbooleanDe-para de modelo (caminhão).
has_from_to_version_truckbooleanDe-para de versão (caminhão).

Tipos de credencial

Os campos auth_key_id, auth_key_password, auth_key_token e auth_key_user são chaves booleanas que identificam quais tipos de credencial o portal espera que sejam informados no fluxo de integração ou autenticação (por exemplo, ao liberar o portal para a loja ou ao enviar dados para a API do site).

  • Elas não trazem os valores reais (ID, senha, token ou usuário) — apenas sinalizam o formato ou categoria de dado necessário.
  • Quando o valor é true, aquele tipo de credencial precisa ser informado (ou é obrigatório no cadastro/configuração da integração com aquele portal).
  • Quando é false, aquele tipo não integra o conjunto de credenciais esperado para aquele portal.

Em muitos portais mais de um campo pode ser true ao mesmo tempo (por exemplo, usuário e senha). Use a combinação retornada para montar corretamente o formulário ou o payload de credenciais no seu sistema.

Exemplo

[
{
"id": 5,
"name": "Webmotors",
"url": "https://www.webmotors.com.br",
"active": true,
"max_photo": 20,
"logo": "https://media.example.com/logo/webmotors.webp",
"is_online": true,
"send_payload_audit": false,
"has_url_for_stock": true,
"s3_xml_folder": null,
"s3_xml_one_per_dealer": false,
"auth_key_id": true,
"auth_key_password": true,
"auth_key_token": false,
"auth_key_user": true,
"has_auth_token_expire": false,
"auth_token_expire_time": 0,
"description": "Portal de classificados.",
"is_free": false,
"is_km_optional": false,
"max_len_title": 60,
"allow_custom_title": true,
"format_url": true,
"standard_message": null,
"has_from_to_brand_car": true,
"has_from_to_model_car": true,
"has_from_to_version_car": true,
"has_from_to_model_by_body_car": false,
"has_from_to_version_car_by_year": false,
"has_from_to_brand_motorcycle": false,
"has_from_to_model_motorcycle": false,
"has_from_to_version_motorcycle": false,
"has_from_to_brand_truck": false,
"has_from_to_model_truck": false,
"has_from_to_version_truck": false
}
]

Erros comuns

401 Unauthorized

Token ausente ou inválido.

{
"detail": "As credenciais de autenticação não foram fornecidas."
}

403 Forbidden

Usuário sem permissão para o método (improvável em GET para usuário autenticado válido).


Referência de implementação: CatalogIntegrationSiteViewSet.active em api/v3/catalog/views.py, rota registrada em api/v3/catalog/urls.py (portal e site), serialização IntegrationSiteSerializer em api/v3/catalog/serializers.py.