Bibliothèques clientes et Postman
Appelez chaque API N-Ways depuis votre langage avec un client généré, ou essayez-les d’abord dans Postman.
Sur npm : npm install @nways/client. Le client JavaScript et TypeScript est publié (Apache-2.0) ; les clients sont générés à partir de nos fichiers OpenAPI, puis compilés et testés à chaque version. Python, Kotlin et Swift ne sont pas encore sur PyPI, Maven Central ni Swift Package Index : en attendant, demandez-nous le code source à hello@nways.ng, ou générez votre propre client à partir des fichiers OpenAPI.
Ce qui est disponible
| Langage | Paquet | Fonctionne sur | Dépendances |
|---|---|---|---|
| JavaScript et TypeScript | @nways/client (npm) | Navigateurs, Node 18+, Deno, Bun | Aucune (utilise fetch) |
| Python | nways-maps (depuis le code source) | Python 3.8+ | Aucune (la bibliothèque standard) |
| Kotlin | ng.nways:client (depuis le code source) | JVM 17+, Android | kotlinx.serialization |
| Swift | NWaysClient (paquet Swift, depuis le code source) | iOS 15+, macOS 12+ | Aucune (Foundation) |
Chacune a une méthode par opération de l’API, nommée comme dans la référence de l’API, envoie votre clé dans l’en-tête X-NWays-Api-Key, et transforme les réponses d’erreur en une erreur qui contient le statut HTTP, la reason (API_KEY_HTTP_REFERRER_BLOCKED, RATE_LIMIT_EXCEEDED…) et le nombre de secondes Retry-After. Pour les cartes dans les pages web et les applications, utilisez les SDK Maps web, Android et iOS, qui incluent les mêmes appels.
Exemples
import { NWaysClient, ApiError } from '@nways/client'
const nways = new NWaysClient({ apiKey: process.env.NWAYS_API_KEY! })
try {
const { results } = await nways.geocode({ q: 'Allen Avenue, Ikeja', limit: 3 })
console.log(results[0]?.name, results[0]?.location.coordinates)
} catch (e) {
if (e instanceof ApiError && e.status === 429) console.log(`Réessayer dans ${e.retryAfter} s`)
else throw e
}import os
from nways_maps import ApiError, Client
nways = Client(api_key=os.environ["NWAYS_API_KEY"])
try:
answer = nways.geocode(q="Allen Avenue, Ikeja", limit=3)
print(answer["results"][0]["name"])
except ApiError as e:
print(e.status, e.reason, e.retry_after)import ng.nways.client.ApiError
import ng.nways.client.NWaysClient
val nways = NWaysClient(apiKey = System.getenv("NWAYS_API_KEY"))
// Les appels sont bloquants : dans une application, lancez-les sur Dispatchers.IO.
try {
val answer = nways.geocode(q = "Allen Avenue, Ikeja", limit = 3)
println(answer.results.firstOrNull()?.name)
} catch (e: ApiError) {
println("${e.status} ${e.reason}")
}import NWaysClient
let nways = NWaysClient(apiKey: "VOTRE_CLE_API")
do {
let answer = try await nways.geocode(q: "Allen Avenue, Ikeja", limit: 3)
print(answer.results.first?.name ?? "aucun résultat")
} catch let e as NWaysError {
print(e.status, e.reason ?? "", e.message)
}Une clé de serveur, restreinte aux adresses IP de vos serveurs, ne doit jamais être mise dans une page web ou une application mobile. Dans les applications, utilisez une clé restreinte à l’application (package Android et SHA-1, ou bundle ID iOS) ; les SDK Maps les envoient pour vous.
Postman
Essayez chaque requête sans écrire de code :
- Téléchargez la collection N-Ways Maps Platform.
- Dans Postman, choisissez Import et sélectionnez le fichier.
- Dans les Variables de la collection, donnez à
apiKeyune clé restreinte à l’adresse IP de votre ordinateur.baseUrlvauthttps://nways.ng. - Ouvrez une requête et appuyez sur Send.
Cela fonctionne aussi dans Insomnia, Bruno et les autres outils qui importent les collections Postman ou les fichiers OpenAPI.
Fichiers OpenAPI
La référence de l’API, les bibliothèques clientes et la collection Postman sont toutes produites à partir de deux fichiers OpenAPI 3.1, que vous pouvez utiliser avec n’importe quel outil OpenAPI pour générer un client dans un autre langage, simuler l’API dans vos tests ou valider des requêtes :
- partner-v1.openapi.yaml : cartes, géocodage, lieux, itinéraires, tarifs de course et trafic.
- partner-fleet.openapi.yaml : suivi de flotte, webhooks, flux de trafic et packs hors connexion.
Versions
Les bibliothèques clientes suivent l’API : la version 1 d’un client appelle la version 1 de l’API (/maps/v1), et ne fait qu’y gagner des méthodes et des champs. Les types générés acceptent les champs qu’ils ne connaissent pas encore, si bien qu’une API plus récente ne casse jamais un client plus ancien. Comment fonctionnent les versions
Licence
Les quatre bibliothèques clientes sont open source sous licence Apache 2.0 (Apache-2.0), Copyright 2026 N-WAYS LIMITED ; chaque paquet contient ses fichiers LICENSE et NOTICE. La licence couvre uniquement le code : les cartes et les données de N-Ways restent © les contributeurs d’OpenStreetMap sous l’Open Database Licence (ODbL), avec la mention affichée partout où elles apparaissent.