N-Ways
Documentation développeursAlertes et export

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

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

Réponse

Règles

ChampTypeDescription
rulesAlertRule[]Obligatoire.
rules[].idstring
rules[].namestring100 caractères au plus.
rules[].kindstringObligatoire. 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[].activebooleanPar défaut: true.
rules[].scopeobjectQuels véhicules ; listes vides = toute la flotte.
rules[].scope.vehicleIdsstring[]
rules[].scope.groupsstring[]
rules[].scope.modesstring[]
rules[].areastringgeofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones.
rules[].zoneIdsstring[]geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt).
rules[].silentSintegerPar défaut: 1800. ≥ 120, ≤ 604800.
rules[].idleSintegerPar défaut: 1200. ≥ 120, ≤ 86400.
rules[].idleRadiusMintegerPar défaut: 100. ≥ 20, ≤ 5000.
rules[].channelsstring[]Par défaut: ["email","push","webhook"].
rules[].emailRecipients
rules[].email.rolesstring[]
rules[].email.userIdsinteger[]Membres de l’équipe (identifiants de la console).
rules[].email.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
rules[].pushRecipients
rules[].push.rolesstring[]
rules[].push.userIdsinteger[]Membres de l’équipe (identifiants de la console).
rules[].push.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
rules[].quietHoursobject | nullHeure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage.
rules[].quietHours.fromstring
rules[].quietHours.tostring
rules[].alarmsstring[]tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation.
rules[].realertSinteger0 = 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[].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
    }
  ]
}

Erreurs

  • default Erreur

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

ChampTypeDescription
idstring
namestring100 caractères au plus.
kindstringObligatoire. 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.
activebooleanPar défaut: true.
scopeobjectQuels véhicules ; listes vides = toute la flotte.
scope.vehicleIdsstring[]
scope.groupsstring[]
scope.modesstring[]
areastringgeofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones.
zoneIdsstring[]geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt).
silentSintegerPar défaut: 1800. ≥ 120, ≤ 604800.
idleSintegerPar défaut: 1200. ≥ 120, ≤ 86400.
idleRadiusMintegerPar défaut: 100. ≥ 20, ≤ 5000.
channelsstring[]Par défaut: ["email","push","webhook"].
emailRecipients
email.rolesstring[]
email.userIdsinteger[]Membres de l’équipe (identifiants de la console).
email.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
pushRecipients
push.rolesstring[]
push.userIdsinteger[]Membres de l’équipe (identifiants de la console).
push.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
quietHoursobject | nullHeure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage.
quietHours.fromstring
quietHours.tostring
alarmsstring[]tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation.
realertSinteger0 = prévenir une fois ; sinon rappeler toutes les realertS (300–86400) jusqu’à la prise en compte, 10 fois au plus. Par défaut: 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: 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}'
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()

Réponse

Créé

ChampTypeDescription
idstring
namestring100 caractères au plus.
kindstringObligatoire. 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.
activebooleanPar défaut: true.
scopeobjectQuels véhicules ; listes vides = toute la flotte.
scope.vehicleIdsstring[]
scope.groupsstring[]
scope.modesstring[]
areastringgeofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones.
zoneIdsstring[]geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt).
silentSintegerPar défaut: 1800. ≥ 120, ≤ 604800.
idleSintegerPar défaut: 1200. ≥ 120, ≤ 86400.
idleRadiusMintegerPar défaut: 100. ≥ 20, ≤ 5000.
channelsstring[]Par défaut: ["email","push","webhook"].
emailRecipients
email.rolesstring[]
email.userIdsinteger[]Membres de l’équipe (identifiants de la console).
email.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
pushRecipients
push.rolesstring[]
push.userIdsinteger[]Membres de l’équipe (identifiants de la console).
push.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
quietHoursobject | nullHeure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage.
quietHours.fromstring
quietHours.tostring
alarmsstring[]tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation.
realertSinteger0 = prévenir une fois ; sinon rappeler toutes les realertS (300–86400) jusqu’à la prise en compte, 10 fois au plus. Par défaut: 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
}

Erreurs

  • default Erreur

Obtenir une règle

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

Paramètres

NomOùTypeDescription
ruleIdcheminstringObligatoire.
cURL
curl "https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za" \
  -H "X-NWays-Api-Key: VOTRE_CLE_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()

Réponse

La règle

