{
    "info": {
        "_postman_id": "6dc0c453-571a-490c-a886-43ada36540b8",
        "name": "Gestion SIMCard - API Complete",
        "description": "Collection complète pour la gestion des cartes SIM avec auto-création des caisses",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
        "_exporter_id": "39901298",
        "_collection_link": "https://www.postman.com/supply-astronomer-57355752/workspace/cmz/collection/39901298-6dc0c453-571a-490c-a886-43ada36540b8?action=share&source=collection_link&creator=39901298"
    },
    "item": [
        {
            "name": "0. AUTH",
            "item": [
                {
                    "name": "Login Responsable",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "exec": [
                                    "pm.test('Status 200', () => pm.response.to.have.status(200));",
                                    "pm.test('Token saved', () => { const r = pm.response.json(); pm.collectionVariables.set('access_token', r.data.tokens.accessToken); console.log('✅ Token:', pm.collectionVariables); });"
                                ],
                                "type": "text/javascript",
                                "packages": {},
                                "requests": {}
                            }
                        },
                        {
                            "listen": "prerequest",
                            "script": {
                                "exec": [
                                    ""
                                ],
                                "type": "text/javascript",
                                "packages": {},
                                "requests": {}
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"telephone\":\"0340000000\",\"mot_de_passe\":\"Admin@2025\"}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{base_url}}/auth/login",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "auth",
                                "login"
                            ]
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "📱 1. CRÉATION SIM",
            "item": [
                {
                    "name": "Créer SIM MVola - Sans Détenteur",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "exec": [
                                    "if (pm.response.code === 201) {",
                                    "    const response = pm.response.json();",
                                    "    pm.collectionVariables.set('sim_id', response.data.id);",
                                    "    console.log('✅ SIM créée - ID:', response.data.id);",
                                    "}"
                                ],
                                "type": "text/javascript"
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"numero\": \"034 12 345 67\",\n  \"type_sim\": \"MERE_TDP_MVOLA\"\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Créer SIM Airtel Mixte - Avec Détenteur",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"numero\": \"033 11 222 33\",\n  \"type_sim\": \"AIRTEL_MIXTE\",\n  \"detenteur_type\": \"FREELANCE\",\n  \"detenteur_id\": 1\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Créer SIM Mère Orange (Agrégateur)",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "exec": [
                                    "if (pm.response.code === 201) {",
                                    "    const response = pm.response.json();",
                                    "    pm.collectionVariables.set('sim_mere_id', response.data.id);",
                                    "    console.log('✅ SIM Mère créée - ID:', response.data.id);",
                                    "}"
                                ],
                                "type": "text/javascript",
                                "packages": {},
                                "requests": {}
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"numero\": \"032 99 888 77\",\n  \"type_sim\": \"AGREGATOR_ORANGE\",\n  \"detenteur_type\": \"ETABLISSEMENT\",\n  \"detenteur_id\": 1\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Créer SIM 2TOI avec Mère",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"numero\": \"034 55 666 78\",\n  \"type_sim\": \"REVENDEUR_2TOI\",\n  \"sim_mere_id\": {{sim_mere_id}}\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "❌ ERREUR - SIM Mère avec sim_mere_id",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"numero\": \"034 11 111 11\",\n  \"type_sim\": \"MERE_TDP_MVOLA\",\n  \"sim_mere_id\": 1\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards"
                            ]
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "📋 2. CONSULTATION",
            "item": [
                {
                    "name": "Lister Toutes les SIMs",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/simcards",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Obtenir une SIM par ID",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Filtrer - SIMs YAS uniquement",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/simcards?operateur=YAS",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards"
                            ],
                            "query": [
                                {
                                    "key": "operateur",
                                    "value": "YAS"
                                }
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Filtrer - SIMs Non Assignées",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/simcards?unassigned=true",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards"
                            ],
                            "query": [
                                {
                                    "key": "unassigned",
                                    "value": "true"
                                }
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Filtrer - SIMs d'un Freelance",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/simcards?detenteur_type=FREELANCE&detenteur_id=1",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards"
                            ],
                            "query": [
                                {
                                    "key": "detenteur_type",
                                    "value": "FREELANCE"
                                },
                                {
                                    "key": "detenteur_id",
                                    "value": "1"
                                }
                            ]
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "👤 3. ASSIGNATION DÉTENTEUR",
            "item": [
                {
                    "name": "Assigner SIM à un Freelance",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"detenteur_type\": \"FREELANCE\",\n  \"detenteur_id\": 1\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}/assign",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}",
                                "assign"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Assigner SIM à un Établissement",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"detenteur_type\": \"ETABLISSEMENT\",\n  \"detenteur_id\": 3\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}/assign",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}",
                                "assign"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Désassigner SIM",
                    "request": {
                        "method": "PUT",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}/unassign",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}",
                                "unassign"
                            ]
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "🔗 4. GESTION SIM MÈRE",
            "item": [
                {
                    "name": "Assigner une SIM Mère",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"sim_mere_id\": 5\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards/4/mere",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "4",
                                "mere"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Changer de SIM Mère",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"sim_mere_id\": 5\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}/mere",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}",
                                "mere"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Retirer la SIM Mère",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"sim_mere_id\": null\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}/mere",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}",
                                "mere"
                            ]
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "💰 5. GESTION SOLDE CAISSE",
            "item": [
                {
                    "name": "SET - Définir Solde MONEY à 50000",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"operation\": \"SET\",\n  \"montant\": 50000,\n  \"commentaire\": \"Initialisation solde MVola\"\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}/caisse/MONEY/solde",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}",
                                "caisse",
                                "MONEY",
                                "solde"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "ADD - Ajouter 10000 au Solde",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"operation\": \"ADD\",\n  \"montant\": 10000,\n  \"commentaire\": \"Recharge manuelle\"\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}/caisse/MONEY/solde",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}",
                                "caisse",
                                "MONEY",
                                "solde"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "SUBTRACT - Retirer 5000 du Solde",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"operation\": \"SUBTRACT\",\n  \"montant\": 5000,\n  \"commentaire\": \"Ajustement comptable\"\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}/caisse/MONEY/solde",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}",
                                "caisse",
                                "MONEY",
                                "solde"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "❌ ERREUR - Solde Négatif",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"operation\": \"SUBTRACT\",\n  \"montant\": 999999999\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}/caisse/MONEY/solde",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}",
                                "caisse",
                                "MONEY",
                                "solde"
                            ]
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "✏️ 6. MISE À JOUR",
            "item": [
                {
                    "name": "Désactiver une SIM",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"active\": false\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Réactiver une SIM",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"active\": true\n}"
                        },
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}"
                            ]
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "🗑️ 7. SUPPRESSION",
            "item": [
                {
                    "name": "Supprimer (Soft Delete) une SIM",
                    "request": {
                        "method": "DELETE",
                        "header": [],
                        "url": {
                            "raw": "{{base_url}}/simcards/{{sim_id}}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "simcards",
                                "{{sim_id}}"
                            ]
                        }
                    },
                    "response": []
                }
            ]
        }
    ],
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "token",
                "value": "{{access_token}}",
                "type": "string"
            }
        ]
    },
    "event": [
        {
            "listen": "prerequest",
            "script": {
                "type": "text/javascript",
                "packages": {},
                "requests": {},
                "exec": [
                    ""
                ]
            }
        },
        {
            "listen": "test",
            "script": {
                "type": "text/javascript",
                "packages": {},
                "requests": {},
                "exec": [
                    ""
                ]
            }
        }
    ],
    "variable": [
        {
            "key": "base_url",
            "value": "http://localhost:3001/api"
        },
        {
            "key": "sim_id",
            "value": ""
        },
        {
            "key": "sim_mere_id",
            "value": ""
        },
        {
            "key": "access_token",
            "value": ""
        }
    ]
}