Skip to content

Pessoas ​

Os condóminos e demais pessoas ligadas a uma fração, e a procura de uma pessoa pelos seus contactos.

Dados pessoais

Esta área devolve nomes, moradas de correio, telefones e números de contribuinte de pessoas singulares. Requer people:read, que é concedido caso a caso, e traz consigo as obrigações de tratamento de dados pessoais que o seu sistema tem de cumprir.

Pessoas de uma fração ​

GET /fractions/{idFraction}/clients

Permissão · people:read

Parâmetros ​

ParâmetroTipoPor omissãoDescrição
idFractioninteiro—No caminho. A fração
currentOnlybooleanotrueApenas as ligações em vigor. false traz também as que terminaram

Pedido ​

bash
curl "https://servidor.exemplo/api/integrations/v1/acme/fractions/340/clients" \
  -H "ApiKey: $GC_API_KEY"

Resposta · 200 ​

Array simples, sem envelope — uma fração tem poucas pessoas ligadas.

json
[
  {
    "IdFraction": 340,
    "IdClient": 87,
    "Code": "C0087",
    "Name": "Maria Silva",
    "SecondName": "",
    "Relation": "proprietary",
    "BeginDate": "2019-03-01T00:00:00",
    "EndDate": null,
    "Percentage": 100.0,
    "EMails": ["maria.silva@exemplo.pt"],
    "Phones": ["213456789"],
    "MobilePhones": ["912345678"],
    "Authorisations": {
      "EMail": true,
      "SMS": true,
      "Phone": false,
      "SharePhone": false
    }
  }
]
CampoTipoDescrição
IdFractioninteiroA fração
IdClientinteiroA pessoa. É o IdClient que abrir uma ocorrência aceita
CodetextoCódigo da pessoa na empresa
NametextoNome
SecondNametextoSegundo titular, quando a posição é partilhada
RelationtextoO papel. Ver a tabela abaixo
BeginDatedataInício da ligação à fração
EndDatedataFim da ligação. null enquanto estiver em vigor
PercentagedecimalQuota-parte na propriedade. null no arrendamento
emailslista de textoEndereços de correio
Phoneslista de textoTelefones fixos
MobilePhoneslista de textoTelemóveis
AuthorisationsobjetoO que a pessoa autorizou. Ver abaixo

Os papéis ​

RelationSignificado
proprietaryProprietário
usufructuaryUsufrutuário
proxyProcurador
renterLocatário, na ficha de propriedade
tenantArrendatário, do registo de arrendamento, com datas próprias

Uma fração pode ter várias pessoas em simultâneo, com papéis diferentes — e mais do que uma no mesmo papel, quando a propriedade é partilhada. O Percentage diz a quota-parte de cada uma.

Autorizações de contacto ​

json
"Authorisations": { "EMail": true, "SMS": true, "Phone": false, "SharePhone": false }
CampoO que autoriza
emailSer contactada por correio eletrónico
SMSSer contactada por SMS
PhoneSer contactada por telefone
SharePhoneO seu telefone ser partilhado com terceiros

Respeite as autorizações

São o registo do que a pessoa consentiu. Enviar uma mensagem a quem tem email a false, ou entregar o telefone de quem tem SharePhone a false a um fornecedor, é responsabilidade de quem o faz. A API entrega os contactos; a decisão de os usar é sua.

Erros ​

EstadoCódigoQuando
401INVALID_KEY · KEY_REVOKED · KEY_EXPIREDVer Autenticação
403FORBIDDEN_SCOPEA credencial não tem people:read
404FRACTION_NOT_FOUNDNão existe fração com esse identificador

Procurar uma pessoa ​

GET /clients/search

Permissão · people:read

Encontra uma pessoa pelo contacto, e devolve todas as frações a que está ligada, em todos os condomínios. É o que permite identificar quem está do outro lado de um telefonema ou de uma mensagem.

Parâmetros ​

ParâmetroTipoPor omissãoDescrição
emailtexto—Endereço de correio
phonetexto—Telefone ou telemóvel
taxIdtexto—Número de contribuinte
limitinteiro50Registos por página, no máximo 500
cursortexto—Cursor da página seguinte

Pelo menos um de email, phone ou taxId é obrigatório. Podem ser combinados.

Pedido ​

bash
curl "https://servidor.exemplo/api/integrations/v1/acme/clients/search?phone=912345678" \
  -H "ApiKey: $GC_API_KEY"

Resposta · 200 ​

json
{
  "Items": [
    {
      "Id": 87,
      "Code": "C0087",
      "Name": "Maria Silva",
      "SecondName": "",
      "TaxId": "123456789",
      "EMails": ["maria.silva@exemplo.pt"],
      "MobilePhones": ["912345678"],
      "Authorisations": { "EMail": true, "SMS": true, "Phone": false, "SharePhone": false },
      "Fractions": [
        {
          "IdFraction": 340,
          "FractionCode": "A",
          "IdBuilding": 12,
          "BuildingCode": "0012",
          "BuildingName": "Edifício Girassol",
          "Relation": "proprietary",
          "Current": true
        }
      ]
    }
  ],
  "Paging": { "Limit": 50, "NextCursor": null, "HasMore": false }
}

Cada entrada de Fractions traz o condomínio já identificado, para não ter de o ir buscar, e Current diz se a ligação está em vigor.

Como funciona cada critério ​

Por telefone — a comparação é feita sobre os últimos 9 dígitos, depois de retirados espaços, traços e indicativos. +351 912 345 678, 912345678 e 912-345-678 encontram a mesma pessoa.

A procura por telefone é aproximada

Os números são escritos à mão na aplicação, sem formato imposto. A comparação pelos últimos dígitos é o que dá melhores resultados, mas pode devolver mais do que uma pessoa, ou nenhuma quando o número está registado de forma invulgar. Não a use como identificação segura de alguém.

Por correio — um condómino pode ter vários endereços registados no mesmo campo. A procura percorre todos.

Por contribuinte — tem de ser numérico; caso contrário responde INVALID_TAX_ID.

Erros ​

EstadoCódigoQuando
400MISSING_CRITERIANão foi dado nenhum de email, phone ou taxId
400INVALID_TAX_IDO taxId não é numérico
400INVALID_CURSORO cursor não foi emitido por esta API
401INVALID_KEY · KEY_REVOKED · KEY_EXPIREDVer Autenticação
403FORBIDDEN_SCOPEA credencial não tem people:read

O MISSING_CRITERIA existe porque uma procura sem critérios devolveria todos os condóminos da empresa de uma vez — o que não é uma procura.

API de Integração GC