Skip to content

Contratos de manutenção ​

Os contratos de manutenção de um condomínio, com o tipo de serviço, quem o presta e a periodicidade.

É o que diz a quem uma ocorrência de determinado tipo de serviço deve ser entregue — a aplicação usa o mesmo critério quando atribui automaticamente.

Listar os contratos de um condomínio ​

GET /buildings/{idBuilding}/maintenance-contracts

Permissão · masterdata:read

Parâmetros ​

ParâmetroTipoPor omissãoDescrição
idBuildinginteiro—No caminho. O condomínio
activeOndatatodosSó os contratos em vigor nessa data

Pedido ​

bash
# todos
curl "https://servidor.exemplo/api/integrations/v1/acme/buildings/12/maintenance-contracts" \
  -H "ApiKey: $GC_API_KEY"

# os que estão em vigor hoje
curl "https://servidor.exemplo/api/integrations/v1/acme/buildings/12/maintenance-contracts?activeOn=2026-09-25" \
  -H "ApiKey: $GC_API_KEY"

Resposta · 200 ​

Array simples, sem envelope — um condomínio tem poucos contratos.

json
[
  {
    "Id": 55,
    "IdBuilding": 12,
    "BuildingCode": "0012",
    "ServiceType": { "Id": 7, "Description": "Elevadores" },
    "Description": { "Id": 3, "Description": "Manutenção preventiva mensal" },
    "AssignedTo": { "Kind": "supplier", "Id": 88, "Name": "Elevadores Norte, Lda." },
    "SporadicService": false,
    "BeginDate": "2024-01-01T00:00:00",
    "DurationMonths": 12,
    "EndDate": null,
    "SelfRenewing": true,
    "RenewalDays": 30,
    "TerminationAlertDays": 60,
    "Periodicity": { "Id": 2, "Description": "Mensal" },
    "DaysOfWeek": "2",
    "CreatesTasksAutomatically": true,
    "HasFile": true
  }
]
CampoTipoDescrição
IdinteiroIdentificador do contrato
IdBuilding · BuildingCodeinteiro · textoO condomínio
ServiceTypeobjetoTipo de serviço. Ver /reference/service-types
DescriptionobjetoDesignação do contrato. Pode vir a null
AssignedToobjetoQuem presta o serviço. Pode vir a null
SporadicServicebooleanotrue num contrato chamado quando é preciso, e não com periodicidade
BeginDatedataInício
DurationMonthsinteiroDuração em meses
EndDatedataFim. null num contrato sem termo definido
SelfRenewingbooleanoRenova-se automaticamente
RenewalDaysinteiroDias de antecedência da renovação. Pode vir a null
TerminationAlertDaysinteiroDias de antecedência do aviso de denúncia. Pode vir a null
PeriodicityobjetoPeriodicidade das intervenções. Pode vir a null
DaysOfWeektextoDias da semana das intervenções
CreatesTasksAutomaticallybooleanoA aplicação abre as tarefas de manutenção sozinha
HasFilebooleanoExiste um ficheiro do contrato arquivado

Num contrato esporádico, a periodicidade não diz nada

Com SporadicService a true, os campos Periodicity e DaysOfWeek não têm significado — o contrato é chamado quando é necessário. Ignore-os nesse caso.

Quem presta o serviço ​

json
"AssignedTo": { "Kind": "supplier", "Id": 88, "Name": "Elevadores Norte, Lda." }
KindSignificadoOnde está listado
supplierUm fornecedor externo/suppliers
userUm utilizador da empresa/assignees

Um contrato é de um ou de outro, nunca dos dois. Quando não tem nenhum atribuído, AssignedTo vem a null.

É a mesma forma usada nas ocorrências, de propósito: o que sai de um AssignedTo entra diretamente numa atribuição.

O ficheiro do contrato ​

HasFile diz que existe um ficheiro arquivado, mas a v1 não o serve. Só os anexos de ocorrências e de intervenções têm ponto de descarga.

Erros ​

EstadoCódigoQuando
401INVALID_KEY · KEY_REVOKED · KEY_EXPIREDVer Autenticação
403FORBIDDEN_SCOPEA credencial não tem masterdata:read
404BUILDING_NOT_FOUNDNão existe condomínio com esse identificador

API de Integração GC