{
    "openapi": "3.0.0",
    "info": {
        "title": " Payements MoMo - APIs",
        "description": "...",
        "contact": {
            "email": "contact@fordhightech.com"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "https://apimomo.outilsco.com/public",
            "description": "Serveur"
        }
    ],
    "paths": {
        "/api/commerciales": {
            "post": {
                "tags": [
                    "Commerciales"
                ],
                "summary": "Sélectionner un Commercial",
                "description": "Récupérer un Commercial grâce à son numéro",
                "operationId": "c31d48448f94cd5ea2186834bd61eba1",
                "requestBody": {
                    "content": {
                        "applcation/json": {
                            "schema": {
                                "properties": {
                                    "numero": {
                                        "description": "Numéro de Téléphone du Commercial",
                                        "type": "string",
                                        "example": "22961648007"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "numero": {
                                                "description": "Numéro de Téléphone du Commercial",
                                                "type": "string",
                                                "example": "22969948007"
                                            },
                                            "password": {
                                                "description": "Mot de passe",
                                                "type": "string",
                                                "example": "pass11111@@@@@@"
                                            },
                                            "useemail": {
                                                "description": "Adresse E-mail",
                                                "type": "string",
                                                "example": "testmail@gmail.com"
                                            },
                                            "nomutil": {
                                                "description": "Nom du Commercial",
                                                "type": "string",
                                                "example": "NOM_UTIL"
                                            },
                                            "prenomutil": {
                                                "description": "Prénom du Commercial",
                                                "type": "string",
                                                "example": "PRENOM_UTIL"
                                            },
                                            "sexe": {
                                                "description": "Genre du Commercial (M ou F)",
                                                "type": "string",
                                                "example": "M"
                                            },
                                            "datenaiss": {
                                                "description": "Date de Naissance du Commercial",
                                                "type": "string",
                                                "example": "2023-12-18 00:00:00.000"
                                            },
                                            "adressutil": {
                                                "description": "Adresse de résidence",
                                                "type": "string",
                                                "example": "COTONOU / BENIN"
                                            },
                                            "photo": {
                                                "description": "Lien vers la photo du commercial",
                                                "type": "string",
                                                "example": "upload/imgs/..."
                                            },
                                            "etat": {
                                                "description": "Etat d'activation du compte Commercial (1 si activé et 0 sinon)",
                                                "type": "string",
                                                "example": "1"
                                            },
                                            "dateinscrire": {
                                                "description": "Date d'inscription du Commercial",
                                                "type": "string",
                                                "example": "2023-12-14"
                                            },
                                            "tokenn": {
                                                "description": "Token Généré",
                                                "type": "string",
                                                "example": ""
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        },
        "/api/commerciales/all": {
            "get": {
                "tags": [
                    "Commerciales"
                ],
                "summary": "Liste des Commerciales",
                "description": "Récupérer tous les commerciales enregistrés",
                "operationId": "e6d9a50ba4c017ca2a510c9c060c1f49",
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "numero": {
                                                "description": "Numéro de Téléphone du Commercial",
                                                "type": "string",
                                                "example": "22969948007"
                                            },
                                            "password": {
                                                "description": "Mot de passe",
                                                "type": "string",
                                                "example": "pass11111@@@@@@"
                                            },
                                            "useemail": {
                                                "description": "Adresse E-mail",
                                                "type": "string",
                                                "example": "testmail@gmail.com"
                                            },
                                            "nomutil": {
                                                "description": "Nom du Commercial",
                                                "type": "string",
                                                "example": "NOM_UTIL"
                                            },
                                            "prenomutil": {
                                                "description": "Prénom du Commercial",
                                                "type": "string",
                                                "example": "PRENOM_UTIL"
                                            },
                                            "sexe": {
                                                "description": "Genre du Commercial (M ou F)",
                                                "type": "string",
                                                "example": "M"
                                            },
                                            "datenaiss": {
                                                "description": "Date de Naissance du Commercial",
                                                "type": "string",
                                                "example": "2023-12-18 00:00:00.000"
                                            },
                                            "adressutil": {
                                                "description": "Adresse de résidence",
                                                "type": "string",
                                                "example": "COTONOU / BENIN"
                                            },
                                            "photo": {
                                                "description": "Lien vers la photo du commercial",
                                                "type": "string",
                                                "example": "upload/imgs/..."
                                            },
                                            "etat": {
                                                "description": "Etat d'activation du compte Commercial (1 si activé et 0 sinon)",
                                                "type": "string",
                                                "example": "1"
                                            },
                                            "dateinscrire": {
                                                "description": "Date d'inscription du Commercial",
                                                "type": "string",
                                                "example": "2023-12-14"
                                            },
                                            "tokenn": {
                                                "description": "Token Généré",
                                                "type": "string",
                                                "example": ""
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        },
        "/api/commerciales/create": {
            "post": {
                "tags": [
                    "Commerciales"
                ],
                "summary": "Ajouter un Commercial",
                "description": "Ajouter un nouvel enregistrement dans la table commercial",
                "operationId": "1801eb197eee424dd89a0362b8e21d5c",
                "requestBody": {
                    "content": {
                        "applcation/json": {
                            "schema": {
                                "properties": {
                                    "numero": {
                                        "description": "Numéro de Téléphone du Commercial",
                                        "type": "string",
                                        "example": "22969948007"
                                    },
                                    "password": {
                                        "description": "Mot de passe",
                                        "type": "string",
                                        "example": "pass11111@@@@@@"
                                    },
                                    "useemail": {
                                        "description": "Adresse E-mail",
                                        "type": "string",
                                        "example": "testmail@gmail.com"
                                    },
                                    "nomutil": {
                                        "description": "Nom du Commercial",
                                        "type": "string",
                                        "example": "NOM_UTIL"
                                    },
                                    "prenomutil": {
                                        "description": "Prénom du Commercial",
                                        "type": "string",
                                        "example": "PRENOM_UTIL"
                                    },
                                    "sexe": {
                                        "description": "Genre du Commercial (M ou F)",
                                        "type": "string",
                                        "example": "M"
                                    },
                                    "datenaiss": {
                                        "description": "Date de Naissance du Commercial",
                                        "type": "string",
                                        "example": "2023-12-18 00:00:00.000"
                                    },
                                    "adressutil": {
                                        "description": "Adresse de résidence",
                                        "type": "string",
                                        "example": "COTONOU / BENIN"
                                    },
                                    "photo": {
                                        "description": "Lien vers la photo du commercial",
                                        "type": "string",
                                        "example": "upload/imgs/..."
                                    },
                                    "etat": {
                                        "description": "Etat d'activation du compte Commercial (1 si activé et 0 sinon)",
                                        "type": "string",
                                        "example": "1"
                                    },
                                    "dateinscrire": {
                                        "description": "Date d'inscription du Commercial",
                                        "type": "string",
                                        "example": "2023-12-14"
                                    },
                                    "tokenn": {
                                        "description": "Token Généré",
                                        "type": "string",
                                        "example": ""
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                },
                                "example": "succes"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        },
        "/api/commerciales/update": {
            "put": {
                "tags": [
                    "Commerciales"
                ],
                "summary": "Modifier un Commercial",
                "description": "Modifier les attributs disponibles pour un Commercial",
                "operationId": "135ab2defb5aa38766b5f7d4361c3c61",
                "requestBody": {
                    "content": {
                        "applcation/json": {
                            "schema": {
                                "properties": {
                                    "numero": {
                                        "description": "Numéro de Téléphone du Commercial",
                                        "type": "string",
                                        "example": "22969948007"
                                    },
                                    "password": {
                                        "description": "Mot de passe",
                                        "type": "string",
                                        "example": "pass11111@@@@@@"
                                    },
                                    "useemail": {
                                        "description": "Adresse E-mail",
                                        "type": "string",
                                        "example": "testmail@gmail.com"
                                    },
                                    "nomutil": {
                                        "description": "Nom du Commercial",
                                        "type": "string",
                                        "example": "NOM_UTIL"
                                    },
                                    "prenomutil": {
                                        "description": "Prénom du Commercial",
                                        "type": "string",
                                        "example": "PRENOM_UTIL"
                                    },
                                    "sexe": {
                                        "description": "Genre du Commercial (M ou F)",
                                        "type": "string",
                                        "example": "M"
                                    },
                                    "datenaiss": {
                                        "description": "Date de Naissance du Commercial",
                                        "type": "string",
                                        "example": "2023-12-18 00:00:00.000"
                                    },
                                    "adressutil": {
                                        "description": "Adresse de résidence",
                                        "type": "string",
                                        "example": "COTONOU / BENIN"
                                    },
                                    "photo": {
                                        "description": "Lien vers la photo du commercial",
                                        "type": "string",
                                        "example": "upload/imgs/..."
                                    },
                                    "etat": {
                                        "description": "Etat d'activation du compte Commercial (1 si activé et 0 sinon)",
                                        "type": "string",
                                        "example": "1"
                                    },
                                    "dateinscrire": {
                                        "description": "Date d'inscription du Commercial",
                                        "type": "string",
                                        "example": "2023-12-14"
                                    },
                                    "tokenn": {
                                        "description": "Token Généré",
                                        "type": "string",
                                        "example": ""
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                },
                                "example": "succes"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        },
        "/api/commerciales/delete": {
            "delete": {
                "tags": [
                    "Commerciales"
                ],
                "summary": "Supprimer un Commercial",
                "description": "Supprimer définitivement un Commercial de la table !",
                "operationId": "8219497089c0169053fc12442748fa27",
                "requestBody": {
                    "content": {
                        "applcation/json": {
                            "schema": {
                                "properties": {
                                    "numero": {
                                        "description": "Numéro de Téléphone du Commercial",
                                        "type": "string",
                                        "example": "22969948007"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                },
                                "example": "succes"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        },
        "/api/momopay/requesttopay": {
            "post": {
                "tags": [
                    "Mobile Money"
                ],
                "summary": "Envoyer une requête de payement",
                "description": "Envoyer une requête de payement sur un numéro",
                "operationId": "eda33214f9180122ca40a4e6d30e8be4",
                "requestBody": {
                    "content": {
                        "applcation/json": {
                            "schema": {
                                "properties": {
                                    "id_projet": {
                                        "description": "Id du Projet Concerné",
                                        "type": "string",
                                        "example": "2"
                                    },
                                    "numero_user": {
                                        "description": "Numéro dde l'Utilisateur qui initie le payement",
                                        "type": "string",
                                        "example": "22940170107"
                                    },
                                    "montant": {
                                        "description": "Montant demandé",
                                        "type": "string",
                                        "example": "2000"
                                    },
                                    "numero": {
                                        "description": "Numéro du destinataire",
                                        "type": "string",
                                        "example": "22961648007"
                                    },
                                    "message": {
                                        "description": "Message de la transaction",
                                        "type": "string",
                                        "example": "Veuillez effectuer le payement"
                                    },
                                    "note": {
                                        "description": "Note de la transaction",
                                        "type": "string",
                                        "example": "RAS"
                                    },
                                    "vuuid": {
                                        "description": "UID",
                                        "type": "string",
                                        "example": "dtrytuiuooiudfg876546576hjghfxg"
                                    },
                                    "externalId": {
                                        "description": "External Id",
                                        "type": "string",
                                        "example": "2245678909876545678"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {}
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        },
        "/api/momopay/transfert": {
            "post": {
                "tags": [
                    "Mobile Money"
                ],
                "summary": "Faire un Transfert au Partenaire",
                "description": "Envoyer un montant a un tiers depuis le compte Disbusment",
                "operationId": "7ae5ca318386a2c7ea60d351ce14720a",
                "requestBody": {
                    "content": {
                        "applcation/json": {
                            "schema": {
                                "properties": {
                                    "id_projet": {
                                        "description": "Id du Projet Concerné",
                                        "type": "string",
                                        "example": "2"
                                    },
                                    "montant": {
                                        "description": "Montant demandé",
                                        "type": "string",
                                        "example": "2000"
                                    },
                                    "numero": {
                                        "description": "Numéro du destinataire",
                                        "type": "string",
                                        "example": "22961648007"
                                    },
                                    "message": {
                                        "description": "Message de la transaction",
                                        "type": "string",
                                        "example": "Veuillez effectuer le payement"
                                    },
                                    "note": {
                                        "description": "Note de la transaction",
                                        "type": "string",
                                        "example": "RAS"
                                    },
                                    "externalId": {
                                        "description": "External Id",
                                        "type": "string",
                                        "example": "2245678909876545678"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {}
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        },
        "/api/momopay/balances": {
            "get": {
                "tags": [
                    "Mobile Money"
                ],
                "summary": "Obtenir le Solde des differents Comptes",
                "description": "Checker les soldes disponibles",
                "operationId": "e36e5bc6ff6fc41a44b7a8b0d283c5d1",
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "mt_col": {
                                            "description": "Solde pour Collection",
                                            "type": "string",
                                            "example": "5400"
                                        },
                                        "mt_dis": {
                                            "description": "Solde pour Disbusment",
                                            "type": "string",
                                            "example": "21409"
                                        },
                                        "currency_col": {
                                            "description": "devise",
                                            "type": "string",
                                            "example": "XOF"
                                        },
                                        "currency_dis": {
                                            "description": "devise",
                                            "type": "string",
                                            "example": "XOF"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        },
        "/api/payements": {
            "post": {
                "tags": [
                    "Payements"
                ],
                "summary": "Liste des payements durant une période",
                "description": "Récupérer la liste des payements enregistrés au cours d'une période",
                "operationId": "994311c087431c69bf912e708735b1aa",
                "requestBody": {
                    "content": {
                        "applcation/json": {
                            "schema": {
                                "properties": {
                                    "date_d": {
                                        "description": "Date de début des enregistrements voulus",
                                        "type": "string",
                                        "example": "2024-08-19"
                                    },
                                    "date_f": {
                                        "description": "Date de fin des enregistrements voulus",
                                        "type": "string",
                                        "example": "2025-08-23"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "id_projet": {
                                                "description": "Id du Projet Concerné",
                                                "type": "string",
                                                "example": "2"
                                            },
                                            "nom": {
                                                "description": "Nom du Projet",
                                                "type": "string",
                                                "example": "OUTILSCO SMS"
                                            },
                                            "nb_pay": {
                                                "description": "Nombre de payements dans la période",
                                                "type": "string",
                                                "example": "6"
                                            },
                                            "montant": {
                                                "description": "Montant total",
                                                "type": "string",
                                                "example": "30"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        },
        "/api/payements/create": {
            "post": {
                "tags": [
                    "Payements"
                ],
                "summary": "Enregistrer un Payement",
                "description": "Ajouter un nouvel enregistrement dans la table payements",
                "operationId": "a05982d43264c3f830386cd51bfc6137",
                "requestBody": {
                    "content": {
                        "applcation/json": {
                            "schema": {
                                "properties": {
                                    "id_projet": {
                                        "description": "Id du Projet Concerné",
                                        "type": "string",
                                        "example": "2"
                                    },
                                    "numero_user": {
                                        "description": "Numéro dde l'Utilisateur qui initie le payement",
                                        "type": "string",
                                        "example": "22940170107"
                                    },
                                    "numero_pay": {
                                        "description": "Numéro qui a effectué le payement",
                                        "type": "string",
                                        "example": "22961648007"
                                    },
                                    "montant": {
                                        "description": "Montant Envoyé",
                                        "type": "string",
                                        "example": "15000"
                                    },
                                    "devise": {
                                        "description": "Devise de la monaie de transaction",
                                        "type": "string",
                                        "example": "XOF"
                                    },
                                    "ext_id": {
                                        "description": "External Id",
                                        "type": "string",
                                        "example": "20668964577824000"
                                    },
                                    "party_id_type": {
                                        "description": "Id du type de la transaction",
                                        "type": "string",
                                        "example": "MSISDN"
                                    },
                                    "message": {
                                        "description": "Message Enregistré",
                                        "type": "string",
                                        "example": "Merci d'effectuer le payement pour continuer !"
                                    },
                                    "note": {
                                        "description": "Note d'envoie",
                                        "type": "string",
                                        "example": "RAS"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                },
                                "example": "succes"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        },
        "/api/codes_resaux": {
            "get": {
                "tags": [
                    "Résaux"
                ],
                "summary": "Récupérer les codes préfixes des réseaux",
                "description": "Tous les codes préfixes des réseaux disponibles",
                "operationId": "68c904c11af4fd73a298a185a3a6b8fb",
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "id": {
                                                "description": "Ordre d'insertion dans la base",
                                                "type": "string",
                                                "example": "4"
                                            },
                                            "code": {
                                                "description": "Code préfixe",
                                                "type": "string",
                                                "example": "97"
                                            },
                                            "id_r": {
                                                "description": "Id du réseau",
                                                "type": "string",
                                                "example": "0"
                                            },
                                            "nom": {
                                                "description": "Nom du Réseau",
                                                "type": "string",
                                                "example": "MTN"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        },
        "/api/upload": {
            "post": {
                "tags": [
                    "Upload"
                ],
                "summary": "Télécharger un Fichier à un emplacement donné du serveur",
                "description": "Script de téléchargement de fichiers",
                "operationId": "cabf403dcddd871b9ac1cf365594038d",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "chemin": {
                                        "description": "Chemin de destination",
                                        "type": "string",
                                        "example": "upload/"
                                    },
                                    "file": {
                                        "description": "Bytes du Fichier",
                                        "type": "string",
                                        "format": "binary",
                                        "example": "..."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {}
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "api_key": []
                    }
                ]
            }
        }
    },
    "tags": [
        {
            "name": "Commerciales",
            "description": "Commerciales"
        },
        {
            "name": "Mobile Money",
            "description": "Mobile Money"
        },
        {
            "name": "Payements",
            "description": "Payements"
        },
        {
            "name": "Résaux",
            "description": "Résaux"
        },
        {
            "name": "Upload",
            "description": "Upload"
        }
    ],
    "components": {
        "securitySchemes": {
            "api_key": {
                "type": "apiKey",
                "description": "Entrez la clé API ",
                "name": "apikey",
                "in": "header"
            }
        }
    }
}