ChampTypeDescription
idstring
namestring100 caractères au plus.
kindstringObligatoire. 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.
activebooleanPar défaut: true.
scopeobjectQuels véhicules ; listes vides = toute la flotte.
scope.vehicleIdsstring[]
scope.groupsstring[]
scope.modesstring[]
areastringgeofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones.
zoneIdsstring[]geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt).
silentSintegerPar défaut: 1800. ≥ 120, ≤ 604800.
idleSintegerPar défaut: 1200. ≥ 120, ≤ 86400.
idleRadiusMintegerPar défaut: 100. ≥ 20, ≤ 5000.
channelsstring[]Par défaut: ["email","push","webhook"].
emailRecipients
email.rolesstring[]
email.userIdsinteger[]Membres de l’équipe (identifiants de la console).
email.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
pushRecipients
push.rolesstring[]
push.userIdsinteger[]Membres de l’équipe (identifiants de la console).
push.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
quietHoursobject | nullHeure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage.
quietHours.fromstring
quietHours.tostring
alarmsstring[]tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation.
realertSinteger0 = prévenir une fois ; sinon rappeler toutes les realertS (300–86400) jusqu’à la prise en compte, 10 fois au plus. Par défaut: 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
}

Erreurs

  • default Erreur

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

NomOùTypeDescription
ruleIdcheminstringObligatoire.

Corps de la requête

ChampTypeDescription
idstring
namestring100 caractères au plus.
kindstringObligatoire. 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.
activebooleanPar défaut: true.
scopeobjectQuels véhicules ; listes vides = toute la flotte.
scope.vehicleIdsstring[]
scope.groupsstring[]
scope.modesstring[]
areastringgeofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones.
zoneIdsstring[]geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt).
silentSintegerPar défaut: 1800. ≥ 120, ≤ 604800.
idleSintegerPar défaut: 1200. ≥ 120, ≤ 86400.
idleRadiusMintegerPar défaut: 100. ≥ 20, ≤ 5000.
channelsstring[]Par défaut: ["email","push","webhook"].
emailRecipients
email.rolesstring[]
email.userIdsinteger[]Membres de l’équipe (identifiants de la console).
email.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
pushRecipients
push.rolesstring[]
push.userIdsinteger[]Membres de l’équipe (identifiants de la console).
push.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
quietHoursobject | nullHeure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage.
quietHours.fromstring
quietHours.tostring
alarmsstring[]tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation.
realertSinteger0 = prévenir une fois ; sinon rappeler toutes les realertS (300–86400) jusqu’à la prise en compte, 10 fois au plus. Par défaut: 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: 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}'
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()

Réponse

La règle

ChampTypeDescription
idstring
namestring100 caractères au plus.
kindstringObligatoire. 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.
activebooleanPar défaut: true.
scopeobjectQuels véhicules ; listes vides = toute la flotte.
scope.vehicleIdsstring[]
scope.groupsstring[]
scope.modesstring[]
areastringgeofence_exit : la zone propre à chaque livraison, ou les zones. Au choix: dispatch, zones.
zoneIdsstring[]geofence_* : quelles zones (vide = toutes) ; idle : zones où s’arrêter est normal (un dépôt).
silentSintegerPar défaut: 1800. ≥ 120, ≤ 604800.
idleSintegerPar défaut: 1200. ≥ 120, ≤ 86400.
idleRadiusMintegerPar défaut: 100. ≥ 20, ≤ 5000.
channelsstring[]Par défaut: ["email","push","webhook"].
emailRecipients
email.rolesstring[]
email.userIdsinteger[]Membres de l’équipe (identifiants de la console).
email.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
pushRecipients
push.rolesstring[]
push.userIdsinteger[]Membres de l’équipe (identifiants de la console).
push.addressesstring (email)[]E-mail seulement : n’importe quelle adresse. Au plus 20 éléments.
quietHoursobject | nullHeure de Lagos : e-mails, notifications et webhooks attendent la fin de cette plage.
quietHours.fromstring
quietHours.tostring
alarmsstring[]tracker_alarm : quelles alarmes (vide = toutes). transferred : le traceur est passé à une autre organisation.
realertSinteger0 = prévenir une fois ; sinon rappeler toutes les realertS (300–86400) jusqu’à la prise en compte, 10 fois au plus. Par défaut: 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
}

Erreurs

  • default Erreur

Supprimer une règle (ses alertes ouvertes sont résolues)

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

Paramètres

NomOùTypeDescription
ruleIdcheminstringObligatoire.
cURL
curl -X DELETE "https://nways.ng/maps/v1/fleet/alert-rules/rule_4fQ9xLm2Za" \
  -H "X-NWays-Api-Key: VOTRE_CLE_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()

Réponse

Supprimé

Pas de contenu.

Erreurs

  • default Erreur

Les alertes levées, de la plus récente à la plus ancienne

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

Paramètres

NomOùTypeDescription
staterequêtestringactive = ouverte ou prise en compte. Au choix: open, acknowledged, resolved, active.
vehicleIdrequêtestring
kindrequêtestringAu choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm.
limitrequêteintegerPar défaut: 100. ≥ 1, ≤ 500.
pageTokenrequêtestring
cURL
curl "https://nways.ng/maps/v1/fleet/alert-events" \
  -H "X-NWays-Api-Key: VOTRE_CLE_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()

Réponse

Alertes

