Contacts
Votre carnet d’adresses en une seule liste : les destinataires enregistrés (ben_…), vos lieux de retrait (plc_…, vos
magasins et entrepôts, parmi lesquels choisir le retrait d’une livraison avec pickupPlaceId) et les clients (cus_…,
toutes les personnes que vos livraisons ont servies, conservés à partir des livraisons). Les anciennes listes (/places,
/customers, ainsi que /beneficiaries et /addresses) renvoient les mêmes enregistrements et restent comme alias obsolètes.
Sur cette page
- Votre carnet d’adresses (destinataires, lieux de retrait et clients)
- Enregistrer un destinataire ou ajouter un lieu de retrait
- Vos propres adresses d’abord pendant la saisie d’un arrêt
- Obtenir un contact
- Modifier un destinataire ou un lieu de retrait
- Supprimer un contact (un client est oublié avec ses adresses)
- Les adresses d’un contact
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
Votre carnet d’adresses (destinataires, lieux de retrait et clients)
GET https://nways.ng/maps/v1/fleet/contacts
Un seul type (kind=recipient|place|customer, chacun dans son ordre et avec ses pages), ou tous : vos lieux de retrait (celui par défaut en premier), puis vos destinataires enregistrés (par nom, jusqu’à limit), puis vos clients (livraison la plus récente d’abord, une page à la fois : nextPageToken ne continue que dans les clients). q cherche un nom, un téléphone, un e-mail, une adresse, un code de porte ou une étiquette ; tag garde les destinataires d’une étiquette. recipients indique combien de destinataires correspondent ; tags leurs étiquettes, les plus utilisées d’abord.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
kind | requête | string | Au choix: recipient, place, customer. |
q | requête | string | |
tag | requête | string | Destinataires uniquement. |
limit | requête | integer | Destinataires : 100 (au plus 1 000) ; clients : 25 (au plus 100) par page. ≥ 1. |
pageToken | requête | string | Clients : nextPageToken (ou prevPageToken). |
curl "https://nways.ng/maps/v1/fleet/contacts" \
-H "X-NWays-Api-Key: VOTRE_CLE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/contacts', {
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/contacts",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Réponse
Contacts
| Champ | Type | Description |
|---|---|---|
contacts | Contact[] | Obligatoire. |
contacts[].id | string | Obligatoire. ben_… (destinataire), plc_… (lieu) ou cus_… (client). |
contacts[].kind | string | Obligatoire. Au choix: recipient, place, customer. |
contacts[].name | string | Obligatoire. |
contacts[].phone | string | Obligatoire. |
contacts[].altPhone | string | |
contacts[].email | string | |
contacts[].placeName | string | Destinataires : le nom du point de livraison ; clients : celui de leur dernier point de livraison. |
contacts[].address | string | |
contacts[].doorCode | string | |
contacts[].lat | number | null | Obligatoire. null pour un client sans adresse conservée. |
contacts[].lng | number | null | Obligatoire. |
contacts[].notes | string | |
contacts[].itemDescription | string | |
contacts[].packageSize | string | null | |
contacts[].tags | string[] | |
contacts[].regulars | integer | Destinataires : livraisons récurrentes vers eux qui ne sont pas terminées. |
contacts[].hours | string | Lieux |
contacts[].default | boolean | Lieux : les nouvelles livraisons de la console partent de lui. |
contacts[].deliveries | integer | Clients |
contacts[].addresses | integer | Clients |
contacts[].lastDeliveryAt | string (date-time) | Clients |
contacts[].createdAt | string (date-time) | |
contacts[].updatedAt | string (date-time) | |
recipients | integer | |
tags | object[] | |
tags[].tag | string | |
tags[].count | integer | |
nextPageToken | string | |
prevPageToken | string |
{
"contacts": [
{
"id": "ben_4fQ9xLm2Za",
"kind": "recipient",
"name": "string",
"phone": "string",
"altPhone": "string",
"email": "string",
"placeName": "string",
"address": "string",
"doorCode": "string",
"lat": 0,
"lng": 0,
"notes": "string",
"itemDescription": "string",
"packageSize": "string",
"tags": [
"string"
],
"regulars": 0,
"hours": "string",
"default": true,
"deliveries": 0,
"addresses": 0,
"lastDeliveryAt": "2026-10-15T09:00:00+01:00",
"createdAt": "2026-10-15T09:00:00+01:00",
"updatedAt": "2026-10-15T09:00:00+01:00"
}
],
"recipients": 0,
"tags": [
{
"tag": "string",
"count": 0
}
],
"nextPageToken": "string",
"prevPageToken": "string"
}Erreurs
defaultErreur
Enregistrer un destinataire ou ajouter un lieu de retrait
POST https://nways.ng/maps/v1/fleet/contacts
kind vaut recipient (un point de livraison enregistré : name, phones, email, placeName, address, doorCode, lat, lng, notes, itemDescription, packageSize, tags ; jusqu’à 5 000) ou place (un lieu de retrait : name, doorCode, address, lat, lng, phone, hours, default ; jusqu’à 200 ; le premier est celui par défaut). Les clients viennent des livraisons et ne peuvent pas être créés ici. name, lat et lng sont obligatoires.
Corps de la requête
kind (recipient ou place) et les champs de ce type ; name, lat et lng sont obligatoires pour en créer un.
| Champ | Type | Description |
|---|---|---|
kind | string | Au choix: recipient, place. |
name | string | 100 caractères au plus. |
phone | string | |
altPhone | string | Destinataires |
email | string | Destinataires |
placeName | string | Destinataires |
address | string | 300 caractères au plus. |
doorCode | string | 32 caractères au plus. |
lat | number | |
lng | number | |
notes | string | Destinataires |
itemDescription | string | Destinataires |
packageSize | string | null | Destinataires |
tags | string[] | Destinataires Au plus 8 éléments. |
hours | string | Lieux 200 caractères au plus. |
default | boolean | Lieux |
curl -X POST "https://nways.ng/maps/v1/fleet/contacts" \
-H "X-NWays-Api-Key: VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{"kind":"recipient","name":"Mama Put","phone":"+234 803 555 0101","address":"12 Herbert Macaulay Way","lat":6.5095,"lng":3.3711,"tags":["Shop"]}'const res = await fetch('https://nways.ng/maps/v1/fleet/contacts', {
method: 'POST',
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
"kind": "recipient",
"name": "Mama Put",
"phone": "+234 803 555 0101",
"address": "12 Herbert Macaulay Way",
"lat": 6.5095,
"lng": 3.3711,
"tags": [
"Shop"
]
}),
})
const data = await res.json()import os
import requests
res = requests.post(
"https://nways.ng/maps/v1/fleet/contacts",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
json={"kind": "recipient", "name": "Mama Put", "phone": "+234 803 555 0101", "address": "12 Herbert Macaulay Way", "lat": 6.5095, "lng": 3.3711, "tags": ["Shop"]},
timeout=10,
)
data = res.json()Réponse
Enregistré
| Champ | Type | Description |
|---|---|---|
id | string | Obligatoire. ben_… (destinataire), plc_… (lieu) ou cus_… (client). |
kind | string | Obligatoire. Au choix: recipient, place, customer. |
name | string | Obligatoire. |
phone | string | Obligatoire. |
altPhone | string | |
email | string | |
placeName | string | Destinataires : le nom du point de livraison ; clients : celui de leur dernier point de livraison. |
address | string | |
doorCode | string | |
lat | number | null | Obligatoire. null pour un client sans adresse conservée. |
lng | number | null | Obligatoire. |
notes | string | |
itemDescription | string | |
packageSize | string | null | |
tags | string[] | |
regulars | integer | Destinataires : livraisons récurrentes vers eux qui ne sont pas terminées. |
hours | string | Lieux |
default | boolean | Lieux : les nouvelles livraisons de la console partent de lui. |
deliveries | integer | Clients |
addresses | integer | Clients |
lastDeliveryAt | string (date-time) | Clients |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
{
"id": "ben_4fQ9xLm2Za",
"kind": "recipient",
"name": "string",
"phone": "string",
"altPhone": "string",
"email": "string",
"placeName": "string",
"address": "string",
"doorCode": "string",
"lat": 0,
"lng": 0,
"notes": "string",
"itemDescription": "string",
"packageSize": "string",
"tags": [
"string"
],
"regulars": 0,
"hours": "string",
"default": true,
"deliveries": 0,
"addresses": 0,
"lastDeliveryAt": "2026-10-15T09:00:00+01:00",
"createdAt": "2026-10-15T09:00:00+01:00",
"updatedAt": "2026-10-15T09:00:00+01:00"
}Erreurs
defaultErreur
Vos propres adresses d’abord pendant la saisie d’un arrêt
GET https://nways.ng/maps/v1/fleet/contacts/addresses
Vos lieux de retrait et les points de livraison déjà utilisés qui correspondent à q (chaque mot, dans le nom, l’adresse ou le code de porte), les plus récemment utilisés d’abord ; au plus limit (5, jusqu’à 10).
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
q | requête | string | |
limit | requête | integer | Par défaut: 5. ≥ 1, ≤ 10. |
curl "https://nways.ng/maps/v1/fleet/contacts/addresses" \
-H "X-NWays-Api-Key: VOTRE_CLE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/contacts/addresses', {
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/contacts/addresses",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Réponse
Adresses
| Champ | Type | Description |
|---|---|---|
addresses | object[] | Obligatoire. |
{
"addresses": [
{}
]
}Erreurs
defaultErreur
Obtenir un contact
GET https://nways.ng/maps/v1/fleet/contacts/{contactId}
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
contactId | chemin | string | Obligatoire. ben_… (destinataire), plc_… (lieu) ou cus_… (client). |
curl "https://nways.ng/maps/v1/fleet/contacts/ben_4fQ9xLm2Za" \
-H "X-NWays-Api-Key: VOTRE_CLE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/contacts/ben_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/contacts/ben_4fQ9xLm2Za",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Réponse
Contact
| Champ | Type | Description |
|---|---|---|
id | string | Obligatoire. ben_… (destinataire), plc_… (lieu) ou cus_… (client). |
kind | string | Obligatoire. Au choix: recipient, place, customer. |
name | string | Obligatoire. |
phone | string | Obligatoire. |
altPhone | string | |
email | string | |
placeName | string | Destinataires : le nom du point de livraison ; clients : celui de leur dernier point de livraison. |
address | string | |
doorCode | string | |
lat | number | null | Obligatoire. null pour un client sans adresse conservée. |
lng | number | null | Obligatoire. |
notes | string | |
itemDescription | string | |
packageSize | string | null | |
tags | string[] | |
regulars | integer | Destinataires : livraisons récurrentes vers eux qui ne sont pas terminées. |
hours | string | Lieux |
default | boolean | Lieux : les nouvelles livraisons de la console partent de lui. |
deliveries | integer | Clients |
addresses | integer | Clients |
lastDeliveryAt | string (date-time) | Clients |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
{
"id": "ben_4fQ9xLm2Za",
"kind": "recipient",
"name": "string",
"phone": "string",
"altPhone": "string",
"email": "string",
"placeName": "string",
"address": "string",
"doorCode": "string",
"lat": 0,
"lng": 0,
"notes": "string",
"itemDescription": "string",
"packageSize": "string",
"tags": [
"string"
],
"regulars": 0,
"hours": "string",
"default": true,
"deliveries": 0,
"addresses": 0,
"lastDeliveryAt": "2026-10-15T09:00:00+01:00",
"createdAt": "2026-10-15T09:00:00+01:00",
"updatedAt": "2026-10-15T09:00:00+01:00"
}Erreurs
defaultErreur
Modifier un destinataire ou un lieu de retrait
PATCH https://nways.ng/maps/v1/fleet/contacts/{contactId}
Les champs du type, comme à la création (kind peut être omis ; il ne peut pas changer). Un client est l’historique de ses livraisons et ne peut pas être modifié (400) : enregistrez-le comme destinataire.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
contactId | chemin | string | Obligatoire. ben_… (destinataire), plc_… (lieu) ou cus_… (client). |
Corps de la requête
kind (recipient ou place) et les champs de ce type ; name, lat et lng sont obligatoires pour en créer un.
| Champ | Type | Description |
|---|---|---|
kind | string | Au choix: recipient, place. |
name | string | 100 caractères au plus. |
phone | string | |
altPhone | string | Destinataires |
email | string | Destinataires |
placeName | string | Destinataires |
address | string | 300 caractères au plus. |
doorCode | string | 32 caractères au plus. |
lat | number | |
lng | number | |
notes | string | Destinataires |
itemDescription | string | Destinataires |
packageSize | string | null | Destinataires |
tags | string[] | Destinataires Au plus 8 éléments. |
hours | string | Lieux 200 caractères au plus. |
default | boolean | Lieux |
curl -X PATCH "https://nways.ng/maps/v1/fleet/contacts/ben_4fQ9xLm2Za" \
-H "X-NWays-Api-Key: VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{"kind":"recipient","name":"string","phone":"string","altPhone":"string","email":"string","placeName":"string","address":"string","doorCode":"string","lat":0,"lng":0,"notes":"string","itemDescription":"string","packageSize":"string","tags":["string"],"hours":"string","default":true}'const res = await fetch('https://nways.ng/maps/v1/fleet/contacts/ben_4fQ9xLm2Za', {
method: 'PATCH',
headers: { 'X-NWays-Api-Key': process.env.NWAYS_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
"kind": "recipient",
"name": "string",
"phone": "string",
"altPhone": "string",
"email": "string",
"placeName": "string",
"address": "string",
"doorCode": "string",
"lat": 0,
"lng": 0,
"notes": "string",
"itemDescription": "string",
"packageSize": "string",
"tags": [
"string"
],
"hours": "string",
"default": true
}),
})
const data = await res.json()import os
import requests
res = requests.patch(
"https://nways.ng/maps/v1/fleet/contacts/ben_4fQ9xLm2Za",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
json={"kind": "recipient", "name": "string", "phone": "string", "altPhone": "string", "email": "string", "placeName": "string", "address": "string", "doorCode": "string", "lat": 0, "lng": 0, "notes": "string", "itemDescription": "string", "packageSize": "string", "tags": ["string"], "hours": "string", "default": True},
timeout=10,
)
data = res.json()Réponse
Contact
| Champ | Type | Description |
|---|---|---|
id | string | Obligatoire. ben_… (destinataire), plc_… (lieu) ou cus_… (client). |
kind | string | Obligatoire. Au choix: recipient, place, customer. |
name | string | Obligatoire. |
phone | string | Obligatoire. |
altPhone | string | |
email | string | |
placeName | string | Destinataires : le nom du point de livraison ; clients : celui de leur dernier point de livraison. |
address | string | |
doorCode | string | |
lat | number | null | Obligatoire. null pour un client sans adresse conservée. |
lng | number | null | Obligatoire. |
notes | string | |
itemDescription | string | |
packageSize | string | null | |
tags | string[] | |
regulars | integer | Destinataires : livraisons récurrentes vers eux qui ne sont pas terminées. |
hours | string | Lieux |
default | boolean | Lieux : les nouvelles livraisons de la console partent de lui. |
deliveries | integer | Clients |
addresses | integer | Clients |
lastDeliveryAt | string (date-time) | Clients |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
{
"id": "ben_4fQ9xLm2Za",
"kind": "recipient",
"name": "string",
"phone": "string",
"altPhone": "string",
"email": "string",
"placeName": "string",
"address": "string",
"doorCode": "string",
"lat": 0,
"lng": 0,
"notes": "string",
"itemDescription": "string",
"packageSize": "string",
"tags": [
"string"
],
"regulars": 0,
"hours": "string",
"default": true,
"deliveries": 0,
"addresses": 0,
"lastDeliveryAt": "2026-10-15T09:00:00+01:00",
"createdAt": "2026-10-15T09:00:00+01:00",
"updatedAt": "2026-10-15T09:00:00+01:00"
}Erreurs
defaultErreur
Supprimer un contact (un client est oublié avec ses adresses)
DELETE https://nways.ng/maps/v1/fleet/contacts/{contactId}
Les livraisons déjà faites gardent ce qui leur a été donné ; les livraisons d’un client oublié suivent la durée de conservation de votre flotte.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
contactId | chemin | string | Obligatoire. ben_… (destinataire), plc_… (lieu) ou cus_… (client). |
curl -X DELETE "https://nways.ng/maps/v1/fleet/contacts/ben_4fQ9xLm2Za" \
-H "X-NWays-Api-Key: VOTRE_CLE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/contacts/ben_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/contacts/ben_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 adresses d’un contact
GET https://nways.ng/maps/v1/fleet/contacts/{contactId}/addresses
Les points de livraison d’un client, le dernier utilisé d’abord, une page à la fois (q, limit, pageToken) ; l’adresse unique d’un destinataire ou d’un lieu.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
contactId | chemin | string | Obligatoire. |
q | requête | string | |
limit | requête | integer | Par défaut: 25. ≥ 1, ≤ 100. |
pageToken | requête | string |
curl "https://nways.ng/maps/v1/fleet/contacts/string/addresses" \
-H "X-NWays-Api-Key: VOTRE_CLE_API"const res = await fetch('https://nways.ng/maps/v1/fleet/contacts/string/addresses', {
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/contacts/string/addresses",
headers={"X-NWays-Api-Key": os.environ["NWAYS_API_KEY"]},
timeout=10,
)
data = res.json()Réponse
Adresses
| Champ | Type | Description |
|---|---|---|
addresses | Address[] | Obligatoire. |
addresses[].id | string | Obligatoire. |
addresses[].name | string | Obligatoire. |
addresses[].address | string | Obligatoire. |
addresses[].doorCode | string | Obligatoire. Le code NIPOST ou GhanaPost par lequel l’adresse commence ("" pour aucun). |
addresses[].lat | number | Obligatoire. |
addresses[].lng | number | Obligatoire. |
addresses[].uses | integer | Obligatoire. Livraisons qui y sont allées. |
addresses[].lastUsedAt | string (date-time) | Obligatoire. |
total | integer | Obligatoire. |
nextPageToken | string | |
prevPageToken | string |
{
"addresses": [
{
"id": "adr_8KwP2nVd5T",
"name": "string",
"address": "string",
"doorCode": "string",
"lat": 0,
"lng": 0,
"uses": 0,
"lastUsedAt": "2026-10-15T09:00:00+01:00"
}
],
"total": 0,
"nextPageToken": "string",
"prevPageToken": "string"
}Erreurs
defaultErreur