L'API utilise Bearer Token pour tous les endpoints sauf la liste des gouvernorats.
Workflow d'authentification :
POST /api/loginAuthorization: Bearer {token}URL : POST /api/login
Body :
{
"email": "votre@email.com",
"password": "votre_mot_de_passe"
}
Réponse succÚs :
{
"user_id": 777,
"token": "678|IcH4mmRg9HLTSOdA3caFuEtK6YQenxbTHBV2Q5Wqc2bbb524"
}
â ïž PUBLIC â Aucun token requis
URL : GET /api/gouvernorat
Réponse:
{
"status": "success",
"data": [
{
"id": 1,
"name": "Tunis",
"bigboss_name": "TUNIS"
}
]
}
đ PROTĂGĂ â Token requis
URL : POST /api/colis/v1/ajouter
Headers :
Authorization: Bearer {token}
Content-Type: application/json
Body obligatoire
Ce sont les champs requis pour la crĂ©ation standard dâun colis :
{
"nom_complet": "Nom du destinataire",
"adresse": "Adresse de livraison",
"tel1": "12345678",
"nombre_pieces": 1,
"service": "Livraison",
"id_gov": 1
}
Champs optionnels (non obligatoires)
| Champ | Type | Description |
|---|---|---|
designation |
string | Désignation du colis |
tel2 |
string (8 chiffres) | Numéro de téléphone secondaire |
bulk |
boolean | Indique si le colis fait partie dâun envoi groupĂ© |
fragile |
boolean | Indique si le colis est fragile |
remarque |
string | Commentaire ou note libre sur le colis |
Body pour échange
Dans le cas dâun Ă©change, le champ service doit ĂȘtre dĂ©fini Ă "Ăchange" et il faut ajouter le code de lâancien colis (old_code).
Les autres champs obligatoires du colis (comme nom_complet, adresse, tel1, id_gov, etc.) doivent Ă©galement ĂȘtre prĂ©sents dans la requĂȘte.
â ïž Les champs reason et apply_delivery sont facultatifs dans le cas dâun Ă©change.
{
"service": "Ăchange",
"old_code": "CODE_ANCIEN_COLIS",
"nom_complet": "Nom du destinataire",
"adresse": "Adresse de livraison",
"tel1": "12345678",
"nombre_pieces": 1,
"id_gov": 1
}
Réponse succÚs :
{
"status": "success",
"message": "Colis créé avec succÚs.",
"code": "010000010001",
"etat_colis": "Créé"
}
đ PROTĂGĂ â Token requis
URL : PUT /api/colis/v1/{code}/modifier
Headers :
Authorization: Bearer {token}
Content-Type: application/json
Body :
{
"cod": 75.00,
"adresse": "Nouvelle adresse",
"tel1": "11111111",
"remarque": "Nouvelle remarque"
}
Réponse :
{
"status": "success",
"message": "Colis mis Ă jour avec succĂšs."
}
đ PROTĂGĂ â Token requis
URL : GET /api/colis/v1/{code}/status
Headers :
Authorization: Bearer {token}
Réponse :
{
"status": "success",
"colis_code": "010000010001",
"etats": [
{
"etat": "Créé",
"created_at": "2024-01-15 10:30:00"
}
],
"anomalies": [
{
"nom": "Adresse incorrecte",
"commentaire": "Le destinataire a déménagé",
"created_at": "2024-01-16 14:20:00"
}
]
}
| Nom de lâanomalie | Code |
|---|---|
| Téléphone fermé | TF |
| Pas de réponse | PR |
| Colis reporté | RP |
| Colis refusé | ANN |
| Adresse incorrecte | AI |
| Numéro incorrect | NI |
| Client non sérieux | CLS |
| # | Nom de lâĂ©tat | Description |
|---|---|---|
| 1 | Créé | Colis enregistré dans le systÚme |
| 2 | En attente dâenlĂšvement | En attente du livreur pour le pickup |
| 3 | PrĂȘt Ă enlever | Colis prĂȘt Ă ĂȘtre rĂ©cupĂ©rĂ© |
| 4 | Enlevé | Colis pris par le livreur |
| 5 | Anomalie dâenlĂšvement | ProblĂšme lors du pickup |
| 6 | Anomalie de retour | ProblĂšme lors du retour |
| 7 | En stock | Colis dans lâagence |
| 8 | En cours de livraison | En transit vers le destinataire |
| 9 | Livré | Colis remis au client |
| 10 | Livré Payé | Colis livré et payé |
| 11 | Planification retour | En attente de retour planifié |
| 12 | RetournĂ© | Colis retournĂ© Ă lâexpĂ©diteur |
| 13 | En cours de transfert | Colis en transit inter-agence |
| 14 | Anomalie de transfert | Incident lors du transfert |
| 15 | à Vérifier | Statut en attente de validation |
| 16 | En attente dâĂ©change | PrĂ©paration dâun Ă©change |
| 17 | Anomalie dâĂ©change | ProblĂšme lors dâun Ă©change |
| 18 | Stock Ă©change | Colis dâĂ©change en stock |
| 19 | Ăchange acceptĂ© | Ăchange validĂ© avec succĂšs |
đ Obtenir un token
curl -X POST https://youssel.online/api/login \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com", "password": "password"}'
đŠ CrĂ©er un colis
curl -X POST https://youssel.online/api/colis/v1/ajouter \
-H "Authorization: Bearer VOTRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"nom_complet": "Mohamed Ali",
"adresse": "12 Rue de la République",
"tel1": "12345678",
"nombre_pieces": 2,
"service": "Livraison",
"id_gov": 1
}'
đ Liste des gouvernorats (sans token)
curl -X GET https://youssel.online/api/gouvernorat
| Code | Description |
|---|---|
| 200 | SuccĂšs |
| 201 | Créé avec succÚs |
| 401 | Token invalide ou manquant |
| 403 | Non autorisé |
| 404 | Ressource non trouvée |
| 422 | Erreur de validation |
| 500 | Erreur serveur |
Seuls les colis "Créé" ou "PrĂȘt Ă enlever" peuvent ĂȘtre modifiĂ©s.
Les échanges nécessitent un ancien code valide.
Lâoption Bulk nĂ©cessite des tarifs configurĂ©s.