Aller au contenu principal

Comment utiliser AfriRegions

Chaque réglage expliqué, de l'installation à l'API mobile, dans l'ordre où il faut les configurer.

Installation

PrérequisWordPress 5.8+ · WooCommerce 6.0+ · PHP 7.4+

  1. 1.Déposez le dossier du plugin dans /wp-content/plugins/, ou installez-le depuis WordPress.org
  2. 2.Activez-le depuis le menu Extensions de WordPress
  3. 3.Allez dans WooCommerce → Réglages → Général et ajoutez les pays africains où vous vendez et expédiez
  4. 4.Ouvrez WooCommerce → AfriRegions pour accéder au tableau de bord et commencer la configuration

Étape préalable : choisir vos pays

AfriRegions ne s'active que pour les pays où vous vendez réellement, et c'est WooCommerce qui décide de cette liste. Réglez-la avant tout le reste.

  1. 1.Allez dans WooCommerce → Réglages → Général
  2. 2.Ajoutez vos pays africains aux Lieu(x) de vente et aux Lieu(x) d'expédition
  3. 3.Si vous ne vendez qu'au Cameroun, ne mettez que le Cameroun : le plugin ne chargera que les données du Cameroun
Bon à savoir

Le plugin embarque 24 pays mais n'active que ceux que vous avez autorisés ici. Une règle configurée pour un pays absent de cette liste ne se chargera jamais : ajoutez d'abord le pays, puis revenez configurer vos règles.

Selling location(s)
🇨🇲Cameroun×🇨🇮Cote d'Ivoire×🇸🇳Senegal×
Shipping location(s)
Ship to specific countries only

L'onglet Zones

WooCommerce → AfriRegions → Zones affiche l'arborescence de vos données géographiques : pour chaque pays ses régions, pour chaque région ses villes, pour chaque ville ses quartiers. Servez-vous-en pour vérifier ce qui existe et compléter ce qui manque.

  1. 1.Parcourir : dépliez une région pour voir ses villes, dépliez une ville pour voir ses quartiers
  2. 2.Rechercher : la barre en haut filtre la liste au fur et à mesure que vous tapez
  3. 3.Filtrer par pays : un sélecteur permet de n'afficher qu'un pays à la fois
  4. 4.Ajouter une ville : dépliez une région, cliquez sur « Ajouter une ville », saisissez le nom
  5. 5.Ajouter un quartier : à l'intérieur d'une ville, cliquez sur « Ajouter » et saisissez le nom
  6. 6.Supprimer : un lieu que vous avez ajouté peut être retiré, et les lieux livrés d'origine peuvent être masqués si vous ne les utilisez pas
Bon à savoir

Une pastille indique si un lieu est d'origine (livré avec le plugin) ou personnalisé (ajouté par vous).

Littoral
Douala
DeidoOrigine
Akwa NordPersonnalisé

L'onglet Checkout

WooCommerce → AfriRegions → Checkout vous laisse remodeler le formulaire que votre client remplit au moment de payer : l'ordre des champs, leurs libellés, lesquels sont visibles, lesquels sont obligatoires.

  1. 1.Activez l'interrupteur principal « Activer la personnalisation des champs de commande » : éteint par défaut, WooCommerce garde ses champs habituels tant que vous ne l'allumez pas
  2. 2.Choisissez un sous-onglet : Facturation et Livraison se configurent séparément et sont indépendants
  3. 3.Réorganiser : attrapez la poignée à gauche d'une ligne et glissez-la
  4. 4.Renommer : tapez un nom dans la colonne « Libellé personnalisé », laissez vide pour garder le libellé par défaut
  5. 5.Cochez ou décochez « Requis » et « Visible » : un champ masqué n'est jamais demandé au client
  6. 6.Enregistrez vos réglages, ou réinitialisez la section active aux valeurs WooCommerce par défaut
Bon à savoir

La colonne « Layout » indique si le champ s'affiche en pleine largeur ou en demi-largeur (deux champs côte à côte, comme Prénom + Nom quand les deux sont visibles) : c'est automatique. Les champs Ville, Région et Quartier d'AfriRegions sont regroupés à part : ils sont toujours présents au paiement et ne peuvent pas être masqués, mais vous pouvez personnaliser leur libellé, par exemple « Arrondissement » à la place de « Quartier ».

FacturationLivraison
Libellé personnaliséRequisVisible
Ville
Région
Quartier

Les tarifs de livraison par zone

