Lista todos os setores de uma cidade — o organograma da prefeitura —, não apenas os setores de um usuário.
Identifique a cidade por cityId ou por cidade + uf. Quando os dois vierem, cityId vence. Chaves API do tipo tenant leem sempre a própria cidade: cityId, cidade e uf informados são ignorados.
Dois identificadores saem por setor e não são intercambiáveis:
tag— identificador estável do setor. É o valor que vai emtemplateOptions.addressee.values[].valuede um campo de destinatário (next-destinatario).id— ObjectId do setor. É o que a tramitação (config.form_tramites) e o fluxograma guardam.
Setor apagado (soft-delete) não aparece. Setor bloqueado aparece com blocked: true: ele continua no organograma e ainda recebe processo antigo, mas não deve ser escolhido como destinatário de um formulário novo.
Use q para filtrar por nome, sigla ou tag — em cidade grande o organograma inteiro é pesado (a de implantação tem 614 setores). O filtro é substring, sem acento e sem caixa: fiscalizacao casa Fiscalização de Obras.
total: 0 com city preenchido e sem filteredBy significa organograma ainda não montado naquela cidade — é resposta, não erro. Já total: 0 com filteredBy significa que o seu filtro não casou, e a cidade tem cityTotal setores: são conclusões opostas. Cidade inexistente devolve 400, e cidade duplicada no mesmo UF também: nesse caso a mensagem traz os índices candidatos, para você repetir a chamada com cityId.
Atenção à diferença para
/hub-api/type/finde/hub-api/process/find-by-np, que nessa mesma situação respondem200comambiguousecandidates. Lá a lista parcial ainda é útil e a escolha fica com você; aqui devolver o organograma de uma das candidatas seria devolver o de outra prefeitura, sem nada na resposta denunciar — por isso esta rota recusa e pede ocityId.
curl -i -X GET \
'https://api.producao.aprova.com.br/hub-api/sector/list?cityId=246&cidade=Barueri&uf=SP&q=protocolo' \
-H 'x-api-key: YOUR_API_KEY_HERE'Setores da cidade
Quantidade de setores retornados (sem os apagados e já filtrados por q, quando houver)
Só quando há q — quantos setores a cidade tem no total. É o que distingue "o filtro não casou" de "a cidade não tem organograma"
- Cidade com organograma montado
- Cidade existe, organograma ainda não montado
- O filtro não casou — a cidade tem organograma
{ "city": { "index": 246, "cidade": "Barueri", "estado": "SP" }, "total": 2, "sectors": [ { … }, { … } ] }