N-Ways
Documentação para programadoresAlertas e exportação

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
Nota:

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
curl "https://nways.ng/maps/v1/fleet/alert-rules" \
  -H "X-NWays-Api-Key: A_SUA_CHAVE_API"
JavaScript
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()
Python
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

CampoTipoDescrição
rulesAlertRule[]Obrigatório.
rules[].idstring
rules[].namestringAté 100 caracteres.
rules[].kindstringObrigató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[].activebooleanPredefinição: true.
rules[].scopeobjectQue ativos; listas vazias = a frota inteira.
rules[].scope.vehicleIdsstring[]
rules[].scope.groupsstring[]
rules[].scope.modesstring[]
rules[].areastringgeofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones.
rules[].zoneIdsstring[]geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém).
rules[].silentSintegerPredefinição: 1800. ≥ 120, ≤ 604800.
rules[].idleSintegerPredefinição: 1200. ≥ 120, ≤ 86400.
rules[].idleRadiusMintegerPredefinição: 100. ≥ 20, ≤ 5000.
rules[].channelsstring[]Predefinição: ["email","push","webhook"].
rules[].emailRecipients
rules[].email.rolesstring[]
rules[].email.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
rules[].email.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
rules[].pushRecipients
rules[].push.rolesstring[]
rules[].push.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
rules[].push.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
rules[].quietHoursobject | nullHora de Lagos: e-mails, notificações push e webhooks esperam até ao fim.
rules[].quietHours.fromstring
rules[].quietHours.tostring
rules[].alarmsstring[]tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização.
rules[].realertSinteger0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600.
rules[].createdBystring
rules[].createdAtstring (date-time)
rules[].updatedAtstring (date-time)
200 OK
{
  "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

  • default Erro

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

CampoTipoDescrição
idstring
namestringAté 100 caracteres.
kindstringObrigató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.
activebooleanPredefinição: true.
scopeobjectQue ativos; listas vazias = a frota inteira.
scope.vehicleIdsstring[]
scope.groupsstring[]
scope.modesstring[]
areastringgeofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones.
zoneIdsstring[]geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém).
silentSintegerPredefinição: 1800. ≥ 120, ≤ 604800.
idleSintegerPredefinição: 1200. ≥ 120, ≤ 86400.
idleRadiusMintegerPredefinição: 100. ≥ 20, ≤ 5000.
channelsstring[]Predefinição: ["email","push","webhook"].
emailRecipients
email.rolesstring[]
email.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
email.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
pushRecipients
push.rolesstring[]
push.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
push.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
quietHoursobject | nullHora de Lagos: e-mails, notificações push e webhooks esperam até ao fim.
quietHours.fromstring
quietHours.tostring
alarmsstring[]tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização.
realertSinteger0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600.
createdBystring
createdAtstring (date-time)
updatedAtstring (date-time)
cURL
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}'
JavaScript
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()
Python
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

CampoTipoDescrição
idstring
namestringAté 100 caracteres.
kindstringObrigató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.
activebooleanPredefinição: true.
scopeobjectQue ativos; listas vazias = a frota inteira.
scope.vehicleIdsstring[]
scope.groupsstring[]
scope.modesstring[]
areastringgeofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones.
zoneIdsstring[]geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém).
silentSintegerPredefinição: 1800. ≥ 120, ≤ 604800.
idleSintegerPredefinição: 1200. ≥ 120, ≤ 86400.
idleRadiusMintegerPredefinição: 100. ≥ 20, ≤ 5000.
channelsstring[]Predefinição: ["email","push","webhook"].
emailRecipients
email.rolesstring[]
email.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
email.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
pushRecipients
push.rolesstring[]
push.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
push.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
quietHoursobject | nullHora de Lagos: e-mails, notificações push e webhooks esperam até ao fim.
quietHours.fromstring
quietHours.tostring
alarmsstring[]tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização.
realertSinteger0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600.
createdBystring
createdAtstring (date-time)
updatedAtstring (date-time)
201 OK
{
  "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

  • default Erro

Obter uma regra

GET https://nways.ng/maps/v1/fleet/alert-rules/{ruleId}

Parâmetros

NomeOndeTipoDescrição
ruleIdcaminhostringObrigatório.
cURL
curl "https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za" \
  -H "X-NWays-Api-Key: A_SUA_CHAVE_API"
JavaScript
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()
Python
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

CampoTipoDescrição
idstring
namestringAté 100 caracteres.
kindstringObrigató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.
activebooleanPredefinição: true.
scopeobjectQue ativos; listas vazias = a frota inteira.
scope.vehicleIdsstring[]
scope.groupsstring[]
scope.modesstring[]
areastringgeofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones.
zoneIdsstring[]geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém).
silentSintegerPredefinição: 1800. ≥ 120, ≤ 604800.
idleSintegerPredefinição: 1200. ≥ 120, ≤ 86400.
idleRadiusMintegerPredefinição: 100. ≥ 20, ≤ 5000.
channelsstring[]Predefinição: ["email","push","webhook"].
emailRecipients
email.rolesstring[]
email.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
email.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
pushRecipients
push.rolesstring[]
push.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
push.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
quietHoursobject | nullHora de Lagos: e-mails, notificações push e webhooks esperam até ao fim.
quietHours.fromstring
quietHours.tostring
alarmsstring[]tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização.
realertSinteger0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600.
createdBystring
createdAtstring (date-time)
updatedAtstring (date-time)
200 OK
{
  "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

  • default Erro

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

NomeOndeTipoDescrição
ruleIdcaminhostringObrigatório.

Corpo do pedido

CampoTipoDescrição
idstring
namestringAté 100 caracteres.
kindstringObrigató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.
activebooleanPredefinição: true.
scopeobjectQue ativos; listas vazias = a frota inteira.
scope.vehicleIdsstring[]
scope.groupsstring[]
scope.modesstring[]
areastringgeofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones.
zoneIdsstring[]geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém).
silentSintegerPredefinição: 1800. ≥ 120, ≤ 604800.
idleSintegerPredefinição: 1200. ≥ 120, ≤ 86400.
idleRadiusMintegerPredefinição: 100. ≥ 20, ≤ 5000.
channelsstring[]Predefinição: ["email","push","webhook"].
emailRecipients
email.rolesstring[]
email.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
email.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
pushRecipients
push.rolesstring[]
push.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
push.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
quietHoursobject | nullHora de Lagos: e-mails, notificações push e webhooks esperam até ao fim.
quietHours.fromstring
quietHours.tostring
alarmsstring[]tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização.
realertSinteger0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600.
createdBystring
createdAtstring (date-time)
updatedAtstring (date-time)
cURL
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}'
JavaScript
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()
Python
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