Les tarifs ne se règlent pas dans le menu AfriRegions, mais là où WooCommerce gère l'expédition. Ajoutez la méthode « AfriRegions - Tarifs région / ville / quartier » à une zone d'expédition, puis construisez vos règles.

  1. 1.Allez dans WooCommerce → Expédition, choisissez ou créez une zone d'expédition, puis Ajouter une méthode d'expédition
  2. 2.Choisissez « AfriRegions - Tarifs région / ville / quartier »
  3. 3.Réglez le Titre affiché au client, gardez-le neutre comme « Livraison à domicile » et évitez d'y mettre « AfriRegions »
  4. 4.Réglez le Prix par défaut, le tarif appliqué quand aucune de vos règles ne correspond à la destination
  5. 5.Cochez éventuellement « Masquer si aucune règle ne correspond » : la méthode disparaît alors au lieu d'afficher le prix par défaut, ce qui rend ce dernier inutile
  6. 6.Réglez éventuellement « Livraison gratuite à partir de » (Pro), laissez vide pour désactiver : mettre 0 désactive le seuil et ne rend pas tout gratuit
  7. 7.Ajoutez vos règles : une région (obligatoire), éventuellement une ville, éventuellement un ou plusieurs quartiers, le prix, et éventuellement un seuil de gratuité propre à la règle (Pro)
  8. 8.En Pro, ajoutez les options de livraison (Express, Jour même) avec leur supplément et leur délai estimé, et servez-vous de l'import / export CSV pour les modifications en masse
Bon à savoir

La règle la plus précise l'emporte : un tarif quartier bat un tarif ville, qui bat un tarif région, qui bat le prix par défaut. Le statut fiscal et la classe de taxe sont sur « Non taxable » par défaut, ne les changez que si vous êtes assujetti à la TVA sur les frais de port. Rappelez-vous qu'une zone d'expédition WooCommerce doit couvrir le pays visé par vos règles, sinon elles ne se déclencheront jamais.

DeidoQuartier1,000 CFA
DoualaVille1,500 CFA
LittoralRégion2,000 CFA
Default2,500 CFA

Les points de retrait

Pro

Laissez le client venir chercher sa commande au lieu de se la faire livrer. Moins d'échecs de livraison à domicile, moins de retours.

  1. 1.Allez dans WooCommerce → Expédition → votre zone → Ajouter une méthode d'expédition
  2. 2.Choisissez « AfriRegions - Point de retrait »
  3. 3.Réglez le Titre affiché au client
  4. 4.Ajoutez vos points de retrait : nom, localisation (région, ville, quartier), adresse, horaires et téléphone
  5. 5.Au paiement, le client ne voit que les points situés dans sa ville ou sa région et choisit le plus pratique
Bon à savoir

Le retrait est gratuit. Le point choisi apparaît ensuite sur la confirmation de commande, dans l'e-mail et dans le compte du client, pour qu'il sache toujours où récupérer son colis.

AfriRelais Akwa
Rue Joss, Akwa · Douala
8:00 – 18:00 · +237 6 71 23 45 67
0 CFA
Point Bonanjo
Blvd de la Liberté · Douala
0 CFA

La livraison par agence de voyage

Pro

La livraison interurbaine via les agences de bus et de voyage, comme les colis circulent couramment au Cameroun, en Côte d'Ivoire et au Sénégal. Vous fixez le prix du trajet, le client récupère son colis à l'agence de destination.

  1. 1.Allez dans WooCommerce → Expédition → votre zone → Ajouter une méthode d'expédition
  2. 2.Choisissez « AfriRegions - Agence de voyage »
  3. 3.Réglez le Titre affiché, le statut fiscal et le prix par défaut
  4. 4.Ajoutez vos trajets : un prix par destination, ville ou région
  5. 5.Ajoutez vos agences, les lieux de retrait à destination
  6. 6.Au paiement, le prix vient du trajet et le client sélectionne l'agence qui l'arrange
Bon à savoir

Priorité : ville, puis région, puis prix par défaut. Un trajet ne s'affiche au paiement que s'il existe au moins une agence pour le desservir, et l'éditeur vous prévient si vous créez un trajet sans agence dans sa zone. L'agence choisie apparaît sur la confirmation de commande, dans l'e-mail et dans le compte du client.

DoualaYaoundé3,000 CFA
Général Express Voyages
Central Voyages

La vérification des adresses

Le plugin vérifie que ce que le client a choisi est cohérent : que la ville appartient bien à la région, et que le quartier appartient bien à la ville. Une adresse incohérente est signalée avant la validation de la commande, avec un message clair et non technique.

Ville
Douala
QuartierDeido

L'onglet Developer

Pro

WooCommerce → AfriRegions → Developer regroupe les deux réglages destinés aux intégrations avancées. Les deux sont éteints par défaut, et les deux demandent de cliquer sur Enregistrer.

  1. 1.Activer l'API REST : expose vos données d'adresses (pays, régions, villes, quartiers) pour qu'une application mobile ou un autre système puisse les lire. Une fois activé, l'écran affiche l'adresse de base de l'API et la liste des routes
  2. 2.Activer le champ téléphone international : transforme le champ téléphone du paiement en un champ avec drapeau du pays et indicatif automatique. Le drapeau suit le pays de facturation et le numéro est enregistré au format international (+237…)
  3. 3.Cliquez sur Enregistrer après avoir changé l'un ou l'autre interrupteur
Bon à savoir

Activez le champ téléphone dès que vos livreurs ont besoin d'appeler vos clients, c'est-à-dire presque toujours.

