Pular para o conteúdo principal

Setores

Os setores são o segundo nível da hierarquia geográfica, ligados a um município.

Hierarquia geográfica

Região → Setor → Município → Localidade
^^^^^^

GET /api/secteurs

Obtém a lista dos setores.

Endpoint

GET /api/secteurs

Headers

HeaderValorObrigatório
AuthorizationBearer {token}Sim

Parâmetros de filtro

ParâmetroTipoDescrição
commune.idUUIDFiltrar por município
commune.departement.idUUIDFiltrar por departamento
commune.departement.region.idUUIDFiltrar por região

Resposta de sucesso

Código: 200 OK

{
"@context": "/api/contexts/Secteur",
"@id": "/api/secteurs",
"@type": "hydra:Collection",
"hydra:totalItems": 156,
"hydra:member": [
{
"@id": "/api/secteurs/aa0e8400-e29b-41d4-a716-446655440001",
"@type": "Secteur",
"id": "aa0e8400-e29b-41d4-a716-446655440001",
"nom": "Secteur 1",
"code": "S01",
"commune": {
"@id": "/api/communes/bb0e8400-e29b-41d4-a716-446655440001",
"nom": "Commune 1"
}
}
],
"hydra:view": {
"@id": "/api/secteurs?page=1",
"hydra:first": "/api/secteurs?page=1",
"hydra:last": "/api/secteurs?page=6"
}
}

GET /api/secteurs/{id}

Obtém um setor pelo seu identificador.

Endpoint

GET /api/secteurs/{id}

Resposta de sucesso

Código: 200 OK

{
"@context": "/api/contexts/Secteur",
"@id": "/api/secteurs/aa0e8400-e29b-41d4-a716-446655440001",
"@type": "Secteur",
"id": "aa0e8400-e29b-41d4-a716-446655440001",
"nom": "Secteur 1",
"code": "S01",
"commune": {
"@id": "/api/communes/bb0e8400-e29b-41d4-a716-446655440001",
"@type": "Commune",
"nom": "Commune 1",
"code": "COM01"
}
}

POST /api/secteurs

Cria um novo setor (apenas ADMIN).

Endpoint

POST /api/secteurs

Corpo do pedido

{
"nom": "Nouveau Secteur",
"code": "NS01",
"commune": "/api/communes/bb0e8400-e29b-41d4-a716-446655440001"
}

Resposta de sucesso

Código: 201 Created


PUT /api/secteurs/{id}

Modifica um setor (apenas ADMIN).

Endpoint

PUT /api/secteurs/{id}

Corpo do pedido

{
"nom": "Secteur Modifié"
}

DELETE /api/secteurs/{id}

Elimina um setor (apenas ADMIN).

Endpoint

DELETE /api/secteurs/{id}

Resposta de sucesso

Código: 204 No Content


Exemplos

cURL - Lista com filtro

# Setores de um município
curl "https://sig.ucp-pch.org/api/secteurs?commune.id=bb0e8400-e29b-41d4-a716-446655440001" \
-H "Authorization: Bearer TOKEN"

# Setores de uma região
curl "https://sig.ucp-pch.org/api/secteurs?commune.departement.region.id=990e8400-e29b-41d4-a716-446655440001" \
-H "Authorization: Bearer TOKEN"

JavaScript

const getSecteurs = async (filters = {}) => {
const params = new URLSearchParams();

if (filters.communeId) {
params.append('commune.id', filters.communeId);
}
if (filters.regionId) {
params.append('commune.departement.region.id', filters.regionId);
}

const response = await fetch(
`https://sig.ucp-pch.org/api/secteurs?${params}`,
{
headers: {
'Authorization': `Bearer ${localStorage.getItem('token')}`
}
}
);
return response.json();
};

// Setores de um município específico
const secteurs = await getSecteurs({
communeId: 'bb0e8400-e29b-41d4-a716-446655440001'
});

secteurs['hydra:member'].forEach(secteur => {
console.log(`${secteur.nom} (${secteur.commune.nom})`);
});

Python

import requests

def get_secteurs(token, **filters):
params = {}
if 'commune_id' in filters:
params['commune.id'] = filters['commune_id']
if 'region_id' in filters:
params['commune.departement.region.id'] = filters['region_id']

response = requests.get(
'https://sig.ucp-pch.org/api/secteurs',
headers={'Authorization': f'Bearer {token}'},
params=params
)
return response.json()

# Setores de um município
secteurs = get_secteurs(token, commune_id='bb0e8400-...')
for s in secteurs['hydra:member']:
print(f"- {s['nom']}")

Campos

CampoTipoObrigatórioDescrição
idUUID-Identificador único
nomstringSimNome do setor
codestringNãoCódigo do setor
communeIRISimReferência ao município

Notas

  • Os setores contêm localidades
  • O filtro por região utiliza o caminho commune.departement.region.id
  • A criação/modificação/eliminação requer o papel ADMIN