CampoTipoDescrição
idstring
namestringAté 100 caracteres.
kindstringObrigató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.
activebooleanPredefinição: true.
scopeobjectQue ativos; listas vazias = a frota inteira.
scope.vehicleIdsstring[]
scope.groupsstring[]
scope.modesstring[]
areastringgeofence_exit: a área própria de cada entrega, ou zonas. Um de: dispatch, zones.
zoneIdsstring[]geofence_*: que zonas (vazio = todas); idle: zonas onde parar não é problema (um armazém).
silentSintegerPredefinição: 1800. ≥ 120, ≤ 604800.
idleSintegerPredefinição: 1200. ≥ 120, ≤ 86400.
idleRadiusMintegerPredefinição: 100. ≥ 20, ≤ 5000.
channelsstring[]Predefinição: ["email","push","webhook"].
emailRecipients
email.rolesstring[]
email.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
email.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
pushRecipients
push.rolesstring[]
push.userIdsinteger[]Membros da equipa (ids de utilizador da consola).
push.addressesstring (email)[]Apenas e-mail: qualquer endereço. No máximo 20 elementos.
quietHoursobject | nullHora de Lagos: e-mails, notificações push e webhooks esperam até ao fim.
quietHours.fromstring
quietHours.tostring
alarmsstring[]tracker_alarm: que alarmes (vazio = todos). transferred: o rastreador foi transferido para outra organização.
realertSinteger0 = avisar uma vez; caso contrário, lembrar a cada realertS (300–86400) até ser confirmado, no máximo 10 vezes. Predefinição: 3600.
createdBystring
createdAtstring (date-time)
updatedAtstring (date-time)
200 OK
{
  "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

  • default Erro

Eliminar uma regra (os seus alertas abertos são resolvidos)

DELETE https://nways.ng/maps/v1/fleet/alert-rules/{ruleId}

Parâmetros

NomeOndeTipoDescrição
ruleIdcaminhostringObrigatório.
cURL
curl -X DELETE "https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za" \
  -H "X-NWays-Api-Key: A_SUA_CHAVE_API"
JavaScript
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()
Python
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

  • default Erro

Alertas gerados, dos mais recentes para os mais antigos

GET https://nways.ng/maps/v1/fleet/alert-events

Parâmetros

NomeOndeTipoDescrição
stateconsultastringactive = abertos ou confirmados. Um de: open, acknowledged, resolved, active.
vehicleIdconsultastring
kindconsultastringUm de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm.
limitconsultaintegerPredefinição: 100. ≥ 1, ≤ 500.
pageTokenconsultastring
cURL
curl "https://nways.ng/maps/v1/fleet/alert-events" \
  -H "X-NWays-Api-Key: A_SUA_CHAVE_API"
JavaScript
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()
Python
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

CampoTipoDescrição
alertsAlertEvent[]Obrigatório.
alerts[].idstringObrigatório.
alerts[].ruleIdstringObrigató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[].ruleNamestring
alerts[].kindstringObrigatório. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm.
alerts[].vehicleIdstringObrigatório.
alerts[].vehicleNamestring
alerts[].subjectstringtask:<id> ou zone:<id> para as geovedações; crash:<crs_id> para um acidente.
alerts[].statestringObrigatório. Um de: open, acknowledged, resolved.
alerts[].detailobjectObrigató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[].startedAtstring (date-time)Obrigatório.
alerts[].notifiedAtstring (date-time) | null
alerts[].notificationsinteger
alerts[].acknowledgedBystring
alerts[].acknowledgedAtstring (date-time) | null
alerts[].resolvedBystring
alerts[].resolvedAtstring (date-time) | null
alerts[].autoResolvedbooleanResolvido por si (de volta ao interior, com sinal de novo, em movimento).
nextPageTokenstring
200 OK
{
  "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

  • default Erro

Obter um alerta

GET https://nways.ng/maps/v1/fleet/alert-events/{alertId}

Parâmetros

NomeOndeTipoDescrição
alertIdcaminhostringObrigatório.
cURL
curl "https://nways.ng/maps/v1/fleet/alert-events/alr_8KwP2nVd5T" \
  -H "X-NWays-Api-Key: A_SUA_CHAVE_API"
JavaScript
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()
Python
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

CampoTipoDescrição
idstringObrigatório.
ruleIdstringObrigató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.
ruleNamestring
kindstringObrigatório. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm.
vehicleIdstringObrigatório.
vehicleNamestring
subjectstringtask:<id> ou zone:<id> para as geovedações; crash:<crs_id> para um acidente.
statestringObrigatório. Um de: open, acknowledged, resolved.
detailobjectObrigató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).
startedAtstring (date-time)Obrigatório.
notifiedAtstring (date-time) | null
notificationsinteger
acknowledgedBystring
acknowledgedAtstring (date-time) | null
resolvedBystring
resolvedAtstring (date-time) | null
autoResolvedbooleanResolvido por si (de volta ao interior, com sinal de novo, em movimento).
200 OK
{
  "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

  • default Erro

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

NomeOndeTipoDescrição
alertIdcaminhostringObrigatório.
cURL
curl -X POST "https://nways.ng/maps/v1/fleet/alert-events/string/acknowledge" \
  -H "X-NWays-Api-Key: A_SUA_CHAVE_API"
JavaScript
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()
Python
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

CampoTipoDescrição
idstringObrigatório.
ruleIdstringObrigató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.
ruleNamestring
kindstringObrigatório. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm.
vehicleIdstringObrigatório.
vehicleNamestring
subjectstringtask:<id> ou zone:<id> para as geovedações; crash:<crs_id> para um acidente.
statestringObrigatório. Um de: open, acknowledged, resolved.
detailobjectObrigató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).
startedAtstring (date-time)Obrigatório.
notifiedAtstring (date-time) | null
notificationsinteger
acknowledgedBystring
acknowledgedAtstring (date-time) | null
resolvedBystring
resolvedAtstring (date-time) | null
autoResolvedbooleanResolvido por si (de volta ao interior, com sinal de novo, em movimento).
200 OK
{
  "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

  • default Erro

Resolver um alerta (envia asset.alert_resolved)

POST https://nways.ng/maps/v1/fleet/alert-events/{alertId}/resolve

Parâmetros

NomeOndeTipoDescrição
alertIdcaminhostringObrigatório.
cURL
curl -X POST "https://nways.ng/maps/v1/fleet/alert-events/string/resolve" \
  -H "X-NWays-Api-Key: A_SUA_CHAVE_API"
JavaScript
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()
Python
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

CampoTipoDescrição
idstringObrigatório.
ruleIdstringObrigató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.
ruleNamestring
kindstringObrigatório. Um de: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm.
vehicleIdstringObrigatório.
vehicleNamestring
subjectstringtask:<id> ou zone:<id> para as geovedações; crash:<crs_id> para um acidente.
statestringObrigatório. Um de: open, acknowledged, resolved.
detailobjectObrigató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).
startedAtstring (date-time)Obrigatório.
notifiedAtstring (date-time) | null
notificationsinteger
acknowledgedBystring
acknowledgedAtstring (date-time) | null
resolvedBystring
resolvedAtstring (date-time) | null
autoResolvedbooleanResolvido por si (de volta ao interior, com sinal de novo, em movimento).
200 OK
{
  "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

  • default Erro

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

NomeOndeTipoDescrição
formatconsultastringUm de: csv, json. Predefinição: csv.
fromconsultastringRFC 3339, ou YYYY-MM-DD (dia de Lagos).
toconsultastring
typeconsultastringUm prefixo: asset. ou task.
cURL
curl "https://nways.ng/maps/v1/fleet/events/export" \
  -H "X-NWays-Api-Key: A_SUA_CHAVE_API"
JavaScript
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()
Python
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

  • default Erro