Enable REST API
Expose geographic data via the AfriRegions REST API.
Enable international phone field
Country flag, dial code, and E.164 storage at checkout.
https://your-store.com/wp-json/scpwoo/v1/

API REST : les données d'adresses

Pro

Toutes les routes sont publiques, en lecture seule (GET) et renvoient du JSON. Aucune authentification n'est nécessaire puisque les données géographiques sont publiques. Les données sont filtrées sur les pays que votre boutique vend et expédie, et un débit maximum de 120 requêtes par minute protège le serveur : au-delà, réponse 429 avec un en-tête Retry-After.

RouteCe qu'elle renvoie
GET /snapshotTout le jeu de données en un seul appel, la méthode recommandée pour les apps offline-first.
GET /versionUn jeton de version des données, pour savoir quand resynchroniser.
GET /countriesLes pays pris en charge, avec leur nombre de régions et de villes.
GET /regionsToutes les régions (paginé : page, per_page).
GET /regions/{code}Une région (code à 2 lettres) et ses villes.
GET /citiesToutes les villes. Filtrable avec ?region={code}.
GET /cities/{name}Une ville et ses quartiers.
GET /neighborhoodsTous les quartiers. Filtrable avec ?city={name}.
GET /neighborhoods/{city}Les quartiers d'une ville.
GET /search?q=Recherche insensible aux accents sur tous les niveaux (per_page).
# Le jeton de version (quelques octets)
curl https://votre-boutique.com/wp-json/scpwoo/v1/version
# → {"version":"2.1.0.1784842422","generated_at":"2026-07-23T22:07:11+00:00"}

# Les pays pris en charge
curl https://votre-boutique.com/wp-json/scpwoo/v1/countries
# → [{"code":"CM","name":"Cameroun","region_count":10,"city_count":152}]

# Tout, en un appel
curl https://votre-boutique.com/wp-json/scpwoo/v1/snapshot
Bon à savoir

L'offline-first est la méthode recommandée : appelez /snapshot une seule fois au premier lancement et stockez le résultat sur le téléphone, puis lisez tout en local pour que le choix pays → région → ville → quartier soit instantané et fonctionne hors connexion. Vérifiez de temps en temps avec /version, ou mieux, avec les en-têtes HTTP standard ETag / If-None-Match, qui renvoient 304 Not Modified sans corps tant que rien n'a changé.

GET /wp-json/scpwoo/v1/snapshot
{
  "version": "2.1.0.1784842422",
  "countries": [{ "code": "CM", … }]
}
200 OK304 Not ModifiedETag · 120 req/min

Store API : les vrais frais de livraison

Pro

L'API AfriRegions ne calcule pas les tarifs de livraison, ce n'est pas son rôle. Les vrais prix viennent de la Store API native de WooCommerce sur /wp-json/wc/store/v1/, qui inclut automatiquement vos méthodes AfriRegions. Vous construisez un panier, vous y posez une adresse, et WooCommerce renvoie les méthodes disponibles et leurs prix calculés. AfriRegions remplit l'adresse, WooCommerce calcule la livraison, votre app affiche les deux.

  1. 1.GET /wc/store/v1/cart pour obtenir un panier, notez les en-têtes Cart-Token et Nonce de la réponse et renvoyez-les sur chaque appel suivant
  2. 2.POST /wc/store/v1/cart/add-item avec {"id": 18172, "quantity": 1} pour ajouter un produit
  3. 3.POST /wc/store/v1/cart/update-customer avec l'adresse de livraison, en incluant le quartier sous la clé scpwoo/neighborhood
  4. 4.Lisez le tableau shipping_rates dans la réponse : chaque entrée liste les méthodes disponibles et leur prix
  5. 5.POST /cart/select-shipping-rate pour le choix du client, puis poursuivez avec le tunnel standard POST /checkout
curl -X POST https://votre-boutique.com/wp-json/wc/store/v1/cart/update-customer \
  -H "Content-Type: application/json" \
  -H "Cart-Token: <le_token>" \
  -H "Nonce: <le_nonce>" \
  -d '{
        "shipping_address": {
          "country": "CM",
          "state": "LT",
          "city": "Douala",
          "address_1": "Rue 123",
          "scpwoo/neighborhood": "Bonapriso"
        }
      }'
Bon à savoir

La Store API connaît nativement le pays, la région et la ville, mais pas le quartier, qui est propre à AfriRegions. Envoyez-le sous scpwoo/neighborhood et votre app obtient le tarif quartier, exactement comme au checkout du site. Sans ce champ, vous n'obtenez que les tarifs ville et région. Ce pont demande WooCommerce 8.9 ou plus récent. Ne réimplémentez jamais le calcul dans l'app : le serveur calcule, l'app affiche, et toute règle modifiée en admin s'applique instantanément au site comme à l'app.

shipping_rates
Livraison à domicilescpwoo_zone_shipping:156,000
Retrait en magasinscpwoo_pickup:170
"scpwoo/neighborhood": "Bonapriso"