# Terminal Delivery

Terminal Delivery est un transporteur algérien qui propose la livraison à domicile, ses propres stop-desks et des points relais partenaires (des boutiques qui gardent le colis pour l'acheteur). L'intégration demande une seule valeur : le jeton API de votre boutique.

## Ce qu'il vous faut[​](#ce-quil-vous-faut "Lien direct vers Ce qu'il vous faut")

* Une seule valeur, étiquetée **API Token** dans la fenêtre d'identifiants, fournie par votre compte Terminal Delivery. Terminal s'authentifie avec `Authorization: Token <valeur>`.

Si votre compte n'a pas encore de jeton, demandez à Terminal Delivery d'activer l'accès API.

## Lier Terminal Delivery dans DZBuild[​](#lier-terminal-delivery-dans-dzbuild "Lien direct vers Lier Terminal Delivery dans DZBuild")

1. Ouvrez [`/dashboard/link-shipping`](https://dzbuild.com/dashboard/link-shipping) et trouvez la tuile **Terminal Delivery**.
2. Cliquez sur **Lier**.
3. Collez votre **API Token** dans l'unique champ d'identifiant.
4. Cliquez sur **Tester la connexion**. DZBuild interroge Terminal en direct ; un jeton erroné est refusé tout de suite.
5. Cliquez sur **Lier et enregistrer**.

Les prix par wilaya se modifient sur [`/dashboard/shipping`](https://dzbuild.com/dashboard/shipping).

## Ce qui est synchronisé[​](#ce-qui-est-synchronisé "Lien direct vers Ce qui est synchronisé")

* Les **wilayas** desservies par Terminal.
* Les **communes** par wilaya, avec les identifiants de commune propres à Terminal.
* Les **tarifs domicile et stop-desk** par wilaya.
* Les **stop-desks et points relais partenaires** pour le [sélecteur Stop Desk](https://dzbuild.com/fr/fr/docs/couriers/stop-desk.md).

### Tarifs[​](#tarifs "Lien direct vers Tarifs")

**Synchroniser les tarifs depuis le transporteur** lit les options de livraison de Terminal pour chaque wilaya et remplit le prix domicile et le prix stop-desk. Ce sont les prix standard (hors express).

Terminal fixe ses prix par **commune**, donc DZBuild lit la commune chef-lieu de chaque wilaya. Une wilaya dont le chef-lieu n'a pas de prix pour votre boutique reste à 0 ; saisissez-le à la main sur [`/dashboard/shipping`](https://dzbuild.com/dashboard/shipping).

### Stop-desks et points relais[​](#stop-desks-et-points-relais "Lien direct vers Stop-desks et points relais")

Terminal liste deux types de lieux par commune : ses propres **stop-desks** et des **points relais partenaires**. DZBuild affiche les deux dans le sélecteur Stop Desk. Il lit d'abord le chef-lieu de chaque wilaya ; quand une wilaya a un prix stop-desk mais que son chef-lieu ne liste aucun lieu, DZBuild vérifie jusqu'à 15 autres communes de cette wilaya.

La livraison en stop-desk n'est proposée que dans les communes où Terminal a listé un stop-desk ou un point relais. Une commande envoyée vers un point relais partenaire porte l'identifiant du point, pour que le colis arrive dans cette boutique.

## Ce qui se passe à l'envoi d'une commande[​](#ce-qui-se-passe-à-lenvoi-dune-commande "Lien direct vers Ce qui se passe à l'envoi d'une commande")

DZBuild envoie la commande avec le nom, le téléphone et l'adresse du client, la commune sous forme d'**identifiant de commune Terminal** (ou les noms de la commune et de la wilaya quand la commune n'est pas dans la liste synchronisée ; Terminal les reconnaît en latin ou en arabe), le type de livraison (1 domicile, 2 stop-desk, 3 point relais), la liste des produits sur une seule ligne, votre numéro de commande comme `external_id`, et `total_price`. Une commande stop-desk part avec la commune du bureau choisi.

Trois règles à connaître :

* **`total_price` inclut la livraison.** C'est le montant que paie le client et il doit être au moins égal au prix de livraison de Terminal pour cette commune, sinon la commande est refusée (code 10).
* **Les doublons sont refusés pendant 24 heures.** Une commande avec le même nom et le même téléphone qu'une de vos commandes actives des dernières 24 heures est refusée (code 55). Corrigez le téléphone ou attendez ; ne renvoyez pas telle quelle.
* **Pas d'annulation par l'API.** Annulez un colis depuis votre compte Terminal Delivery.

Terminal répond avec un identifiant de commande (enregistré comme suivi) et un numéro de suivi imprimé sur le bordereau. DZBuild récupère le bordereau tout de suite ; **Imprimer l'étiquette** sur la commande l'imprime.

### Signification des statuts[​](#signification-des-statuts "Lien direct vers Signification des statuts")

| Statut Terminal                                                                                                                          | Ce que cela veut dire                             | Statut DZBuild              |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | --------------------------- |
| 4 Created, 5 Pickup requested, 6 In process, 8 Waiting transit, 9 In transit, 11 Pending, 12 Out of stock, 15 Ready to ship, 22 Assigned | Le colis est chez Terminal, pas encore en tournée | En traitement               |
| 31 Shipped, 32 Alerted, 42 Postponed, 51 Ready to return                                                                                 | En tournée, ou une tentative échouée              | Expédiée                    |
| 33 Ready for pickup                                                                                                                      | Attend le client au bureau ou au point relais     | Expédiée                    |
| 41 Delivered                                                                                                                             | Livrée                                            | Livrée                      |
| 50 Aborted                                                                                                                               | Annulée par Terminal                              | Annulée                     |
| 10 In transit to be returned, 53 Not received                                                                                            | Le colis revient                                  | Retournée (le stock attend) |
| 52 Taken by store                                                                                                                        | Le colis est de retour chez vous                  | Retournée (stock restitué)  |

Un retour qui n'atteint jamais le statut 52 récupère son stock après 15 jours, ou plus tôt quand vous le marquez reçu sur la commande.

## Erreurs courantes et solutions[​](#erreurs-courantes-et-solutions "Lien direct vers Erreurs courantes et solutions")

DZBuild affiche les refus de Terminal en arabe. Quand Terminal ajoute sa propre explication, elle suit le message entre parenthèses.

| Symptôme                                                                                                                  | Cause probable                                                                       | Solution                                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| « بيانات الاعتماد غير صحيحة لدى Terminal Delivery (HTTP 401) - تأكد من رمز الـ Token »                                    | Jeton erroné ou expiré                                                               | Recopiez le jeton depuis votre compte Terminal.                                                                               |
| « فشل التحقق: السعر الإجمالي أقل من الحد الأدنى لدى Terminal Delivery، السعر يجب أن يشمل تكلفة التوصيل » (code 10)        | Le total de la commande est sous le prix de livraison de Terminal pour cette commune | Vérifiez que le total inclut le prix de livraison, et augmentez les frais de livraison de la commande si ce n'est pas le cas. |
| « فشل التحقق: لا يوجد سعر توصيل لهذه البلدية في حساب Terminal Delivery » (code 70)                                        | Votre compte Terminal n'a pas de prix pour cette commune                             | Demandez à Terminal Delivery d'ouvrir la commune, ou envoyez cette commande avec un autre transporteur.                       |
| « لم يتم العثور على البلدية لدى Terminal Delivery أو المنطقة غير مغطاة » (code 40)                                        | Terminal ne connaît pas ou ne dessert pas la commune                                 | Corrigez la commune, ou cliquez sur **Actualiser** sur la tuile pour resynchroniser la liste des communes.                    |
| « مكتب الاستلام (Stop Desk) أو نقطة الاستلام غير متوفرة في هذه البلدية لدى Terminal Delivery » (code 45)                  | Aucun stop-desk ni point relais dans cette commune                                   | Passez la commande en livraison à domicile ou choisissez un autre bureau.                                                     |
| « طلب مكرر لدى Terminal Delivery: يوجد طلب نشط بنفس اسم العميل ورقم الهاتف خلال آخر 24 ساعة، لا تُعِد الإرسال » (code 55) | Même nom et même téléphone qu'une commande active des dernières 24 heures            | Attendez, ou corrigez le téléphone ; ne renvoyez pas telle quelle.                                                            |
| « فشل التحقق: المنتج غير موجود أو غير متطابق في كتالوج Terminal Delivery » (code 50)                                      | La ligne produit n'a pas pu être créée ni retrouvée dans le catalogue Terminal       | Renommez le produit dans DZBuild, ou créez-le dans Terminal avec le même nom.                                                 |
| « فشل التحقق: حساب Terminal Delivery غير مفعّل للإرسال عبر API، تواصل مع Terminal » (code 120)                            | Votre compte Terminal n'est pas activé pour les commandes par API                    | Demandez à Terminal Delivery de l'activer.                                                                                    |
| « ملصق Terminal Delivery غير متوفر لهذا الطلب، اطبعه من لوحة Terminal Delivery »                                          | Terminal n'a pas renvoyé le bordereau à l'envoi de la commande                       | Imprimez le bordereau depuis votre compte Terminal Delivery.                                                                  |

## Conseils[​](#conseils "Lien direct vers Conseils")

* Le test de connexion fonctionne sur un compte sans aucun envoi.
* Un nouveau nom de produit crée un produit dans votre catalogue Terminal ; gardez des noms stables pour que la vue stock de Terminal reste lisible. Quand un nom existe déjà là-bas, DZBuild réutilise ce produit.
* Terminal autorise 300 appels API par minute et par compte ; DZBuild attend les secondes demandées par Terminal (10 au plus) avant une seule nouvelle tentative.
