Alertas e exportação de eventos
As regras que vigiam os seus veículos (uma área deixada, uma zona atravessada, silêncio, uma paragem longa), os alertas que levantam, e cada evento em CSV ou JSON.
Nesta página
- Listar regras de alerta
- Adicionar uma regra de alerta (até 100)
- Obter uma regra
- Alterar uma regra (o tipo mantém-se); active false suspende-a e resolve os seus alertas abertos
- Eliminar uma regra (os seus alertas abertos são resolvidos)
- Alertas gerados, dos mais recentes para os mais antigos
- Obter um alerta
- Confirmar um alerta aberto (sem mais lembretes; mantém-se até se resolver por si ou ser resolvido)
- Resolver um alerta (envia asset.alert_resolved)
- Descarregar todos os eventos (CSV para Excel ou Google Sheets, ou JSON)
Envie a sua chave com key=A_SUA_CHAVE_API no endereço, ou no cabeçalho X-NWays-Api-Key. Chaves de API
Endereço base: https://nways.ng/maps/v1/fleet
Listar regras de alerta
GET https://nways.ng/maps/v1/fleet/alert-rules
curl "https://nways.ng/maps/v1/fleet/alert-rules" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/alert-rules', {
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.get(
"https://nways.ng/maps/v1/fleet/alert-rules",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
Regras
| Campo | Tipo | Descrição |
|---|---|---|
rules | AlertRule[] | Obrigatório. |
rules[].id | string | |
rules[].name | string | Até 100 caracteres. |
rules[].kind | string | Obrigatório. tracker_alarm: os alarmes de um rastreador GPS (escolha quais com alarms); sem regra, SOS, corte de alimentação, reboque e acidente vão de imediato para proprietários, administradores e despachantes, e os outros uma vez. crash: o telemóvel de um motorista detetou um possível acidente e foi enviado pedido de ajuda (motoristas N-Ways apenas durante as entregas que iniciou; estafetas da N-Ways Business de serviço ou num trabalho). Uma regra de acidente só escolhe ativos, canais e destinatários; sem ela, proprietários, administradores e despachantes recebem todos os canais. As horas de silêncio nunca retêm um acidente. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
rules[].active | boolean | Predefinição: true. |
rules[].scope | object | Que ativos; listas vazias = a frota inteira. |
rules[].scope.vehicleIds | string[] | |
rules[].scope.groups | string[] | |
rules[].scope.modes | string[] | |
rules[].area | string | geofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones. |
rules[].zoneIds | string[] | geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém). |
rules[].silentS | integer | Predefinição: 1800. ≥ 120, ≤ 604800. |
rules[].idleS | integer | Predefinição: 1200. ≥ 120, ≤ 86400. |
rules[].idleRadiusM | integer | Predefinição: 100. ≥ 20, ≤ 5000. |
rules[].channels | string[] | Predefinição: ["email","push","webhook"]. |
rules[].email | Recipients | |
rules[].email.roles | string[] | |
rules[].email.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
rules[].email.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
rules[].push | Recipients | |
rules[].push.roles | string[] | |
rules[].push.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
rules[].push.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
rules[].quietHours | object | null | Hora de Lagos: e-mails, notificações push e webhooks esperam até ao fim. |
rules[].quietHours.from | string | |
rules[].quietHours.to | string | |
rules[].alarms | string[] | tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização. |
rules[].realertS | integer | 0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600. |
rules[].createdBy | string | |
rules[].createdAt | string (date-time) | |
rules[].updatedAt | string (date-time) |
{
"rules": [
{
"name": "Boats leave their route area",
"kind": "geofence_exit",
"area": "dispatch",
"scope": {
"modes": [
"boat"
]
},
"channels": [
"webhook",
"email",
"push"
],
"email": {
"roles": [
"owner",
"dispatcher"
],
"addresses": [
"ops@example.ng"
]
},
"push": {
"roles": [
"dispatcher"
]
},
"quietHours": {
"from": "22:00",
"to": "06:00"
},
"realertS": 900
}
]
}Erros
defaultErro
Adicionar uma regra de alerta (até 100)
POST https://nways.ng/maps/v1/fleet/alert-rules
Avaliadas nos nossos servidores, quer alguém tenha a consola aberta quer não: as geovedações em cada posição que envia, o silêncio e a inatividade a cada 30 segundos. Um alerta aberto por regra, ativo e assunto; um que se resolveu não volta a ser aberto durante 5 minutos; lembretes a cada realertS até ser confirmado.
Corpo do pedido
| Campo | Tipo | Descrição |
|---|---|---|
id | string | |
name | string | Até 100 caracteres. |
kind | string | Obrigatório. tracker_alarm: os alarmes de um rastreador GPS (escolha quais com alarms); sem regra, SOS, corte de alimentação, reboque e acidente vão de imediato para proprietários, administradores e despachantes, e os outros uma vez. crash: o telemóvel de um motorista detetou um possível acidente e foi enviado pedido de ajuda (motoristas N-Ways apenas durante as entregas que iniciou; estafetas da N-Ways Business de serviço ou num trabalho). Uma regra de acidente só escolhe ativos, canais e destinatários; sem ela, proprietários, administradores e despachantes recebem todos os canais. As horas de silêncio nunca retêm um acidente. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
active | boolean | Predefinição: true. |
scope | object | Que ativos; listas vazias = a frota inteira. |
scope.vehicleIds | string[] | |
scope.groups | string[] | |
scope.modes | string[] | |
area | string | geofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones. |
zoneIds | string[] | geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém). |
silentS | integer | Predefinição: 1800. ≥ 120, ≤ 604800. |
idleS | integer | Predefinição: 1200. ≥ 120, ≤ 86400. |
idleRadiusM | integer | Predefinição: 100. ≥ 20, ≤ 5000. |
channels | string[] | Predefinição: ["email","push","webhook"]. |
email | Recipients | |
email.roles | string[] | |
email.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
email.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
push | Recipients | |
push.roles | string[] | |
push.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
push.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
quietHours | object | null | Hora de Lagos: e-mails, notificações push e webhooks esperam até ao fim. |
quietHours.from | string | |
quietHours.to | string | |
alarms | string[] | tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização. |
realertS | integer | 0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600. |
createdBy | string | |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
curl -X POST "https://nways.ng/maps/v1/fleet/alert-rules" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API" \
-H "Content-Type: application/json" \
-d '{"name":"Boats leave their route area","kind":"geofence_exit","area":"dispatch","scope":{"modes":["boat"]},"channels":["webhook","email","push"],"email":{"roles":["owner","dispatcher"],"addresses":["ops@example.ng"]},"push":{"roles":["dispatcher"]},"quietHours":{"from":"22:00","to":"06:00"},"realertS":900}'const res = await fetch('https://nways.ng/maps/v1/fleet/alert-rules', {
method: 'POST',
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
"name": "Boats leave their route area",
"kind": "geofence_exit",
"area": "dispatch",
"scope": {
"modes": [
"boat"
]
},
"channels": [
"webhook",
"email",
"push"
],
"email": {
"roles": [
"owner",
"dispatcher"
],
"addresses": [
"ops@example.ng"
]
},
"push": {
"roles": [
"dispatcher"
]
},
"quietHours": {
"from": "22:00",
"to": "06:00"
},
"realertS": 900
}),
})
const data = await res.json()import os
import requests
res = requests.post(
"https://nways.ng/maps/v1/fleet/alert-rules",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
json={"name": "Boats leave their route area", "kind": "geofence_exit", "area": "dispatch", "scope": {"modes": ["boat"]}, "channels": ["webhook", "email", "push"], "email": {"roles": ["owner", "dispatcher"], "addresses": ["ops@example.ng"]}, "push": {"roles": ["dispatcher"]}, "quietHours": {"from": "22:00", "to": "06:00"}, "realertS": 900},
timeout=10,
)
data = res.json()Resposta
Criado
| Campo | Tipo | Descrição |
|---|---|---|
id | string | |
name | string | Até 100 caracteres. |
kind | string | Obrigatório. tracker_alarm: os alarmes de um rastreador GPS (escolha quais com alarms); sem regra, SOS, corte de alimentação, reboque e acidente vão de imediato para proprietários, administradores e despachantes, e os outros uma vez. crash: o telemóvel de um motorista detetou um possível acidente e foi enviado pedido de ajuda (motoristas N-Ways apenas durante as entregas que iniciou; estafetas da N-Ways Business de serviço ou num trabalho). Uma regra de acidente só escolhe ativos, canais e destinatários; sem ela, proprietários, administradores e despachantes recebem todos os canais. As horas de silêncio nunca retêm um acidente. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
active | boolean | Predefinição: true. |
scope | object | Que ativos; listas vazias = a frota inteira. |
scope.vehicleIds | string[] | |
scope.groups | string[] | |
scope.modes | string[] | |
area | string | geofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones. |
zoneIds | string[] | geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém). |
silentS | integer | Predefinição: 1800. ≥ 120, ≤ 604800. |
idleS | integer | Predefinição: 1200. ≥ 120, ≤ 86400. |
idleRadiusM | integer | Predefinição: 100. ≥ 20, ≤ 5000. |
channels | string[] | Predefinição: ["email","push","webhook"]. |
email | Recipients | |
email.roles | string[] | |
email.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
email.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
push | Recipients | |
push.roles | string[] | |
push.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
push.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
quietHours | object | null | Hora de Lagos: e-mails, notificações push e webhooks esperam até ao fim. |
quietHours.from | string | |
quietHours.to | string | |
alarms | string[] | tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização. |
realertS | integer | 0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600. |
createdBy | string | |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
{
"name": "Boats leave their route area",
"kind": "geofence_exit",
"area": "dispatch",
"scope": {
"modes": [
"boat"
]
},
"channels": [
"webhook",
"email",
"push"
],
"email": {
"roles": [
"owner",
"dispatcher"
],
"addresses": [
"ops@example.ng"
]
},
"push": {
"roles": [
"dispatcher"
]
},
"quietHours": {
"from": "22:00",
"to": "06:00"
},
"realertS": 900
}Erros
defaultErro
Obter uma regra
GET https://nways.ng/maps/v1/fleet/alert-rules/{ruleId}
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
ruleId | caminho | string | Obrigatório. |
curl "https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za', {
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.get(
"https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
A regra
| Campo | Tipo | Descrição |
|---|---|---|
id | string | |
name | string | Até 100 caracteres. |
kind | string | Obrigatório. tracker_alarm: os alarmes de um rastreador GPS (escolha quais com alarms); sem regra, SOS, corte de alimentação, reboque e acidente vão de imediato para proprietários, administradores e despachantes, e os outros uma vez. crash: o telemóvel de um motorista detetou um possível acidente e foi enviado pedido de ajuda (motoristas N-Ways apenas durante as entregas que iniciou; estafetas da N-Ways Business de serviço ou num trabalho). Uma regra de acidente só escolhe ativos, canais e destinatários; sem ela, proprietários, administradores e despachantes recebem todos os canais. As horas de silêncio nunca retêm um acidente. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
active | boolean | Predefinição: true. |
scope | object | Que ativos; listas vazias = a frota inteira. |
scope.vehicleIds | string[] | |
scope.groups | string[] | |
scope.modes | string[] | |
area | string | geofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones. |
zoneIds | string[] | geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém). |
silentS | integer | Predefinição: 1800. ≥ 120, ≤ 604800. |
idleS | integer | Predefinição: 1200. ≥ 120, ≤ 86400. |
idleRadiusM | integer | Predefinição: 100. ≥ 20, ≤ 5000. |
channels | string[] | Predefinição: ["email","push","webhook"]. |
email | Recipients | |
email.roles | string[] | |
email.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
email.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
push | Recipients | |
push.roles | string[] | |
push.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
push.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
quietHours | object | null | Hora de Lagos: e-mails, notificações push e webhooks esperam até ao fim. |
quietHours.from | string | |
quietHours.to | string | |
alarms | string[] | tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização. |
realertS | integer | 0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600. |
createdBy | string | |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
{
"name": "Boats leave their route area",
"kind": "geofence_exit",
"area": "dispatch",
"scope": {
"modes": [
"boat"
]
},
"channels": [
"webhook",
"email",
"push"
],
"email": {
"roles": [
"owner",
"dispatcher"
],
"addresses": [
"ops@example.ng"
]
},
"push": {
"roles": [
"dispatcher"
]
},
"quietHours": {
"from": "22:00",
"to": "06:00"
},
"realertS": 900
}Erros
defaultErro
Alterar uma regra (o tipo mantém-se); active false suspende-a e resolve os seus alertas abertos
PATCH https://nways.ng/maps/v1/fleet/alert-rules/{ruleId}
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
ruleId | caminho | string | Obrigatório. |
Corpo do pedido
| Campo | Tipo | Descrição |
|---|---|---|
id | string | |
name | string | Até 100 caracteres. |
kind | string | Obrigatório. tracker_alarm: os alarmes de um rastreador GPS (escolha quais com alarms); sem regra, SOS, corte de alimentação, reboque e acidente vão de imediato para proprietários, administradores e despachantes, e os outros uma vez. crash: o telemóvel de um motorista detetou um possível acidente e foi enviado pedido de ajuda (motoristas N-Ways apenas durante as entregas que iniciou; estafetas da N-Ways Business de serviço ou num trabalho). Uma regra de acidente só escolhe ativos, canais e destinatários; sem ela, proprietários, administradores e despachantes recebem todos os canais. As horas de silêncio nunca retêm um acidente. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
active | boolean | Predefinição: true. |
scope | object | Que ativos; listas vazias = a frota inteira. |
scope.vehicleIds | string[] | |
scope.groups | string[] | |
scope.modes | string[] | |
area | string | geofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones. |
zoneIds | string[] | geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém). |
silentS | integer | Predefinição: 1800. ≥ 120, ≤ 604800. |
idleS | integer | Predefinição: 1200. ≥ 120, ≤ 86400. |
idleRadiusM | integer | Predefinição: 100. ≥ 20, ≤ 5000. |
channels | string[] | Predefinição: ["email","push","webhook"]. |
email | Recipients | |
email.roles | string[] | |
email.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
email.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
push | Recipients | |
push.roles | string[] | |
push.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
push.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
quietHours | object | null | Hora de Lagos: e-mails, notificações push e webhooks esperam até ao fim. |
quietHours.from | string | |
quietHours.to | string | |
alarms | string[] | tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização. |
realertS | integer | 0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600. |
createdBy | string | |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
curl -X PATCH "https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API" \
-H "Content-Type: application/json" \
-d '{"name":"Boats leave their route area","kind":"geofence_exit","area":"dispatch","scope":{"modes":["boat"]},"channels":["webhook","email","push"],"email":{"roles":["owner","dispatcher"],"addresses":["ops@example.ng"]},"push":{"roles":["dispatcher"]},"quietHours":{"from":"22:00","to":"06:00"},"realertS":900}'const res = await fetch('https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za', {
method: 'PATCH',
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
"name": "Boats leave their route area",
"kind": "geofence_exit",
"area": "dispatch",
"scope": {
"modes": [
"boat"
]
},
"channels": [
"webhook",
"email",
"push"
],
"email": {
"roles": [
"owner",
"dispatcher"
],
"addresses": [
"ops@example.ng"
]
},
"push": {
"roles": [
"dispatcher"
]
},
"quietHours": {
"from": "22:00",
"to": "06:00"
},
"realertS": 900
}),
})
const data = await res.json()import os
import requests
res = requests.patch(
"https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
json={"name": "Boats leave their route area", "kind": "geofence_exit", "area": "dispatch", "scope": {"modes": ["boat"]}, "channels": ["webhook", "email", "push"], "email": {"roles": ["owner", "dispatcher"], "addresses": ["ops@example.ng"]}, "push": {"roles": ["dispatcher"]}, "quietHours": {"from": "22:00", "to": "06:00"}, "realertS": 900},
timeout=10,
)
data = res.json()Resposta
A regra
| Campo | Tipo | Descrição |
|---|---|---|
id | string | |
name | string | Até 100 caracteres. |
kind | string | Obrigatório. tracker_alarm: os alarmes de um rastreador GPS (escolha quais com alarms); sem regra, SOS, corte de alimentação, reboque e acidente vão de imediato para proprietários, administradores e despachantes, e os outros uma vez. crash: o telemóvel de um motorista detetou um possível acidente e foi enviado pedido de ajuda (motoristas N-Ways apenas durante as entregas que iniciou; estafetas da N-Ways Business de serviço ou num trabalho). Uma regra de acidente só escolhe ativos, canais e destinatários; sem ela, proprietários, administradores e despachantes recebem todos os canais. As horas de silêncio nunca retêm um acidente. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
active | boolean | Predefinição: true. |
scope | object | Que ativos; listas vazias = a frota inteira. |
scope.vehicleIds | string[] | |
scope.groups | string[] | |
scope.modes | string[] | |
area | string | geofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones. |
zoneIds | string[] | geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém). |
silentS | integer | Predefinição: 1800. ≥ 120, ≤ 604800. |
idleS | integer | Predefinição: 1200. ≥ 120, ≤ 86400. |
idleRadiusM | integer | Predefinição: 100. ≥ 20, ≤ 5000. |
channels | string[] | Predefinição: ["email","push","webhook"]. |
email | Recipients | |
email.roles | string[] | |
email.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
email.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
push | Recipients | |
push.roles | string[] | |
push.userIds | integer[] | Membros da equipa (ids de utilizador da consola). |
push.addresses | string (email)[] | Apenas e-mail: qualquer endereço. No máximo 20 elementos. |
quietHours | object | null | Hora de Lagos: e-mails, notificações push e webhooks esperam até ao fim. |
quietHours.from | string | |
quietHours.to | string | |
alarms | string[] | tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização. |
realertS | integer | 0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600. |
createdBy | string | |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
{
"name": "Boats leave their route area",
"kind": "geofence_exit",
"area": "dispatch",
"scope": {
"modes": [
"boat"
]
},
"channels": [
"webhook",
"email",
"push"
],
"email": {
"roles": [
"owner",
"dispatcher"
],
"addresses": [
"ops@example.ng"
]
},
"push": {
"roles": [
"dispatcher"
]
},
"quietHours": {
"from": "22:00",
"to": "06:00"
},
"realertS": 900
}Erros
defaultErro
Eliminar uma regra (os seus alertas abertos são resolvidos)
DELETE https://nways.ng/maps/v1/fleet/alert-rules/{ruleId}
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
ruleId | caminho | string | Obrigatório. |
curl -X DELETE "https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za', {
method: 'DELETE',
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.delete(
"https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
Eliminado
Sem conteúdo.
Erros
defaultErro
Alertas gerados, dos mais recentes para os mais antigos
GET https://nways.ng/maps/v1/fleet/alert-events
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
state | consulta | string | active = abertos ou confirmados. Um de: open, acknowledged, resolved, active. |
vehicleId | consulta | string | |
kind | consulta | string | Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
limit | consulta | integer | Predefinição: 100. ≥ 1, ≤ 500. |
pageToken | consulta | string |
curl "https://nways.ng/maps/v1/fleet/alert-events" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/alert-events', {
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.get(
"https://nways.ng/maps/v1/fleet/alert-events",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
Alertas
| Campo | Tipo | Descrição |
|---|---|---|
alerts | AlertEvent[] | Obrigatório. |
alerts[].id | string | Obrigatório. |
alerts[].ruleId | string | Obrigatório. Um id de regra, ou default:dispatch para uma área de entrega sem regra própria, default:crash para um acidente sem regra de acidente. |
alerts[].ruleName | string | |
alerts[].kind | string | Obrigatório. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
alerts[].vehicleId | string | Obrigatório. |
alerts[].vehicleName | string | |
alerts[].subject | string | task:<id> ou zone:<id> para as geovedações; crash:<crs_id> para um acidente. |
alerts[].state | string | Obrigatório. Um de: open, acknowledged, resolved. |
alerts[].detail | object | Obrigatório. position, at, taskId, area, zoneId, zoneName, lastSeenAt, since…; um acidente: crashId, at, position, accuracyM, speedBeforeKmh, road, driverName, driverPhone (quando o tem), taskId, taskRef, taskLabel, state (help | resolved), resolvedHow (ok | help_here). |
alerts[].startedAt | string (date-time) | Obrigatório. |
alerts[].notifiedAt | string (date-time) | null | |
alerts[].notifications | integer | |
alerts[].acknowledgedBy | string | |
alerts[].acknowledgedAt | string (date-time) | null | |
alerts[].resolvedBy | string | |
alerts[].resolvedAt | string (date-time) | null | |
alerts[].autoResolved | boolean | Resolvido por si (de volta ao interior, com sinal de novo, em movimento). |
nextPageToken | string |
{
"alerts": [
{
"id": "alr_8KwP2nVd5T",
"ruleId": "string",
"ruleName": "string",
"kind": "geofence_exit",
"vehicleId": "string",
"vehicleName": "string",
"subject": "string",
"state": "open",
"detail": {},
"startedAt": "2026-10-15T09:00:00+01:00",
"notifiedAt": "2026-10-15T09:00:00+01:00",
"notifications": 0,
"acknowledgedBy": "string",
"acknowledgedAt": "2026-10-15T09:00:00+01:00",
"resolvedBy": "string",
"resolvedAt": "2026-10-15T09:00:00+01:00",
"autoResolved": true
}
],
"nextPageToken": "string"
}Erros
defaultErro
Obter um alerta
GET https://nways.ng/maps/v1/fleet/alert-events/{alertId}
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
alertId | caminho | string | Obrigatório. |
curl "https://nways.ng/maps/v1/fleet/alert-events/alr_8KwP2nVd5T" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/alert-events/alr_8KwP2nVd5T', {
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.get(
"https://nways.ng/maps/v1/fleet/alert-events/alr_8KwP2nVd5T",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
O alerta
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Obrigatório. |
ruleId | string | Obrigatório. Um id de regra, ou default:dispatch para uma área de entrega sem regra própria, default:crash para um acidente sem regra de acidente. |
ruleName | string | |
kind | string | Obrigatório. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
vehicleId | string | Obrigatório. |
vehicleName | string | |
subject | string | task:<id> ou zone:<id> para as geovedações; crash:<crs_id> para um acidente. |
state | string | Obrigatório. Um de: open, acknowledged, resolved. |
detail | object | Obrigatório. position, at, taskId, area, zoneId, zoneName, lastSeenAt, since…; um acidente: crashId, at, position, accuracyM, speedBeforeKmh, road, driverName, driverPhone (quando o tem), taskId, taskRef, taskLabel, state (help | resolved), resolvedHow (ok | help_here). |
startedAt | string (date-time) | Obrigatório. |
notifiedAt | string (date-time) | null | |
notifications | integer | |
acknowledgedBy | string | |
acknowledgedAt | string (date-time) | null | |
resolvedBy | string | |
resolvedAt | string (date-time) | null | |
autoResolved | boolean | Resolvido por si (de volta ao interior, com sinal de novo, em movimento). |
{
"id": "alr_8KwP2nVd5T",
"ruleId": "string",
"ruleName": "string",
"kind": "geofence_exit",
"vehicleId": "string",
"vehicleName": "string",
"subject": "string",
"state": "open",
"detail": {},
"startedAt": "2026-10-15T09:00:00+01:00",
"notifiedAt": "2026-10-15T09:00:00+01:00",
"notifications": 0,
"acknowledgedBy": "string",
"acknowledgedAt": "2026-10-15T09:00:00+01:00",
"resolvedBy": "string",
"resolvedAt": "2026-10-15T09:00:00+01:00",
"autoResolved": true
}Erros
defaultErro
Confirmar um alerta aberto (sem mais lembretes; mantém-se até se resolver por si ou ser resolvido)
POST https://nways.ng/maps/v1/fleet/alert-events/{alertId}/acknowledge
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
alertId | caminho | string | Obrigatório. |
curl -X POST "https://nways.ng/maps/v1/fleet/alert-events/string/acknowledge" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/alert-events/string/acknowledge', {
method: 'POST',
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.post(
"https://nways.ng/maps/v1/fleet/alert-events/string/acknowledge",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
O alerta
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Obrigatório. |
ruleId | string | Obrigatório. Um id de regra, ou default:dispatch para uma área de entrega sem regra própria, default:crash para um acidente sem regra de acidente. |
ruleName | string | |
kind | string | Obrigatório. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
vehicleId | string | Obrigatório. |
vehicleName | string | |
subject | string | task:<id> ou zone:<id> para as geovedações; crash:<crs_id> para um acidente. |
state | string | Obrigatório. Um de: open, acknowledged, resolved. |
detail | object | Obrigatório. position, at, taskId, area, zoneId, zoneName, lastSeenAt, since…; um acidente: crashId, at, position, accuracyM, speedBeforeKmh, road, driverName, driverPhone (quando o tem), taskId, taskRef, taskLabel, state (help | resolved), resolvedHow (ok | help_here). |
startedAt | string (date-time) | Obrigatório. |
notifiedAt | string (date-time) | null | |
notifications | integer | |
acknowledgedBy | string | |
acknowledgedAt | string (date-time) | null | |
resolvedBy | string | |
resolvedAt | string (date-time) | null | |
autoResolved | boolean | Resolvido por si (de volta ao interior, com sinal de novo, em movimento). |
{
"id": "alr_8KwP2nVd5T",
"ruleId": "string",
"ruleName": "string",
"kind": "geofence_exit",
"vehicleId": "string",
"vehicleName": "string",
"subject": "string",
"state": "open",
"detail": {},
"startedAt": "2026-10-15T09:00:00+01:00",
"notifiedAt": "2026-10-15T09:00:00+01:00",
"notifications": 0,
"acknowledgedBy": "string",
"acknowledgedAt": "2026-10-15T09:00:00+01:00",
"resolvedBy": "string",
"resolvedAt": "2026-10-15T09:00:00+01:00",
"autoResolved": true
}Erros
defaultErro
Resolver um alerta (envia asset.alert_resolved)
POST https://nways.ng/maps/v1/fleet/alert-events/{alertId}/resolve
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
alertId | caminho | string | Obrigatório. |
curl -X POST "https://nways.ng/maps/v1/fleet/alert-events/string/resolve" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/alert-events/string/resolve', {
method: 'POST',
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.post(
"https://nways.ng/maps/v1/fleet/alert-events/string/resolve",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
O alerta
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Obrigatório. |
ruleId | string | Obrigatório. Um id de regra, ou default:dispatch para uma área de entrega sem regra própria, default:crash para um acidente sem regra de acidente. |
ruleName | string | |
kind | string | Obrigatório. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
vehicleId | string | Obrigatório. |
vehicleName | string | |
subject | string | task:<id> ou zone:<id> para as geovedações; crash:<crs_id> para um acidente. |
state | string | Obrigatório. Um de: open, acknowledged, resolved. |
detail | object | Obrigatório. position, at, taskId, area, zoneId, zoneName, lastSeenAt, since…; um acidente: crashId, at, position, accuracyM, speedBeforeKmh, road, driverName, driverPhone (quando o tem), taskId, taskRef, taskLabel, state (help | resolved), resolvedHow (ok | help_here). |
startedAt | string (date-time) | Obrigatório. |
notifiedAt | string (date-time) | null | |
notifications | integer | |
acknowledgedBy | string | |
acknowledgedAt | string (date-time) | null | |
resolvedBy | string | |
resolvedAt | string (date-time) | null | |
autoResolved | boolean | Resolvido por si (de volta ao interior, com sinal de novo, em movimento). |
{
"id": "alr_8KwP2nVd5T",
"ruleId": "string",
"ruleName": "string",
"kind": "geofence_exit",
"vehicleId": "string",
"vehicleName": "string",
"subject": "string",
"state": "open",
"detail": {},
"startedAt": "2026-10-15T09:00:00+01:00",
"notifiedAt": "2026-10-15T09:00:00+01:00",
"notifications": 0,
"acknowledgedBy": "string",
"acknowledgedAt": "2026-10-15T09:00:00+01:00",
"resolvedBy": "string",
"resolvedAt": "2026-10-15T09:00:00+01:00",
"autoResolved": true
}Erros
defaultErro
Descarregar todos os eventos (CSV para Excel ou Google Sheets, ou JSON)
GET https://nways.ng/maps/v1/fleet/events/export
Os mesmos conteúdos que os webhooks recebem, guardados enquanto o seu histórico (retentionDays). No máximo 100 000 por descarga.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
format | consulta | string | Um de: csv, json. Predefinição: csv. |
from | consulta | string | RFC 3339, ou YYYY-MM-DD (dia de Lagos). |
to | consulta | string | |
type | consulta | string | Um prefixo: asset. ou task. |
curl "https://nways.ng/maps/v1/fleet/events/export" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/events/export', {
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY },
})
const data = await res.json()import os
import requests
res = requests.get(
"https://nways.ng/maps/v1/fleet/events/export",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
Os eventos
Erros
defaultErro