Fluxo de trânsito e pacotes offline
As velocidades em direto para os seus sistemas, e os pacotes de mapas que as suas aplicações transferem para funcionar sem rede.
Nesta página
- Velocidades das estradas numa caixa (produto traffic_feed; empresarial)
- Regiões para as quais existem pacotes offline
- O manifesto do pacote de uma região (202 enquanto está a ser criado; volte a pedir depois de Retry-After)
- Descarregar um ficheiro do pacote (pedidos Range suportados; ETag = o seu hash)
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
Velocidades das estradas numa caixa (produto traffic_feed; empresarial)
GET https://nways.ng/maps/v1/fleet/traffic-feed
Velocidades agregadas por estrada e sentido a partir do trânsito autoaprendente da N-Ways, apenas onde contribuíram dispositivos distintos suficientes: as leituras em direto (últimos 30 minutos) precisam de 2, as velocidades típicas (por tipo de dia e intervalo de 15 minutos) precisam de 3. Nunca um trajeto individual, uma contagem de dispositivos ou uma sessão. A geometria é a via OSM (GeoJSON [lng, lat]); direction é no sentido (forward) ou contra o sentido (backward) do seu desenho. level: 0 livre, 1 lento, 2 intenso, 3 parado, em relação à velocidade de circulação livre da estrada.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
bbox | consulta | string | Obrigatório. minLng,minLat,maxLng,maxLat; no máximo 2° de largura. |
kind | consulta | string | Um de: live, typical. Predefinição: live. |
at | consulta | string (date-time) | kind=typical: o momento da semana (tipo de dia local e intervalo de 15 minutos); por omissão, agora. |
mode | consulta | string | Um de: car, motorcycle. Predefinição: car. |
format | consulta | string | ndjson: uma linha FeedInfo, depois uma Feature por linha (application/x-ndjson). Um de: geojson, ndjson. Predefinição: geojson. |
curl "https://nways.ng/maps/v1/fleet/traffic-feed?bbox=3.30%2C6.42%2C3.45%2C6.55" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/traffic-feed?bbox=3.30%2C6.42%2C3.45%2C6.55', {
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/traffic-feed?bbox=3.30%2C6.42%2C3.45%2C6.55",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
Fluxo
| Campo | Tipo | Descrição |
|---|---|---|
type | any | Obrigatório. |
properties | object | Obrigatório. |
properties.kind | string | Um de: live, typical. |
properties.mode | string | Um de: car, motorcycle. |
properties.bbox | number[] | Pelo menos 4 elementos, no máximo 4 elementos. |
properties.at | string (date-time) | |
properties.generatedAt | string (date-time) | |
properties.minDevices | integer | O limiar de k-anonimato aplicado (direto 2, típico 3). |
properties.attribution | string | |
features | object[] | Obrigatório. |
features[].type | any | Obrigatório. |
features[].geometry | object | Obrigatório. LineString GeoJSON |
features[].properties | object | Obrigatório. |
features[].properties.wayId | integer | Obrigatório. Id da via OpenStreetMap. |
features[].properties.direction | string | Obrigatório. Um de: forward, backward. |
features[].properties.speedKmh | number | Obrigatório. |
features[].properties.freeFlowKmh | number | Obrigatório. |
features[].properties.level | integer | Obrigatório. ≥ 0, ≤ 3. |
features[].properties.source | string | Obrigatório. Um de: live, typical. |
features[].properties.updatedAt | string (date-time) | Apenas em direto, ao minuto. |
{
"type": "string",
"properties": {
"kind": "live",
"mode": "car",
"bbox": [
0
],
"at": "2026-10-15T09:00:00+01:00",
"generatedAt": "2026-10-15T09:00:00+01:00",
"minDevices": 0,
"attribution": "string"
},
"features": [
{
"type": "string",
"geometry": {},
"properties": {
"wayId": 0,
"direction": "forward",
"speedKmh": 0,
"freeFlowKmh": 0,
"level": 0,
"source": "live",
"updatedAt": "2026-10-15T09:00:00+01:00"
}
}
]
}Erros
defaultErro
Regiões para as quais existem pacotes offline
GET https://nways.ng/maps/v1/fleet/offline/regions
curl "https://nways.ng/maps/v1/fleet/offline/regions" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/offline/regions', {
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/offline/regions",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
Regiões
| Campo | Tipo | Descrição |
|---|---|---|
regions | Region[] | Obrigatório. |
regions[].id | string | Obrigatório. |
regions[].name | string | Obrigatório. |
regions[].country | string | Obrigatório. |
regions[].bbox | number[] | Obrigatório. Pelo menos 4 elementos, no máximo 4 elementos. |
maxzoom | integer | Obrigatório. |
custom | object | Obrigatório. |
custom.maxDegrees | number | |
custom.step | number |
{
"regions": [
{
"id": "lagos",
"name": "string",
"country": "NG",
"bbox": [
0
]
}
],
"maxzoom": 15,
"custom": {
"maxDegrees": 0.6,
"step": 0.05
}
}Erros
defaultErro
O manifesto do pacote de uma região (202 enquanto está a ser criado; volte a pedir depois de Retry-After)
GET https://nways.ng/maps/v1/fleet/offline/packs/{region}
Um pacote é o mapa da região (map.pmtiles, um excerto do arquivo que o Maps SDK desenha; abra-o com o suporte pmtiles:// do MapLibre Native) e os seus mosaicos do grafo de percursos (routing.tar, mosaicos Valhalla de nível 0–2 com os caminhos próprios do motor) para cálculo de percursos no dispositivo. Criado uma vez por versão do mapa e do grafo; version muda quando um deles muda.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
region | caminho | string | Obrigatório. Um id de região, ou custom com bbox. |
bbox | consulta | string | region=custom: minLng,minLat,maxLng,maxLat, alargado para fora a múltiplos de 0,05°, no máximo 0,6° de largura. |
maxzoom | consulta | integer | Predefinição: 15. ≥ 8, ≤ 15. |
curl "https://nways.ng/maps/v1/fleet/offline/packs/lagos" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/offline/packs/lagos', {
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/offline/packs/lagos",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
Pronto
| Campo | Tipo | Descrição |
|---|---|---|
region | Region | Obrigatório. |
region.id | string | Obrigatório. |
region.name | string | Obrigatório. |
region.country | string | Obrigatório. |
region.bbox | number[] | Obrigatório. Pelo menos 4 elementos, no máximo 4 elementos. |
maxzoom | integer | Obrigatório. |
version | string | Obrigatório. |
status | string | Obrigatório. Um de: building, ready. |
builtAt | string (date-time) | |
files | object[] | Obrigatório. |
files[].name | string | Obrigatório. Um de: map.pmtiles, routing.tar. |
files[].bytes | integer | Obrigatório. |
files[].sha256 | string | Obrigatório. |
files[].url | string | Obrigatório. Caminho para descarregar (acrescente a sua chave). |
notes | string[] |
{
"region": {
"id": "lagos",
"name": "string",
"country": "NG",
"bbox": [
0
]
},
"maxzoom": 0,
"version": "string",
"status": "building",
"builtAt": "2026-10-15T09:00:00+01:00",
"files": [
{
"name": "map.pmtiles",
"bytes": 0,
"sha256": "string",
"url": "string"
}
],
"notes": [
"string"
]
}Erros
defaultErro
Descarregar um ficheiro do pacote (pedidos Range suportados; ETag = o seu hash)
GET https://nways.ng/maps/v1/fleet/offline/packs/{region}/{file}
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
region | caminho | string | Obrigatório. Um id de região, ou custom com bbox. |
file | caminho | string | Obrigatório. Um de: map.pmtiles, routing.tar. |
bbox | consulta | string | region=custom: minLng,minLat,maxLng,maxLat, alargado para fora a múltiplos de 0,05°, no máximo 0,6° de largura. |
maxzoom | consulta | integer | Predefinição: 15. ≥ 8, ≤ 15. |
curl "https://nways.ng/maps/v1/fleet/offline/packs/lagos/map.pmtiles" \
-H "X-NWays-Api-Key: A_SUA_CHAVE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/offline/packs/lagos/map.pmtiles', {
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/offline/packs/lagos/map.pmtiles",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Resposta
O ficheiro
Erros
409ErrodefaultErro