PRESTAGNE API DOCUMENTATION Légende i : adding other information * : new route ** : role or access note : partner = prestataire = artisan , user = utilisateur = client note : Pour retrouver des fichiers => https://cdn.file-manager.prestagne.com/type_file/filename ///////////////////////////////////////////////// COUNTRIES API /////////////////////////////////////////////// *Récuperation de la liste des pays link: https://api.prestagne.com/requests/countries, body: [], type: GET, queries : [], header : [], result : [Liste de Json des pays]; ////////////////////////////////////////////// API DE VERIFICATION EMAIL OU TELEPHONE UNIQUE ET ENVOI UN CODE OTP /////////////////////////// link: https://api.prestagne.com/users/signup/ready, body: [username, method, type], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Un code OTP vous a été envoyé dans votre boite email", data: dynamic(ce sera l'id du nouvel utilisateur qui vient d'être créé, Tu aura besoin de ce id pour confirmé son compte lors de l'envoie de l'OTP)]; ** : username: Soit c'est l'email ou le numéro de télephone de l'utilisateur || method: soit c'est "sms" soit c'est "email" pour l'envoi du code otp || type: soit c'est "user" soit c'est "partner" pour le type de personne qui s'neregistre //////////////////////////////////////////////////////////////////////////// REGISTER FOR CUSTOMER AND PARTNER /// *Create new account for customer or Partner link: https://api.prestagne.com/users/signup, body: [id, name, surname, phone, email, country, password, city], type: POST, queries : [], header : [], result : []; ** : id: L'id de l'utilisateur qui essaie de s'enregistrer || country: Le pays (TOGO, BENIN) || city: la ville de résidence actuelle de l'utilisateur //////////////////////////////////////////////////////////////////////////// ATCIVATION COMPTE FOR CUSTOMER AND PARTNER /////////////////// link: https://api.prestagne.com/users/account/active, body: [user, code], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Compte activé avec success", data: "ok"]; ** : user: L'id de l'utilisateur qui est entrain de s'enregistrer || code: Le code OTP qui vous a été envoyé avec votre email d'inscription //////////////////////////////////////////////////////////////////////////// RENVOYER UN NOUVEL OTP AU CAS OU LE PRECEDENT A DEJA EXPIRE /////////////////// link: https://api.prestagne.com/users/account/resend/code, body: [user, email], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Un code vous été envoyé dans votre boite email", data: dynamic (L'id de l'utilisateur qui cré son compte)]; ** : user: L'id de l'utilisateur qui est entrain de s'enregistrer || email: Votre email d'inscription //////////////////////////////////////////////////////////////////////////// CONNEXION || AUTHENTIFICATION /////////////////// link: https://api.prestagne.com/users/signin, body: [username, password], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Ok", data: Model USER || MODEL PARTNER]; ** : L'API détecte si c'est le user qui est connecté ou si c'est le partner qui est connecté et il retourne le meme modèle sauf que celui du PARTNER a plus d'informations //////////////////////////////////////////////////////////////////////////// AUTHENTIFICATION VIA GOOGLE /////////////////// link: https://api.prestagne.com/users/google/signin, body: [accessToken], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Ok", data: array[ "type": 'signin ou already ou signup', "data": Model ]]; ** : accessToken: C'est le token valide du compte email qui essaie de se connecter. ** : En fonction du resultat de l'api si le type est: => "signin" ça veut dire que la personne est déjà enregistrer et on le connecte directement avec son compte google et ses infos sont dans "data" => "already" ça veut dire qu'il existe déjà un compte avec ce adresse email qui lui n'est pas un compte google mais issue d'une inscription dans l'application. Dans ce cas on lui dis email déjà utilisé => "signup" ça veut dire que ce compte n'existe pas dans notre base de donnée donc on recupère ses informations depuis google et on le redirige vers le formulaire d'enregistrement. "data" contient ses informations de google //////////////////////////////////////////////////////////////////////////// COMPLETE GOOGLE AUTHENTIFICATION /////////////////// link: https://api.prestagne.com/users/google/complete/profile, body: [accessToken, country, phone, city, type], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Ok", data: Model]; ** : accessToken: C'est le token valide du compte email qui essaie de se connecter. || type: c'est le type de personne qui se connecte (soit user soit c'est partner) //////////////////////////////////////////////////////////////////////////// SI C'EST PARTNER => CONFIGURATION PROFIL EN LIGNE /////////////////// link: https://api.prestagne.com/users/configure/profile, body: [services, description], type: POST, queries : [], header : [token], => Cette route est sécurisé et a besoin d'un token d'authentification result : [StatusCode: 200, message: "Ok", data: true]; ** : services: Les id des services qu'il a sélectionné (Ex: 6,4,12,15,2 ) || description: SOn profil ou la description de ses activités //////////////////////////////////////////////////////////////////////////// MODIFIER SES INFORMATIONS PERSONNELLES /////////////////// link: https://api.prestagne.com/users/edit/profile, body: [id, name, surname, email, type, description], type: POST, queries : [], header : [token], => Cette route est sécurisé et a besoin d'un token d'authentification result : [StatusCode: 200, message: "Ok", data: true]; ** : type: L'utilisateur connecté (Soit c'est "user" soit c'est "partner") || description: SOn profil ou la description de ses activités //////////////////////////////////////////////////////////////////////////// CHANGER DE MOT DE PASSE /////////////////// link: https://api.prestagne.com/users/change/password, body: [id, oldpassword, newpassword], type: POST, queries : [], header : [token], => Cette route est sécurisé et a besoin d'un token d'authentification result : [StatusCode: 200, message: "Ok", data: true]; ** : id: L'id de l'utilisateur connecté || oldpassword: L'ancien mot de passe de l'utilisateur || newpassword: Son nouveau mot de passe //////////////////////////////////////////////////////////////////////////// CHANGER OU SUPPRIMER LA PHOTO DE PROFILE /////////////////// link: https://api.prestagne.com/users/account/profile/image, body: [type, files[] ], type: POST, queries : [], header : [token], => Cette route est sécurisé et a besoin d'un token d'authentification result : [StatusCode: 200, message: "Ok", data: true]; ** : type: Soit c'est "change" (Pour changer la photo de profil), soit c'est "delete" (Pour supprimer la photo de profile) || files[]: paramètre de type fichier //////////////////////////////////////////////////////////////////////////// AJOUTER DES PUBLICATIONS OU STORIES /////////////////// link: https://api.prestagne.com/users/publications/stories/add, body: [files[] ], type: POST, queries : [], header : [token], => Cette route est sécurisé et a besoin d'un token d'authentification result : [StatusCode: 200, message: "Ok", data: true]; ** : files[]: paramètre de type fichier, ça peut être un ou plusieur images à la fois //////////////////////////////////////////////////////////////////////////// RECUPERER DES PUBLICATIONS OU STORIES /////////////////// link: https://api.prestagne.com/users/publications/stories, body: [], type: GET, queries : [], header : [token], => Cette route est sécurisé et a besoin d'un token d'authentification result : [StatusCode: 200, message: "Ok", data: true]; ////////////////////////////////////////////////////////////////////////// SUPPRESSION DES PUBLICATIONS OU STORIES /////////////////// link: https://api.prestagne.com/users/publications/stories/delete/{id}, body: [], type: GET, queries : [id: L'id de la publication à supprimer], header : [token], => Cette route est sécurisé et a besoin d'un token d'authentification result : [StatusCode: 200, message: "Ok", data: true]; //////////////////////////////////////////////////////////////////////////// RECUPERER LES CATEGORIES & LES SERVICES QUE PROPOSENT PRESTAGNE /////////////////// link: https://api.prestagne.com/requests/services, body: [], type: GET, queries : [], header : [], result : [StatusCode: 200, message: "Ok", data: [Liste de json contenant les catégories de services qui eux même contenant la liste de leur services]]; //////////////////////////////////////////////////////////////////////////// CHANGER LES SERVICES DU PARTNER /////////////////// link: https://api.prestagne.com/users/services/update, body: [services], type: POST, queries : [], header : [token], => Cette route est sécurisé et a besoin d'un token d'authentification result : [StatusCode: 200, message: "Ok", data: true]; ** : services: Les id des services qu'il a sélectionné (Ex: 6,4,12,15,2 ) Il faudra me renvoyer tous ses nouvelles services car les précedents seront tous supprimé dans la BD //////////////////////////////////////////////////////////////////////////// MOT DE PASSE OUBLIE /////////////////// link: https://api.prestagne.com/users/account/proccess/forget/password, body: [accountId], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Ok", data: Model (ça retourne une liste de compte ayant les informations similaire à ceux de l'utilisateur. Ce sera à lui de sélectionner son compte)]; ** : accountId: Cette valeur peut être soit l'email ou soit le numéro de téléphone lié au compte //////////////////////////////////////////////////////////////////////////// CHOISIR UN DES COMPTE PROPOSE PAR LE SYSTEME ET QUI CORRESPOND A SON COMPTE /////////////////// link: https://api.prestagne.com/users/account/proccess/forget/password/choose, body: [accountId, account_choosen, method], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Ok", data: Model (ça retourne une liste de compte ayant les informations similaire à ceux de l'utilisateur. Ce sera à lui de sélectionner son compte)]; ** : accountId: Ce sera la même valeur que precedement envoyé soit email soit telephone || account_choosen: L'id du compte qu'il a choisi parmi la liste des compte proposé || method: par quel moyen envoyé le code OTP pr confirmé l'identité ? (soit "sms" soit "email", mais pour le moment seul l'email marche) //////////////////////////////////////////////////////////////////////////// RENVOYER DE NOUVEAU LE CODE OTP /////////////////// link: https://api.prestagne.com/users/account/proccess/forget/password/resend/code, body: [accountId, account_choosen, method], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Ok", data: Model (ça retourne une liste de compte ayant les informations similaire à ceux de l'utilisateur. Ce sera à lui de sélectionner son compte)]; ** : accountId: Ce sera la même valeur que precedement envoyé soit email soit telephone || account_choosen: L'id du compte qu'il a choisi parmi la liste des compte proposé || method: par quel moyen envoyé le code OTP pr confirmé l'identité ? (soit "sms" soit "email", mais pour le moment seul l'email marche) //////////////////////////////////////////////////////////////////////////// VERFIER SI L'OTP EST CORRECTE /////////////////// link: https://api.prestagne.com/users/account/proccess/forget/password/otp, body: [accountId, account_choosen, otp], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Ok", data: true]; ** : accountId: Ce sera la même valeur que precedement envoyé soit email soit telephone || account_choosen: L'id du compte qu'il a choisi parmi la liste des compte proposé || otp: Le code OTP reçu via email ou sms //////////////////////////////////////////////////////////////////////////// REINITIALISER LE MOT DE PASSE /////////////////// link: https://api.prestagne.com/users/account/proccess/forget/password/reset, body: [codeId, new_password], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Ok", data: true]; ** : codeId: Renvoyer le code OTP || new_password: Le nouveau mot de passe de l'utilisateur //////////////////////////////////////////////////////////////////////////// SUPPRESSION DE COMPTE /////////////////// link: https://api.prestagne.com/users/account/delete, body: [password], type: POST, queries : [], header : [token], => Cette route est sécurisé et a besoin d'un token d'authentification result : [StatusCode: 200, message: "Ok", data: true]; ** : password: Le mot de passe de l'utilisateur /////////////////////////// DASHBOARD API /////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// CONNEXION || AUTHENTIFICATION /////////////////// link: https://api.prestagne.com/owners/signin, body: [username, password], type: POST, queries : [], header : [], result : [StatusCode: 200, message: "Ok", data: Model OWner]; ** : //////////////////////////////////////////////////////////////////////////// RECUPERER LES CATEGORIES DE SERVICE /////////////////// link: https://api.prestagne.com/owners/category/services, body: [], type: GET, queries : [], header : [token], result : [StatusCode: 200, message: "Liste des categories de service", data: []]; //////////////////////////////////////////////////////////////////////////// AJOUTER CATEGORIE DE SERVICE /////////////////// link: https://api.prestagne.com/owners/category/services/add, body: [name], type: POST, queries : [], header : [token], result : [StatusCode: 200, message: "Ok", data: Model]; //////////////////////////////////////////////////////////////////////////// MODIFIER CATEGORIE DE SERVICE /////////////////// link: https://api.prestagne.com/owners/category/services/update body: [id, name], type: POST, queries : [], header : [token], result : [StatusCode: 200, message: "Ok", data: Model]; ** : accessToken: C'est le token valide du compte email qui essaie de se connecter. || type: c'est le type de personne qui se connecte (soit user soit c'est partner) //////////////////////////////////////////////////////////////////////////// SUPPRIMER CATEGORIE DE SERVICE /////////////////// link: https://api.prestagne.com/owners/category/services/delete, body: [id], type: POST, queries : [], header : [token], result : [StatusCode: 200, message: "Ok", data: Model]; //////////////////////////////////////////////////////////////////////////// AJOUTER DES SERVICES /////////////////// link: https://api.prestagne.com/owners/services/add, body: [name, description, category, files[]], type: POST, queries : [], header : [token], result : [StatusCode: 200, message: "Ok", data: Model]; //////////////////////////////////////////////////////////////////////////// RECUPERER LA LISTE DES SERVICES /////////////////// link: https://api.prestagne.com/owners/only/services, body: [], type: GET, queries : [], header : [token], result : [StatusCode: 200, message: "Ok", data: Model]; //////////////////////////////////////////////////////////////////////////// MODIFICATION DES SERVICES /////////////////// link: https://api.prestagne.com/owners/services/update, body: [id, name, description, category, files[]], type: POST, queries : [], header : [token], result : [StatusCode: 200, message: "Ok", data: Model]; //////////////////////////////////////////////////////////////////////////// SUPPRESSION LES SERVICES /////////////////// link: https://api.prestagne.com/owners/services/delete, body: [id], type: POST, queries : [], header : [token], result : [StatusCode: 200, message: "Ok", data: Model]; //////////////////////////////////////////////////////////////////////////// RECUPERER LA LISTE DES CLIENTS SELON LEURS STATUS (EN ATTENTE, ACTIVE, BLOQUE ET SUPPRIME) /////////////////// link: https://api.prestagne.com/owners/customers/all, body: [], type: GET, queries : [type => (waiting, live, locked)], header : [token], result : [StatusCode: 200, message: "Ok", data: List]; //////////////////////////////////////////////////////////////////////////// RECUPERER LA LISTE DES PRESTATAIRES SELON LEURS STATUS (EN ATTENTE, ACTIVE, BLOQUE ET SUPPRIME) /////////////////// link: https://api.prestagne.com/owners/artisan/all, body: [], type: GET, queries : [type => (waiting, live, locked)], header : [token], result : [StatusCode: 200, message: "Ok", data: List]; //////////////////////////////////////////////////////////////////////////// RETROUVER UN PRESTATAIRE /////////////////// link: https://api.prestagne.com/owners/artisan/find, body: [], type: GET, queries : [id], header : [token], result : [StatusCode: 200, message: "Ok", data: Model]; //////////////////////////////////////////////////////////////////////////// ACTIVER LE COMPTE D'UN PRESTATAIRE /////////////////// link: https://api.prestagne.com/owners/artisan/active, body: [], type: GET, queries : [id, email], header : [token], result : [StatusCode: 200, message: "Ok", data: true]; //////////////////////////////////////////////////////////////////////////// BLOQUER LE COMPTE D'UN PRESTATAIRE /////////////////// link: https://api.prestagne.com/owners/artisan/block, body: [], type: GET, queries : [id, email, motif], header : [token], result : [StatusCode: 200, message: "Ok", data: true];