APIv2 PREVENTECH
Preventech REST API v2 em JSON
Este documento tem como objectivo detalhar e especificar o funcionamento do módulo de interfaces (INT) no contexto do sistema de Gestão de Corporações.
Para autenticar um utilizador é necessário uma chave de API e um Token. Todos os endpoints da API estão disponíveis via HTTPS. O Acesso HTTP é negado. Cada chave de API autentica um utilizador dentro de uma conta e é composta por caracteres gerados aleatóriamente. Essa chave deve ser passada no header do pedido. Embora toda a comunicação esteja encriptada, aconselhamos a manter este token o mais seguro possível para evitar que terceiros tentem aceder aos dados.
Outro parâmetro a constar no header dos pedidos é o Token que será utilizado em todas as comunicações. Este Token é válido durante 7 dias pelo que deverá ser renovado.
É possível realizar até 100 pedidos por minuto para cada conta. Se este limite for excedido, receberá uma resposta de 429 Too Many Requests.
Recomendamos o tratamento deste tipo de erros de forma a controlar os pedidos seguintes.
Autenticação
Este endpoint é utilizado para autenticar o utilizador na API v2 da Preventech. Ao realizar um pedido GET para este endpoint com uma chave de API válida, o sistema valida as credenciais e devolve um token de acesso (Bearer Token) que deverá ser utilizado nos pedidos subsequentes à API.
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Accept |
application/json |
Indica que a resposta deve ser devolvida no formato JSON. |
apikey |
|
Chave de API fornecida pela Preventech para identificar e autenticar o cliente. |
Resposta Esperada
Em caso de sucesso, o endpoint devolve um objeto JSON contendo o token de autenticação (Bearer Token) e informações adicionais sobre a sessão ou o utilizador autenticado.
Nota: Guarde o token devolvido e utilize-o no header
Authorization: Bearernos pedidos seguintes que requeiram autenticação.
Chave de API fornecida
GET https://api.preventech.pt/api/v2/authentication
Incidents List — Listagem de Ocorrências
Descrição
Este endpoint retorna a lista de ocorrências (incidentes) registadas no sistema GESCORP, permitindo filtrar por intervalo de datas.
Detalhes do Pedido
| Campo | Valor |
|---|---|
| Método | GET |
| URL | https://api.preventech.pt/api/v2/gescorp/incidents/incidentsList |
Parâmetros de Query
| Parâmetro | Obrigatório | Formato | Exemplo | Descrição |
|---|---|---|---|---|
date_from |
Não | DD-MM-YYYY | 13-08-2024 | Data de início da Ocorrência |
date_to |
Não | DD-MM-YYYY | 14-08-2024 | Data de fim da Ocorrência |
Notas
-
Os parâmetros
date_fromedate_tosão opcionais. -
As datas devem ser fornecidas no formato
DD-MM-YYYY. -
A resposta é devolvida em formato JSON.
Data início da Ocorrência
Data fim da Ocorrência
GET https://api.preventech.pt/api/v2/gescorp/incidents/incidentsList?date_from=13-08-2024&date_to=14-08-2024
Incidents List By ID
Este endpoint permite obter a lista de incidentes associados a um registo específico, identificado pelo seu ID único.
Método HTTP: GET
URL: https://api.preventech.pt/api/v2/gescorp/incidents/incidentsList/{id}
Parâmetro de Rota
| Parâmetro | Tipo | Descrição |
|---|---|---|
id |
integer |
Identificador único do registo para o qual se pretende consultar os incidentes. No exemplo, o valor utilizado é 17663339. |
Cabeçalhos (Headers)
| Chave | Valor | Descrição |
|---|---|---|
Accept |
application/json |
Indica que a resposta deve ser devolvida no formato JSON. |
Corpo do Pedido (Body)
Não aplicável. Este pedido não requer corpo.
Parâmetros de Consulta (Query Params)
Não aplicável. Este pedido não utiliza parâmetros de consulta.
Resposta Esperada
A resposta é devolvida em formato JSON e contém a lista de incidentes associados ao ID fornecido. Em caso de sucesso, o código de estado HTTP retornado será 200 OK.
GET https://api.preventech.pt/api/v2/gescorp/incidents/incidentsList/17663339
GET https://api.preventech.pt/api/v2/gescorp/incidentsclassification/incidentsClassificationList
ID Ocorrência
Opções: comunicacao, posit
Opções: gescorp, sigmos
GET https://api.preventech.pt/api/v2/gescorp/incidents/incidentsTimeTapeList?id_ocorrencia=17663339&tipo=comunicacao&origem=gescorp
GET https://api.preventech.pt/api/v2/gescorp/incidentstypestate/incidentsTypeStateList
Opções: All, Source, Status, Parishes, Cities, Districts
GET https://api.preventech.pt/api/v2/gescorp/incidentsmappingtables/incidentsMappingTablesList?tabela=All
{
"id_ocorrencia": "17663339",
"id_estado": "86"
}
PUT https://api.preventech.pt/api/v2/gescorp/incidents/updateIncidentState
{
"id_ocorrencia": "17663339",
"id_estado": "86"
}
{
"id_ocorrencia": "17663339",
"id_viatura": "86",
"id_oco_viatura": "18326703",
"km_inicio": "801433",
"km_fim": "801500",
"data_saida": "12-08-2024",
"hora_saida": "16:25",
"data_chegada_to": "12-08-2024",
"hora_chegada_to": "16:30",
"data_saida_to": "12-08-2024",
"hora_saida_to": "18:25",
"data_chegada": "12-08-2024",
"hora_chegada": "18:30"
}
PUT https://api.preventech.pt/api/v2/gescorp/incidents/updateIncidentsVehicle
{
"id_ocorrencia": "17663339",
"id_viatura": "86",
"id_oco_viatura": "18326703",
"km_inicio": "801433",
"km_fim": "801500",
"data_saida": "12-08-2024",
"hora_saida": "16:25",
"data_chegada_to": "12-08-2024",
"hora_chegada_to": "16:30",
"data_saida_to": "12-08-2024",
"hora_saida_to": "18:25",
"data_chegada": "12-08-2024",
"hora_chegada": "18:30"
}
GET https://api.preventech.pt/api/v2/gescorp/incidents/incidentsList/17663339
{
"id_ocorrencia": 17663374,
"descricao": "descricao",
"trabalho_desenvolvido": "trabalho_desenvolvido2",
"csrepc": "csrepc",
"danos_causados": "danos_causados",
"vitimas_bombeiros_feridos": "86",
"vitimas_bombeiros_graves": "3",
"vitimas_bombeiros_mortos": "3",
"vitimas_bombeiros_assistidas": "3",
"vitimas_apc_feridos": "8",
"vitimas_apc_graves": "3",
"vitimas_apc_mortos": "3",
"vitimas_apc_assistidas": "3",
"vitimas_civis_feridos": "8",
"vitimas_civis_graves": "3",
"vitimas_civis_mortos": "3",
"vitimas_civis_assistidas": "3",
"desalojados_num": "3",
"desalojados_descricao": "desalojados_descricao",
"aa_outra1": "aa_outra1",
"aa_outra2": "aa_outra2",
"aa_outra3": "aa_outra3",
"aa_outra4": "aa_outra4",
"aa_outra5": "aa_outra5",
"aa_valor1": "0.08",
"aa_valor2": "0.09",
"aa_valor3": "0.10",
"aa_valor4": "0.11",
"aa_valor5": "0.12",
"data_visto_cmdt": "12-08-2024"
}
PUT https://api.preventech.pt/api/v2/gescorp/incidents/updateIncidentsReport
{
"id_ocorrencia": 17663374,
"descricao": "descricao",
"trabalho_desenvolvido": "trabalho_desenvolvido2",
"csrepc": "csrepc",
"danos_causados": "danos_causados",
"vitimas_bombeiros_feridos": "86",
"vitimas_bombeiros_graves": "3",
"vitimas_bombeiros_mortos": "3",
"vitimas_bombeiros_assistidas": "3",
"vitimas_apc_feridos": "8",
"vitimas_apc_graves": "3",
"vitimas_apc_mortos": "3",
"vitimas_apc_assistidas": "3",
"vitimas_civis_feridos": "8",
"vitimas_civis_graves": "3",
"vitimas_civis_mortos": "3",
"vitimas_civis_assistidas": "3",
"desalojados_num": "3",
"desalojados_descricao": "desalojados_descricao",
"aa_outra1": "aa_outra1",
"aa_outra2": "aa_outra2",
"aa_outra3": "aa_outra3",
"aa_outra4": "aa_outra4",
"aa_outra5": "aa_outra5",
"aa_valor1": "0.08",
"aa_valor2": "0.09",
"aa_valor3": "0.10",
"aa_valor4": "0.11",
"aa_valor5": "0.12",
"data_visto_cmdt": "12-08-2024"
}
{
"id_ocorrencia": 17663374,
"lat": "41.5000",
"lon": "-7.6433"
}
PUT https://api.preventech.pt/api/v2/gescorp/incidents/updateIncidentCoordinates
{
"id_ocorrencia": 17663374,
"lat": "41.5000",
"lon": "-7.6433"
}
{
"id_ocorrencia": "17663339",
"data": "12-08-2024",
"hora": "16:25",
"tipo": "comunicacao",
"de": "CB",
"para": "CSREPC",
"descricao": "descrição da Informação"
}
POST https://api.preventech.pt/api/v2/gescorp/incidents/insertIncidentsTimeTape
{
"id_ocorrencia": "17663339",
"data": "12-08-2024",
"hora": "16:25",
"tipo": "comunicacao",
"de": "CB",
"para": "CSREPC",
"descricao": "descrição da Informação"
}
Requests List
Retorna a lista de pedidos registados no sistema, filtrada por um intervalo de datas e, opcionalmente, por tipo de pedido.
Método: GET
URL: https://api.preventech.pt/api/v2/gescorp/requests/requestsList
Parâmetros de Query
| Parâmetro | Obrigatório | Descrição | Exemplo |
|---|---|---|---|
date_from |
Não | Data de início do intervalo de pesquisa (formato: DD-MM-YYYY) |
01-08-2024 |
date_to |
Não | Data de fim do intervalo de pesquisa (formato: DD-MM-YYYY) |
12-12-2024 |
tipo_pedido |
Não | Filtra os pedidos por tipo. Se omitido, retorna todos os tipos. | acidente |
Valores possíveis para tipo_pedido
-
emergenciaph— Emergência Pré-Hospitalar -
acidente— Acidente -
incendio— Incêndio -
transporte— Transporte -
outros— Outros -
fiscalizacao— Fiscalização
Headers
| Header | Valor |
|---|---|
Accept |
application/json |
Data início do Pedido
Data fim do Pedido
Tipo de Pedido: emergenciaph,acidente,incendio,transporte,outros,fiscalizacao
GET https://api.preventech.pt/api/v2/gescorp/requests/requestsList?date_from=01-08-2024&date_to=12-12-2024
GET https://api.preventech.pt/api/v2/gescorp/requests/requestsList/752983
GET https://api.preventech.pt/api/v2/gescorp/firefighters/firefightersList
GET https://api.preventech.pt/api/v2/gescorp/firefighters/firefightersList/33729
NIF
Opções: socio, particular, entidade
GET https://api.preventech.pt/api/v2/gescorp/entities/entitiesList?email=api@gmail.com&nif=999999990&tipo=socio
Opções: socio, particular, entidade
GET https://api.preventech.pt/api/v2/gescorp/entities/entitiesList/649707?tipo=socio
GET https://api.preventech.pt/api/v2/gescorp/members/membersList
{
"email": "cesmatos@gmail.com",
"nif": "232566020"
}
GET https://api.preventech.pt/api/v2/gescorp/members/membersPaymentMethodList
{
"email": "cesmatos@gmail.com",
"nif": "232566020"
}
{
"email": "cesmatos@gmail.com",
"nif": "232566020"
}
GET https://api.preventech.pt/api/v2/gescorp/members/membersPaymentTypeList
{
"email": "cesmatos@gmail.com",
"nif": "232566020"
}
GET https://api.preventech.pt/api/v2/gescorp/members/membersList/423451
{
"id_ocorrencia": "17663339",
"data": "12-08-2024",
"hora": "16:25",
"tipo": "comunicacao",
"de": "CB",
"para": "CSREPC",
"descricao": "descrição da Informação"
}
POST https://api.preventech.pt/api/v2/gescorp/incidents/memberFeesPayment
{
"id_ocorrencia": "17663339",
"data": "12-08-2024",
"hora": "16:25",
"tipo": "comunicacao",
"de": "CB",
"para": "CSREPC",
"descricao": "descrição da Informação"
}
GET https://api.preventech.pt/api/v2/gescorp/vehicles/vehiclesList
GET https://api.preventech.pt/api/v2/gescorp/vehicles/vehiclesGPS
GET https://api.preventech.pt/api/v2/gescorp/vehicles/vehiclesList/77
{
"id_ocorrencia": "17663339",
"id_viatura": "156",
"data": "12-08-2024",
"hora": "16:25",
"tipo": "comunicacao",
"gravidade": "comunicacao",
"nome": "CB",
"hora_transporte": "12-08-2024",
"hora_tratamento": "12-08-2024",
"descricao": "descrição da Informação"
}
POST https://api.preventech.pt/api/v2/gescorp/victims/insertVictim
{
"id_ocorrencia": "17663339",
"id_viatura": "156",
"data": "12-08-2024",
"hora": "16:25",
"tipo": "comunicacao",
"gravidade": "comunicacao",
"nome": "CB",
"hora_transporte": "12-08-2024",
"hora_tratamento": "12-08-2024",
"descricao": "descrição da Informação"
}
GET https://api.preventech.pt/api/v2/gescorp/victimsposition/victimsPositionList
ID Ocorrência
ID Viatura
GET https://api.preventech.pt/api/v2/gescorp/victims/victimsList?id_ocorrencia=17681505&id_viatura=79
GET https://api.preventech.pt/api/v2/gescorp/victims/victimsList/6622175
in,out
GET https://api.preventech.pt/api/v2/biometricsrecords/recordsList?date_from=25-03-2025&hour_from=13:00&date_to=25-03-2025&hour_to=15:00&tipo=in
{
"message": "Mensagem a enviar de teste",
"to": [
{"nome":"Carlos Matos","numero":"+351911111111"},
{"nome":"Nuno Costa","numero":"+351910000000"}
],
"urlcallback": "https://app.mobi.pt/callback.php"
}
POST https://api.preventech.pt/api/v2/gescorp/sms/sendsms
{
"message": "Mensagem a enviar de teste",
"to": [
{"nome":"Carlos Matos","numero":"+351911111111"},
{"nome":"Nuno Costa","numero":"+351910000000"}
],
"urlcallback": "https://app.mobi.pt/callback.php"
}
Incidents List — Listagem de Ocorrências
Descrição
Este endpoint retorna a lista de ocorrências (incidentes) registadas no sistema SIGMOS, permitindo filtrar por intervalo de datas.
Detalhes do Pedido
| Campo | Valor |
|---|---|
| Método | GET |
| URL | https://api.preventech.pt/api/v2/sigmos/incidents/incidentsList |
Parâmetros de Query
| Parâmetro | Obrigatório | Formato | Exemplo | Descrição |
|---|---|---|---|---|
date_from |
Não | DD-MM-YYYY | 13-08-2024 | Data de início da Ocorrência |
date_to |
Não | DD-MM-YYYY | 14-08-2024 | Data de fim da Ocorrência |
Notas
-
Os parâmetros
date_fromedate_tosão opcionais. -
As datas devem ser fornecidas no formato
DD-MM-YYYY. -
A resposta é devolvida em formato JSON.
Data início da Ocorrência
Data fim da Ocorrência
GET https://api.preventech.pt/api/v2/sigmos/incidents/incidentsList?date_from=13-08-2024&date_to=14-08-2024
{
"date_from": "10-04-2024",
"date_to": "10-04-2024"
}
GET https://api.preventech.pt/api/v2/sigmos/incidents/incidentsListPROCIV
{
"date_from": "10-04-2024",
"date_to": "10-04-2024"
}
GET https://api.preventech.pt/api/v2/sigmos/incidents/incidentsList/192291
Incidents List — Listagem de Ocorrências
Descrição
Este endpoint retorna a lista de ocorrências (incidentes) registadas no sistema GESPROCIV, permitindo filtrar por intervalo de datas.
Detalhes do Pedido
| Campo | Valor |
|---|---|
| Método | GET |
| URL | https://api.preventech.pt/api/v2/gesprociv/incidents/incidentsList |
Parâmetros de Query
| Parâmetro | Obrigatório | Formato | Exemplo | Descrição |
|---|---|---|---|---|
date_from |
Não | DD-MM-YYYY | 13-08-2024 | Data de início da Ocorrência |
date_to |
Não | DD-MM-YYYY | 14-08-2024 | Data de fim da Ocorrência |
Notas
-
Os parâmetros
date_fromedate_tosão opcionais. -
As datas devem ser fornecidas no formato
DD-MM-YYYY. -
A resposta é devolvida em formato JSON.
Data início da Ocorrência
Data fim da Ocorrência
GET https://api.preventech.pt/api/v2/gesprociv/incidents/incidentsList?date_from=10-12-2025&date_to=10-12-2025
GET https://api.preventech.pt/api/v2/gesprociv/incidents/incidentsList/17663339