ChampTypeDescription
alertsAlertEvent[]Obligatoire.
alerts[].idstringObligatoire.
alerts[].ruleIdstringObligatoire. 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[].ruleNamestring
alerts[].kindstringObligatoire. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm.
alerts[].vehicleIdstringObligatoire.
alerts[].vehicleNamestring
alerts[].subjectstringtask:<id> ou zone:<id> pour les zones ; crash:<crs_id> pour un accident.
alerts[].statestringObligatoire. Au choix: open, acknowledged, resolved.
alerts[].detailobjectObligatoire. 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[].startedAtstring (date-time)Obligatoire.
alerts[].notifiedAtstring (date-time) | null
alerts[].notificationsinteger
alerts[].acknowledgedBystring
alerts[].acknowledgedAtstring (date-time) | null
alerts[].resolvedBystring
alerts[].resolvedAtstring (date-time) | null
alerts[].autoResolvedbooleanLevée d’elle-même (de retour dans la zone, de nouveau des nouvelles, en mouvement).
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"
}

Erreurs

  • default Erreur

Obtenir une alerte

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

Paramètres

NomOùTypeDescription
alertIdcheminstringObligatoire.
cURL
curl "https://nways.ng/maps/v1/fleet/alert-events/alr_8KwP2nVd5T" \
  -H "X-NWays-Api-Key: VOTRE_CLE_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()

Réponse

L’alerte

ChampTypeDescription
idstringObligatoire.
ruleIdstringObligatoire. 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.
ruleNamestring
kindstringObligatoire. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm.
vehicleIdstringObligatoire.
vehicleNamestring
subjectstringtask:<id> ou zone:<id> pour les zones ; crash:<crs_id> pour un accident.
statestringObligatoire. Au choix: open, acknowledged, resolved.
detailobjectObligatoire. 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).
startedAtstring (date-time)Obligatoire.
notifiedAtstring (date-time) | null
notificationsinteger
acknowledgedBystring
acknowledgedAtstring (date-time) | null
resolvedBystring
resolvedAtstring (date-time) | null
autoResolvedbooleanLevée d’elle-même (de retour dans la zone, de nouveau des nouvelles, en mouvement).
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
}

Erreurs

  • default Erreur

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

NomOùTypeDescription
alertIdcheminstringObligatoire.
cURL
curl -X POST "https://nways.ng/maps/v1/fleet/alert-events/string/acknowledge" \
  -H "X-NWays-Api-Key: VOTRE_CLE_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()

Réponse

L’alerte

ChampTypeDescription
idstringObligatoire.
ruleIdstringObligatoire. 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.
ruleNamestring
kindstringObligatoire. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm.
vehicleIdstringObligatoire.
vehicleNamestring
subjectstringtask:<id> ou zone:<id> pour les zones ; crash:<crs_id> pour un accident.
statestringObligatoire. Au choix: open, acknowledged, resolved.
detailobjectObligatoire. 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).
startedAtstring (date-time)Obligatoire.
notifiedAtstring (date-time) | null
notificationsinteger
acknowledgedBystring
acknowledgedAtstring (date-time) | null
resolvedBystring
resolvedAtstring (date-time) | null
autoResolvedbooleanLevée d’elle-même (de retour dans la zone, de nouveau des nouvelles, en mouvement).
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
}

Erreurs

  • default Erreur

Résoudre une alerte (envoie asset.alert_resolved)

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

Paramètres

NomOùTypeDescription
alertIdcheminstringObligatoire.
cURL
curl -X POST "https://nways.ng/maps/v1/fleet/alert-events/string/resolve" \
  -H "X-NWays-Api-Key: VOTRE_CLE_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()

Réponse

L’alerte

ChampTypeDescription
idstringObligatoire.
ruleIdstringObligatoire. 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.
ruleNamestring
kindstringObligatoire. Au choix: geofence_exit, geofence_enter, silent, idle, crash, tracker_alarm.
vehicleIdstringObligatoire.
vehicleNamestring
subjectstringtask:<id> ou zone:<id> pour les zones ; crash:<crs_id> pour un accident.
statestringObligatoire. Au choix: open, acknowledged, resolved.
detailobjectObligatoire. 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).
startedAtstring (date-time)Obligatoire.
notifiedAtstring (date-time) | null
notificationsinteger
acknowledgedBystring
acknowledgedAtstring (date-time) | null
resolvedBystring
resolvedAtstring (date-time) | null
autoResolvedbooleanLevée d’elle-même (de retour dans la zone, de nouveau des nouvelles, en mouvement).
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
}

Erreurs

  • default Erreur

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

NomOùTypeDescription
formatrequêtestringAu choix: csv, json. Par défaut: csv.
fromrequêtestringRFC 3339, ou AAAA-MM-JJ (journée à Lagos).
torequêtestring
typerequêtestringUn préfixe : asset. ou task.
cURL
curl "https://nways.ng/maps/v1/fleet/events/export" \
  -H "X-NWays-Api-Key: VOTRE_CLE_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()

Réponse

Les événements

Erreurs

  • default Erreur