Alertes et export des événements
Les règles qui surveillent vos véhicules (zone quittée, zone franchie, silence, arrêt prolongé), les alertes qu’elles lèvent, et chaque événement en CSV ou JSON.
Sur cette page
- Lister les règles d’alerte
- Ajouter une règle d’alerte (100 au plus)
- Obtenir une règle
- Modifier une règle (le type reste) ; active false la met en pause et résout ses alertes ouvertes
- Supprimer une règle (ses alertes ouvertes sont résolues)
- Les alertes levées, de la plus récente à la plus ancienne
- Obtenir une alerte
- Prendre en compte une alerte ouverte (plus de rappels ; elle reste jusqu’à ce qu’elle cesse ou soit résolue)
- Résoudre une alerte (envoie asset.alert_resolved)
- Télécharger tous les événements (CSV pour Excel ou Google Sheets, ou JSON)
Envoyez votre clé avec key=VOTRE_CLE_API dans l’adresse, ou dans l’en-tête X-NWays-Api-Key. Clés d’API
Adresse de base : https://nways.ng/maps/v1/fleet
Lister les règles d’alerte
GET https://nways.ng/maps/v1/fleet/alert-rules
curl "https://nways.ng/maps/v1/fleet/alert-rules" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
Règles
| Champ | Type | Description |
|---|---|---|
rules | AlertRule[] | Obligatoire. |
rules[].id | string | |
rules[].name | string | 100 caractères au plus. |
rules[].kind | string | Obligatoire. tracker_alarm : les alarmes d’un traceur GPS (choisissez lesquelles avec alarms) ; sans règle, SOS, coupure, remorquage et choc vont aussitôt aux propriétaires, administrateurs et répartiteurs, les autres une fois. crash : le téléphone d’un livreur a détecté un accident possible et de l’aide a été demandée (livreurs N-Ways uniquement pendant vos livraisons démarrées ; livreurs N-Ways Business en service ou sur une course). Une règle crash choisit seulement les véhicules, les canaux et les destinataires ; sans règle, les propriétaires, administrateurs et répartiteurs reçoivent tous les canaux. Les heures calmes ne retardent jamais un accident. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
rules[].active | boolean | Par défaut: true. |
rules[].scope | object | Quels véhicules ; listes vides = toute la flotte. |
rules[].scope.vehicleIds | string[] | |
rules[].scope.groups | string[] | |
rules[].scope.modes | string[] | |
rules[].area | string | geofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones. |
rules[].zoneIds | string[] | geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt). |
rules[].silentS | integer | Par défaut: 1800. ≥ 120, ≤ 604800. |
rules[].idleS | integer | Par défaut: 1200. ≥ 120, ≤ 86400. |
rules[].idleRadiusM | integer | Par défaut: 100. ≥ 20, ≤ 5000. |
rules[].channels | string[] | Par défaut: ["email","push","webhook"]. |
rules[].email | Recipients | |
rules[].email.roles | string[] | |
rules[].email.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
rules[].email.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
rules[].push | Recipients | |
rules[].push.roles | string[] | |
rules[].push.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
rules[].push.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
rules[].quietHours | object | null | Heure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage. |
rules[].quietHours.from | string | |
rules[].quietHours.to | string | |
rules[].alarms | string[] | tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation. |
rules[].realertS | integer | 0 = prévenir une fois ; sinon rappeler toutes les realertS (300–86400) jusqu’à la prise en compte, 10 fois au plus. Par défaut: 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
}
]
}Erreurs
defaultErreur
Ajouter une règle d’alerte (100 au plus)
POST https://nways.ng/maps/v1/fleet/alert-rules
Évaluées sur nos serveurs, que la console soit ouverte ou non : les zones à chaque position envoyée, le silence et l’arrêt toutes les 30 secondes. Une alerte ouverte par règle, véhicule et sujet ; une alerte levée n’est pas rouverte avant 5 minutes ; rappels toutes les realertS jusqu’à la prise en compte.
Corps de la requête
| Champ | Type | Description |
|---|---|---|
id | string | |
name | string | 100 caractères au plus. |
kind | string | Obligatoire. tracker_alarm : les alarmes d’un traceur GPS (choisissez lesquelles avec alarms) ; sans règle, SOS, coupure, remorquage et choc vont aussitôt aux propriétaires, administrateurs et répartiteurs, les autres une fois. crash : le téléphone d’un livreur a détecté un accident possible et de l’aide a été demandée (livreurs N-Ways uniquement pendant vos livraisons démarrées ; livreurs N-Ways Business en service ou sur une course). Une règle crash choisit seulement les véhicules, les canaux et les destinataires ; sans règle, les propriétaires, administrateurs et répartiteurs reçoivent tous les canaux. Les heures calmes ne retardent jamais un accident. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
active | boolean | Par défaut: true. |
scope | object | Quels véhicules ; listes vides = toute la flotte. |
scope.vehicleIds | string[] | |
scope.groups | string[] | |
scope.modes | string[] | |
area | string | geofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones. |
zoneIds | string[] | geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt). |
silentS | integer | Par défaut: 1800. ≥ 120, ≤ 604800. |
idleS | integer | Par défaut: 1200. ≥ 120, ≤ 86400. |
idleRadiusM | integer | Par défaut: 100. ≥ 20, ≤ 5000. |
channels | string[] | Par défaut: ["email","push","webhook"]. |
email | Recipients | |
email.roles | string[] | |
email.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
email.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
push | Recipients | |
push.roles | string[] | |
push.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
push.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
quietHours | object | null | Heure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage. |
quietHours.from | string | |
quietHours.to | string | |
alarms | string[] | tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation. |
realertS | integer | 0 = prévenir une fois ; sinon rappeler toutes les realertS (300–86400) jusqu’à la prise en compte, 10 fois au plus. Par défaut: 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: VOTRE_CLE_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()Réponse
Créé
| Champ | Type | Description |
|---|---|---|
id | string | |
name | string | 100 caractères au plus. |
kind | string | Obligatoire. tracker_alarm : les alarmes d’un traceur GPS (choisissez lesquelles avec alarms) ; sans règle, SOS, coupure, remorquage et choc vont aussitôt aux propriétaires, administrateurs et répartiteurs, les autres une fois. crash : le téléphone d’un livreur a détecté un accident possible et de l’aide a été demandée (livreurs N-Ways uniquement pendant vos livraisons démarrées ; livreurs N-Ways Business en service ou sur une course). Une règle crash choisit seulement les véhicules, les canaux et les destinataires ; sans règle, les propriétaires, administrateurs et répartiteurs reçoivent tous les canaux. Les heures calmes ne retardent jamais un accident. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
active | boolean | Par défaut: true. |
scope | object | Quels véhicules ; listes vides = toute la flotte. |
scope.vehicleIds | string[] | |
scope.groups | string[] | |
scope.modes | string[] | |
area | string | geofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones. |
zoneIds | string[] | geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt). |
silentS | integer | Par défaut: 1800. ≥ 120, ≤ 604800. |
idleS | integer | Par défaut: 1200. ≥ 120, ≤ 86400. |
idleRadiusM | integer | Par défaut: 100. ≥ 20, ≤ 5000. |
channels | string[] | Par défaut: ["email","push","webhook"]. |
email | Recipients | |
email.roles | string[] | |
email.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
email.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
push | Recipients | |
push.roles | string[] | |
push.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
push.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
quietHours | object | null | Heure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage. |
quietHours.from | string | |
quietHours.to | string | |
alarms | string[] | tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation. |
realertS | integer | 0 = prévenir une fois ; sinon rappeler toutes les realertS (300–86400) jusqu’à la prise en compte, 10 fois au plus. Par défaut: 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
}Erreurs
defaultErreur
Obtenir une règle
GET https://nways.ng/maps/v1/fleet/alert-rules/{ruleId}
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
ruleId | chemin | string | Obligatoire. |
curl "https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
La règle
| Champ | Type | Description |
|---|---|---|
id | string | |
name | string | 100 caractères au plus. |
kind | string | Obligatoire. tracker_alarm : les alarmes d’un traceur GPS (choisissez lesquelles avec alarms) ; sans règle, SOS, coupure, remorquage et choc vont aussitôt aux propriétaires, administrateurs et répartiteurs, les autres une fois. crash : le téléphone d’un livreur a détecté un accident possible et de l’aide a été demandée (livreurs N-Ways uniquement pendant vos livraisons démarrées ; livreurs N-Ways Business en service ou sur une course). Une règle crash choisit seulement les véhicules, les canaux et les destinataires ; sans règle, les propriétaires, administrateurs et répartiteurs reçoivent tous les canaux. Les heures calmes ne retardent jamais un accident. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
active | boolean | Par défaut: true. |
scope | object | Quels véhicules ; listes vides = toute la flotte. |
scope.vehicleIds | string[] | |
scope.groups | string[] | |
scope.modes | string[] | |
area | string | geofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones. |
zoneIds | string[] | geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt). |
silentS | integer | Par défaut: 1800. ≥ 120, ≤ 604800. |
idleS | integer | Par défaut: 1200. ≥ 120, ≤ 86400. |
idleRadiusM | integer | Par défaut: 100. ≥ 20, ≤ 5000. |
channels | string[] | Par défaut: ["email","push","webhook"]. |
email | Recipients | |
email.roles | string[] | |
email.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
email.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
push | Recipients | |
push.roles | string[] | |
push.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
push.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
quietHours | object | null | Heure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage. |
quietHours.from | string | |
quietHours.to | string | |
alarms | string[] | tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation. |
realertS | integer | 0 = prévenir une fois ; sinon rappeler toutes les realertS (300–86400) jusqu’à la prise en compte, 10 fois au plus. Par défaut: 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
}Erreurs
defaultErreur
Modifier une règle (le type reste) ; active false la met en pause et résout ses alertes ouvertes
PATCH https://nways.ng/maps/v1/fleet/alert-rules/{ruleId}
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
ruleId | chemin | string | Obligatoire. |
Corps de la requête
| Champ | Type | Description |
|---|---|---|
id | string | |
name | string | 100 caractères au plus. |
kind | string | Obligatoire. tracker_alarm : les alarmes d’un traceur GPS (choisissez lesquelles avec alarms) ; sans règle, SOS, coupure, remorquage et choc vont aussitôt aux propriétaires, administrateurs et répartiteurs, les autres une fois. crash : le téléphone d’un livreur a détecté un accident possible et de l’aide a été demandée (livreurs N-Ways uniquement pendant vos livraisons démarrées ; livreurs N-Ways Business en service ou sur une course). Une règle crash choisit seulement les véhicules, les canaux et les destinataires ; sans règle, les propriétaires, administrateurs et répartiteurs reçoivent tous les canaux. Les heures calmes ne retardent jamais un accident. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
active | boolean | Par défaut: true. |
scope | object | Quels véhicules ; listes vides = toute la flotte. |
scope.vehicleIds | string[] | |
scope.groups | string[] | |
scope.modes | string[] | |
area | string | geofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones. |
zoneIds | string[] | geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt). |
silentS | integer | Par défaut: 1800. ≥ 120, ≤ 604800. |
idleS | integer | Par défaut: 1200. ≥ 120, ≤ 86400. |
idleRadiusM | integer | Par défaut: 100. ≥ 20, ≤ 5000. |
channels | string[] | Par défaut: ["email","push","webhook"]. |
email | Recipients | |
email.roles | string[] | |
email.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
email.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
push | Recipients | |
push.roles | string[] | |
push.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
push.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
quietHours | object | null | Heure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage. |
quietHours.from | string | |
quietHours.to | string | |
alarms | string[] | tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation. |
realertS | integer | 0 = prévenir une fois ; sinon rappeler toutes les realertS (300–86400) jusqu’à la prise en compte, 10 fois au plus. Par défaut: 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: VOTRE_CLE_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()Réponse
La règle
| Champ | Type | Description |
|---|---|---|
id | string | |
name | string | 100 caractères au plus. |
kind | string | Obligatoire. tracker_alarm : les alarmes d’un traceur GPS (choisissez lesquelles avec alarms) ; sans règle, SOS, coupure, remorquage et choc vont aussitôt aux propriétaires, administrateurs et répartiteurs, les autres une fois. crash : le téléphone d’un livreur a détecté un accident possible et de l’aide a été demandée (livreurs N-Ways uniquement pendant vos livraisons démarrées ; livreurs N-Ways Business en service ou sur une course). Une règle crash choisit seulement les véhicules, les canaux et les destinataires ; sans règle, les propriétaires, administrateurs et répartiteurs reçoivent tous les canaux. Les heures calmes ne retardent jamais un accident. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
active | boolean | Par défaut: true. |
scope | object | Quels véhicules ; listes vides = toute la flotte. |
scope.vehicleIds | string[] | |
scope.groups | string[] | |
scope.modes | string[] | |
area | string | geofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones. |
zoneIds | string[] | geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt). |
silentS | integer | Par défaut: 1800. ≥ 120, ≤ 604800. |
idleS | integer | Par défaut: 1200. ≥ 120, ≤ 86400. |
idleRadiusM | integer | Par défaut: 100. ≥ 20, ≤ 5000. |
channels | string[] | Par défaut: ["email","push","webhook"]. |
email | Recipients | |
email.roles | string[] | |
email.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
email.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
push | Recipients | |
push.roles | string[] | |
push.userIds | integer[] | Membres de l’équipe (identifiants de la console). |
push.addresses | string (email)[] | E-mail seulement : n’importe quelle adresse. Au plus 20 éléments. |
quietHours | object | null | Heure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage. |
quietHours.from | string | |
quietHours.to | string | |
alarms | string[] | tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation. |
realertS | integer | 0 = prévenir une fois ; sinon rappeler toutes les realertS (300–86400) jusqu’à la prise en compte, 10 fois au plus. Par défaut: 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
}Erreurs
defaultErreur
Supprimer une règle (ses alertes ouvertes sont résolues)
DELETE https://nways.ng/maps/v1/fleet/alert-rules/{ruleId}
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
ruleId | chemin | string | Obligatoire. |
curl -X DELETE "https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
Supprimé
Pas de contenu.
Erreurs
defaultErreur
Les alertes levées, de la plus récente à la plus ancienne
GET https://nways.ng/maps/v1/fleet/alert-events
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
state | requête | string | active = ouverte ou prise en compte. Au choix: open, acknowledged, resolved, active. |
vehicleId | requête | string | |
kind | requête | string | Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
limit | requête | integer | Par défaut: 100. ≥ 1, ≤ 500. |
pageToken | requête | string |
curl "https://nways.ng/maps/v1/fleet/alert-events" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
Alertes
| Champ | Type | Description |
|---|---|---|
alerts | AlertEvent[] | Obligatoire. |
alerts[].id | string | Obligatoire. |
alerts[].ruleId | string | Obligatoire. Un id de règle, ou default:dispatch pour la zone d’une livraison sans règle propre, default:crash pour un accident sans règle crash. |
alerts[].ruleName | string | |
alerts[].kind | string | Obligatoire. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
alerts[].vehicleId | string | Obligatoire. |
alerts[].vehicleName | string | |
alerts[].subject | string | task:<id> ou zone:<id> pour les zones ; crash:<crs_id> pour un accident. |
alerts[].state | string | Obligatoire. Au choix: open, acknowledged, resolved. |
alerts[].detail | object | Obligatoire. position, at, taskId, area, zoneId, zoneName, lastSeenAt, since… ; un accident : crashId, at, position, accuracyM, speedBeforeKmh, road, driverName, driverPhone (quand vous l’avez), taskId, taskRef, taskLabel, state (help | resolved), resolvedHow (ok | help_here). |
alerts[].startedAt | string (date-time) | Obligatoire. |
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 | Levée d’elle-même (de retour dans la zone, de nouveau des nouvelles, en mouvement). |
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"
}Erreurs
defaultErreur
Obtenir une alerte
GET https://nways.ng/maps/v1/fleet/alert-events/{alertId}
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
alertId | chemin | string | Obligatoire. |
curl "https://nways.ng/maps/v1/fleet/alert-events/alr_8KwP2nVd5T" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
L’alerte
| Champ | Type | Description |
|---|---|---|
id | string | Obligatoire. |
ruleId | string | Obligatoire. Un id de règle, ou default:dispatch pour la zone d’une livraison sans règle propre, default:crash pour un accident sans règle crash. |
ruleName | string | |
kind | string | Obligatoire. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
vehicleId | string | Obligatoire. |
vehicleName | string | |
subject | string | task:<id> ou zone:<id> pour les zones ; crash:<crs_id> pour un accident. |
state | string | Obligatoire. Au choix: open, acknowledged, resolved. |
detail | object | Obligatoire. position, at, taskId, area, zoneId, zoneName, lastSeenAt, since… ; un accident : crashId, at, position, accuracyM, speedBeforeKmh, road, driverName, driverPhone (quand vous l’avez), taskId, taskRef, taskLabel, state (help | resolved), resolvedHow (ok | help_here). |
startedAt | string (date-time) | Obligatoire. |
notifiedAt | string (date-time) | null | |
notifications | integer | |
acknowledgedBy | string | |
acknowledgedAt | string (date-time) | null | |
resolvedBy | string | |
resolvedAt | string (date-time) | null | |
autoResolved | boolean | Levée d’elle-même (de retour dans la zone, de nouveau des nouvelles, en mouvement). |
{
"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
}Erreurs
defaultErreur
Prendre en compte une alerte ouverte (plus de rappels ; elle reste jusqu’à ce qu’elle cesse ou soit résolue)
POST https://nways.ng/maps/v1/fleet/alert-events/{alertId}/acknowledge
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
alertId | chemin | string | Obligatoire. |
curl -X POST "https://nways.ng/maps/v1/fleet/alert-events/string/acknowledge" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
L’alerte
| Champ | Type | Description |
|---|---|---|
id | string | Obligatoire. |
ruleId | string | Obligatoire. Un id de règle, ou default:dispatch pour la zone d’une livraison sans règle propre, default:crash pour un accident sans règle crash. |
ruleName | string | |
kind | string | Obligatoire. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
vehicleId | string | Obligatoire. |
vehicleName | string | |
subject | string | task:<id> ou zone:<id> pour les zones ; crash:<crs_id> pour un accident. |
state | string | Obligatoire. Au choix: open, acknowledged, resolved. |
detail | object | Obligatoire. position, at, taskId, area, zoneId, zoneName, lastSeenAt, since… ; un accident : crashId, at, position, accuracyM, speedBeforeKmh, road, driverName, driverPhone (quand vous l’avez), taskId, taskRef, taskLabel, state (help | resolved), resolvedHow (ok | help_here). |
startedAt | string (date-time) | Obligatoire. |
notifiedAt | string (date-time) | null | |
notifications | integer | |
acknowledgedBy | string | |
acknowledgedAt | string (date-time) | null | |
resolvedBy | string | |
resolvedAt | string (date-time) | null | |
autoResolved | boolean | Levée d’elle-même (de retour dans la zone, de nouveau des nouvelles, en mouvement). |
{
"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
}Erreurs
defaultErreur
Résoudre une alerte (envoie asset.alert_resolved)
POST https://nways.ng/maps/v1/fleet/alert-events/{alertId}/resolve
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
alertId | chemin | string | Obligatoire. |
curl -X POST "https://nways.ng/maps/v1/fleet/alert-events/string/resolve" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
L’alerte
| Champ | Type | Description |
|---|---|---|
id | string | Obligatoire. |
ruleId | string | Obligatoire. Un id de règle, ou default:dispatch pour la zone d’une livraison sans règle propre, default:crash pour un accident sans règle crash. |
ruleName | string | |
kind | string | Obligatoire. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm. |
vehicleId | string | Obligatoire. |
vehicleName | string | |
subject | string | task:<id> ou zone:<id> pour les zones ; crash:<crs_id> pour un accident. |
state | string | Obligatoire. Au choix: open, acknowledged, resolved. |
detail | object | Obligatoire. position, at, taskId, area, zoneId, zoneName, lastSeenAt, since… ; un accident : crashId, at, position, accuracyM, speedBeforeKmh, road, driverName, driverPhone (quand vous l’avez), taskId, taskRef, taskLabel, state (help | resolved), resolvedHow (ok | help_here). |
startedAt | string (date-time) | Obligatoire. |
notifiedAt | string (date-time) | null | |
notifications | integer | |
acknowledgedBy | string | |
acknowledgedAt | string (date-time) | null | |
resolvedBy | string | |
resolvedAt | string (date-time) | null | |
autoResolved | boolean | Levée d’elle-même (de retour dans la zone, de nouveau des nouvelles, en mouvement). |
{
"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
}Erreurs
defaultErreur
Télécharger tous les événements (CSV pour Excel ou Google Sheets, ou JSON)
GET https://nways.ng/maps/v1/fleet/events/export
Les mêmes contenus que les webhooks, gardés aussi longtemps que votre historique (retentionDays). 100 000 au plus par téléchargement.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
format | requête | string | Au choix: csv, json. Par défaut: csv. |
from | requête | string | RFC 3339, ou AAAA-MM-JJ (journée à Lagos). |
to | requête | string | |
type | requête | string | Un préfixe : asset. ou task. |
curl "https://nways.ng/maps/v1/fleet/events/export" \
-H "X-NWays-Api-Key: VOTRE_CLE_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()Réponse
Les événements
Erreurs
defaultErreur