N-Ways
Documentation développeursLive

Live

Live

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

Chaque véhicule en ce moment, avec son livreur, son état, sa livraison en cours et ses zones

GET https://nways.ng/maps/v1/fleet/live

state : moving, stopped (resté dans un rayon de 50 m pendant 2 minutes ou plus ; stoppedSince dit depuis quand), offline (silencieux plus longtemps que offlineAfterS) ou never (aucune position encore). task est la livraison ouverte attribuée en dernier ; openTasks les compte toutes. counts totalise la flotte et ses livraisons ouvertes (unassigned = créée, sans véhicule ; late = ouverte et après dueAt, ou attendue après).

cURL
curl "https://nways.ng/maps/v1/fleet/live" \
  -H "X-NWays-Api-Key: VOTRE_CLE_API"
JavaScript
const res = await fetch('https://nways.ng/maps/v1/fleet/live', {
  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/live",
    headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
    timeout=10,
)
data = res.json()

Réponse

La flotte en ce moment

ChampTypeDescription
vehiclesLiveVehicle[]Obligatoire.
vehicles[].idstringObligatoire.
vehicles[].namestringObligatoire.
vehicles[].modestringObligatoire. Comment les heures d’arrivée sont calculées. motorcycle = une moto de livraison (routes et temps des motos ; les interdictions des okadas commerciaux, qui visent les okadas de passagers, ne s’appliquent pas) ; okada = une flotte d’okadas de passagers (tenue hors des zones interdites aux okadas) ; motorbike = une moto privée ; keke = un tricycle (routes des deux-roues, sans interdictions okada) ; car, van, truck = itinéraires voiture ; bicycle ; walk = un coursier à pied ; boat = sur l’eau (heure d’arrivée en ligne droite à sa vitesse) ; asset = tout autre objet suivi (une remorque, un groupe électrogène) : jamais d’itinéraire. Au choix: motorcycle, okada, motorbike, keke, car, van, truck, bicycle, walk, boat, asset. Par défaut: motorcycle.
vehicles[].platestringObligatoire.
vehicles[].groupstring
vehicles[].colourstringLa couleur du véhicule sur les cartes de la console et de N-Ways Business. Un nouveau véhicule prend celle que son projet utilise le moins. Au choix: blue, orange, teal, purple, pink, green, brown, navy, magenta, olive, cyan, maroon, sky, lime, plum, sand.
vehicles[].batteryPctnumberLa batterie à son dernier envoi, s’il l’envoie.
vehicles[].driverobject | nullObligatoire.
vehicles[].statestringObligatoire. Au choix: moving, stopped, offline, never.
vehicles[].lastLocationPosition | nullObligatoire.
vehicles[].stoppedSincestring (date-time) | nullObligatoire.
vehicles[].taskobject | nullObligatoire.
vehicles[].openTasksintegerObligatoire.
vehicles[].zonesobject[]Obligatoire.
vehicles[].zones[].idstring
vehicles[].zones[].namestring
countsobjectObligatoire.
counts.totalintegerObligatoire.
counts.movingintegerObligatoire.
counts.stoppedintegerObligatoire.
counts.offlineintegerObligatoire.
counts.neverintegerObligatoire.
counts.activeTasksintegerObligatoire.
counts.unassignedintegerObligatoire.
counts.lateintegerObligatoire.
settingsSettingsObligatoire.
settings.shareTrafficbooleanObligatoire. Laisser aussi les positions de vos véhicules alimenter le trafic en direct public de N-Ways (de façon anonyme). Désactivé tant que vous ne l’activez pas. Par défaut: false.
settings.retentionDaysintegerObligatoire. Durée de conservation de l’historique de trajets et des tâches terminées. Par défaut: 30. ≥ 1, ≤ 90.
settings.brandNamestringObligatoire. Le nom affiché sur les pages de suivi (« Votre livraison de … »). 60 caractères au plus.
settings.offlineAfterSintegerObligatoire. Durée de silence au-delà de laquelle un véhicule est hors ligne (vehicle.offline). Par défaut: 600. ≥ 60, ≤ 86400.
settings.stopAlertSintegerObligatoire. Un véhicule en livraison arrêté aussi longtemps déclenche une alerte stopped. Par défaut: 600. ≥ 60, ≤ 7200.
atstring (date-time)Obligatoire.
200 OK
{
  "vehicles": [
    {
      "id": "string",
      "name": "string",
      "mode": "motorcycle",
      "plate": "string",
      "group": "string",
      "colour": "blue",
      "batteryPct": 0,
      "driver": {
        "id": "string",
        "name": "string",
        "phone": "string"
      },
      "state": "moving",
      "lastLocation": {
        "lat": 0,
        "lng": 0,
        "heading": 0,
        "speedMps": 0,
        "accuracyM": 0,
        "at": "2026-10-15T09:00:00+01:00"
      },
      "stoppedSince": "2026-10-15T09:00:00+01:00",
      "task": {
        "id": "string",
        "ref": "string",
        "status": "created",
        "pickup": {
          "lat": 0,
          "lng": 0,
          "name": "string",
          "address": "string"
        },
        "dropoff": {
          "lat": 0,
          "lng": 0,
          "name": "string",
          "address": "string"
        },
        "recipientName": "string",
        "eta": {
          "at": "2026-10-15T09:00:00+01:00",
          "durationS": 0,
          "distanceM": 0,
          "trafficDelayS": 0,
          "pickupAt": "2026-10-15T09:00:00+01:00",
          "updatedAt": "2026-10-15T09:00:00+01:00"
        },
        "dueAt": "2026-10-15T09:00:00+01:00",
        "late": true,
        "trackingUrl": "string"
      },
      "openTasks": 0,
      "zones": [
        {
          "id": "string",
          "name": "string"
        }
      ]
    }
  ],
  "counts": {
    "total": 0,
    "moving": 0,
    "stopped": 0,
    "offline": 0,
    "never": 0,
    "activeTasks": 0,
    "unassigned": 0,
    "late": 0
  },
  "settings": {
    "shareTraffic": false,
    "retentionDays": 30,
    "brandName": "string",
    "offlineAfterS": 600,
    "stopAlertS": 600
  },
  "at": "2026-10-15T09:00:00+01:00"
}

Erreurs

  • default Erreur

Ce qui demande votre attention, le plus urgent d’abord

GET https://nways.ng/maps/v1/fleet/alerts

offline : un véhicule avec une livraison ouverte silencieux plus longtemps que offlineAfterS ; late : une livraison ouverte après dueAt ou attendue après ; stopped : un véhicule avec une livraison ouverte arrêté plus longtemps que stopAlertS.

cURL
curl "https://nways.ng/maps/v1/fleet/alerts" \
  -H "X-NWays-Api-Key: VOTRE_CLE_API"
JavaScript
const res = await fetch('https://nways.ng/maps/v1/fleet/alerts', {
  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/alerts",
    headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
    timeout=10,
)
data = res.json()

Réponse

Alertes

ChampTypeDescription
alertsAlert[]Obligatoire.
alerts[].kindstringObligatoire. crash en premier (ouvert jusqu’à sa résolution ; detail comme celui de l’alerte accident, avec alertId). Au choix: crash, offline, late, stopped.
alerts[].vehicleIdstring | nullObligatoire.
alerts[].vehicleNamestringObligatoire.
alerts[].taskIdstring | nullObligatoire.
alerts[].taskRefstringLe numéro de la livraison (#1042), pour le texte de l’alerte.
alerts[].taskLabelstringPour qui ou pour où est la livraison.
alerts[].vehicleColourstringLa couleur du véhicule sur les cartes de la console et de N-Ways Business. Un nouveau véhicule prend celle que son projet utilise le moins. Au choix: blue, orange, teal, purple, pink, green, brown, navy, magenta, olive, cyan, maroon, sky, lime, plum, sand.
alerts[].sincestring (date-time)Obligatoire.
alerts[].detailobjectObligatoire. offline {lastSeenAt, offlineAfterS} ; late {dueAt, status, etaAt?} ; stopped {stoppedS, stopAlertS, position}.
atstring (date-time)Obligatoire.
200 OK
{
  "alerts": [
    {
      "kind": "crash",
      "vehicleId": "string",
      "vehicleName": "string",
      "taskId": "string",
      "taskRef": "string",
      "taskLabel": "string",
      "vehicleColour": "blue",
      "since": "2026-10-15T09:00:00+01:00",
      "detail": {}
    }
  ],
  "at": "2026-10-15T09:00:00+01:00"
}

Erreurs

  • default Erreur

Où va chaque véhicule en livraison

GET https://nways.ng/maps/v1/fleet/routes

Pour chaque véhicule avec une livraison en cours : la route parcourue depuis le début de sa première livraison ouverte (ou terminée aujourd’hui) (done, 6 heures au plus, un point toutes les 15 s au plus), la route à venir depuis sa dernière position par chaque arrêt pas encore atteint (ahead, calculée par le moteur d’itinéraires ; lignes droites tant que routed vaut false), et ses arrêts dans l’ordre : d’abord ceux terminés aujourd’hui, puis le retrait et la livraison de chaque livraison ouverte. Les lignes sont en [lng, lat] (ordre GeoJSON) et simplifiées. La route à venir est recalculée quand les arrêts changent et toutes les quelques minutes, pas à chaque position : coupez-la à la position en direct du véhicule sur votre carte.

Paramètres

NomOùTypeDescription
vehicleIdrequêtestringUn seul véhicule.
cURL
curl "https://nways.ng/maps/v1/fleet/routes" \
  -H "X-NWays-Api-Key: VOTRE_CLE_API"
JavaScript
const res = await fetch('https://nways.ng/maps/v1/fleet/routes', {
  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/routes",
    headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
    timeout=10,
)
data = res.json()

Réponse

Itinéraires

ChampTypeDescription
routesVehicleRoute[]Obligatoire.
routes[].vehicleIdstringObligatoire.
routes[].colourstringObligatoire. La couleur du véhicule sur les cartes de la console et de N-Ways Business. Un nouveau véhicule prend celle que son projet utilise le moins. Au choix: blue, orange, teal, purple, pink, green, brown, navy, magenta, olive, cyan, maroon, sky, lime, plum, sand.
routes[].donenumber[][]Obligatoire.
routes[].aheadnumber[][]Obligatoire.
routes[].routedbooleanObligatoire. ahead suit les routes (false : lignes droites entre les arrêts pour l’instant).
routes[].stopsobject[]Obligatoire.
routes[].stops[].nintegerObligatoire. Le numéro de l’arrêt, à partir de 1.
routes[].stops[].kindstringObligatoire. Au choix: pickup, dropoff.
routes[].stops[].taskIdstringObligatoire.
routes[].stops[].taskRefstringObligatoire. Le numéro de la livraison (#1042).
routes[].stops[].labelstringObligatoire. Pour qui ou pour où : le destinataire, sinon le nom du lieu de livraison.
routes[].stops[].namestringLe nom ou l’adresse de l’arrêt.
routes[].stops[].latnumberObligatoire.
routes[].stops[].lngnumberObligatoire.
routes[].stops[].statusstringObligatoire. Au choix: created, assigned, picked_up, arriving, completed, failed, cancelled.
routes[].stops[].etaAtstring (date-time) | nullObligatoire.
routes[].stops[].dueAtstring (date-time) | nullObligatoire.
routes[].stops[].donebooleanObligatoire. Atteint (retiré ou livré).
routes[].stops[].finalbooleanObligatoire. Le dernier arrêt pas encore atteint.
routes[].updatedAtstring (date-time)Obligatoire.
atstring (date-time)Obligatoire.
200 OK
{
  "routes": [
    {
      "vehicleId": "string",
      "colour": "blue",
      "done": [
        [
          0
        ]
      ],
      "ahead": [
        [
          0
        ]
      ],
      "routed": true,
      "stops": [
        {
          "n": 0,
          "kind": "pickup",
          "taskId": "string",
          "taskRef": "string",
          "label": "string",
          "name": "string",
          "lat": 0,
          "lng": 0,
          "status": "created",
          "etaAt": "2026-10-15T09:00:00+01:00",
          "dueAt": "2026-10-15T09:00:00+01:00",
          "done": true,
          "final": true
        }
      ],
      "updatedAt": "2026-10-15T09:00:00+01:00"
    }
  ],
  "at": "2026-10-15T09:00:00+01:00"
}

Erreurs

  • default Erreur