[{"data":1,"prerenderedAt":422},["ShallowReactive",2],{"content:/docs/authentication":3},{"id":4,"title":5,"body":6,"description":415,"extension":416,"meta":417,"navigation":69,"path":418,"seo":419,"stem":420,"__hash__":421},"content/fr/docs/authentication/index.md","Authentification",{"type":7,"value":8,"toc":409},"minimark",[9,13,27,43,48,83,90,113,116,120,143,251,269,286,290,297,321,361,379,383,398,405],[10,11,5],"h1",{"id":12},"authentification",[14,15,16,17,21,22,26],"p",{},"Tous les appels d'API (sauf l'inscription, la vérification d'e-mail et les webhooks\ndes fournisseurs) nécessitent un ",[18,19,20],"strong",{},"token"," envoyé dans l'en-tête ",[23,24,25],"code",{},"Authorization"," :",[28,29,34],"pre",{"className":30,"code":31,"language":32,"meta":33,"style":33},"language-http shiki shiki-themes github-dark","Authorization: Bearer \u003Cvotre-token>\n","http","",[23,35,36],{"__ignoreMap":33},[37,38,41],"span",{"class":39,"line":40},"line",1,[37,42,31],{},[44,45,47],"h2",{"id":46},"_1-inscription-vérification","1. Inscription & vérification",[28,49,51],{"className":30,"code":50,"language":32,"meta":33,"style":33},"POST /api/auth/signup/\nContent-Type: application/json\n\n{ \"email\": \"you@example.com\", \"password\": \"•••\", \"password2\": \"•••\",\n  \"type\": \"merchant\", \"first_name\": \"Jane\", \"last_name\": \"Doe\" }\n",[23,52,53,58,64,71,77],{"__ignoreMap":33},[37,54,55],{"class":39,"line":40},[37,56,57],{},"POST /api/auth/signup/\n",[37,59,61],{"class":39,"line":60},2,[37,62,63],{},"Content-Type: application/json\n",[37,65,67],{"class":39,"line":66},3,[37,68,70],{"emptyLinePlaceholder":69},true,"\n",[37,72,74],{"class":39,"line":73},4,[37,75,76],{},"{ \"email\": \"you@example.com\", \"password\": \"•••\", \"password2\": \"•••\",\n",[37,78,80],{"class":39,"line":79},5,[37,81,82],{},"  \"type\": \"merchant\", \"first_name\": \"Jane\", \"last_name\": \"Doe\" }\n",[14,84,85,86,89],{},"La réponse renvoie un ",[23,87,88],{},"temp_key"," et envoie par e-mail un code OTP à 6 chiffres.\nConfirmez-le :",[28,91,93],{"className":30,"code":92,"language":32,"meta":33,"style":33},"POST /api/auth/verify-email/\nContent-Type: application/json\n\n{ \"email\": \"you@example.com\", \"otp\": \"123456\" }\n",[23,94,95,100,104,108],{"__ignoreMap":33},[37,96,97],{"class":39,"line":40},[37,98,99],{},"POST /api/auth/verify-email/\n",[37,101,102],{"class":39,"line":60},[37,103,63],{},[37,105,106],{"class":39,"line":66},[37,107,70],{"emptyLinePlaceholder":69},[37,109,110],{"class":39,"line":73},[37,111,112],{},"{ \"email\": \"you@example.com\", \"otp\": \"123456\" }\n",[14,114,115],{},"En cas de succès, vous recevez un token et votre profil utilisateur.",[44,117,119],{"id":118},"_2-connexion-token-de-session","2. Connexion (token de session)",[28,121,123],{"className":30,"code":122,"language":32,"meta":33,"style":33},"POST /api/auth/token/          # alias : /api/auth/login/\nContent-Type: application/json\n\n{ \"email\": \"you@example.com\", \"password\": \"•••\" }\n",[23,124,125,130,134,138],{"__ignoreMap":33},[37,126,127],{"class":39,"line":40},[37,128,129],{},"POST /api/auth/token/          # alias : /api/auth/login/\n",[37,131,132],{"class":39,"line":60},[37,133,63],{},[37,135,136],{"class":39,"line":66},[37,137,70],{"emptyLinePlaceholder":69},[37,139,140],{"class":39,"line":73},[37,141,142],{},"{ \"email\": \"you@example.com\", \"password\": \"•••\" }\n",[28,144,148],{"className":145,"code":146,"language":147,"meta":33,"style":33},"language-json shiki shiki-themes github-dark","{\n  \"access\": \"9a8b7c…\",\n  \"token\": \"9a8b7c…\",\n  \"user\": { \"id\": \"…\", \"email\": \"you@example.com\", \"type\": \"merchant\",\n            \"account_type\": \"sandbox\", \"is_staff\": false }\n}\n","json",[23,149,150,156,172,183,222,245],{"__ignoreMap":33},[37,151,152],{"class":39,"line":40},[37,153,155],{"class":154},"s95oV","{\n",[37,157,158,162,165,169],{"class":39,"line":60},[37,159,161],{"class":160},"sDLfK","  \"access\"",[37,163,164],{"class":154},": ",[37,166,168],{"class":167},"sU2Wk","\"9a8b7c…\"",[37,170,171],{"class":154},",\n",[37,173,174,177,179,181],{"class":39,"line":66},[37,175,176],{"class":160},"  \"token\"",[37,178,164],{"class":154},[37,180,168],{"class":167},[37,182,171],{"class":154},[37,184,185,188,191,194,196,199,202,205,207,210,212,215,217,220],{"class":39,"line":73},[37,186,187],{"class":160},"  \"user\"",[37,189,190],{"class":154},": { ",[37,192,193],{"class":160},"\"id\"",[37,195,164],{"class":154},[37,197,198],{"class":167},"\"…\"",[37,200,201],{"class":154},", ",[37,203,204],{"class":160},"\"email\"",[37,206,164],{"class":154},[37,208,209],{"class":167},"\"you@example.com\"",[37,211,201],{"class":154},[37,213,214],{"class":160},"\"type\"",[37,216,164],{"class":154},[37,218,219],{"class":167},"\"merchant\"",[37,221,171],{"class":154},[37,223,224,227,229,232,234,237,239,242],{"class":39,"line":79},[37,225,226],{"class":160},"            \"account_type\"",[37,228,164],{"class":154},[37,230,231],{"class":167},"\"sandbox\"",[37,233,201],{"class":154},[37,235,236],{"class":160},"\"is_staff\"",[37,238,164],{"class":154},[37,240,241],{"class":160},"false",[37,243,244],{"class":154}," }\n",[37,246,248],{"class":39,"line":247},6,[37,249,250],{"class":154},"}\n",[14,252,253,254,257,258,260,261,264,265,268],{},"Utilisez ",[23,255,256],{},"access"," (même valeur que ",[23,259,20],{},") comme token Bearer. Récupérez\nl'utilisateur courant à tout moment avec ",[23,262,263],{},"GET /api/auth/me/"," (et mettez à jour\nvotre profil avec ",[23,266,267],{},"PATCH /api/auth/me/",").",[270,271,272],"blockquote",{},[14,273,274,277,278,281,282,285],{},[18,275,276],{},"Sandbox vs production."," Les nouveaux comptes démarrent en\n",[23,279,280],{},"account_type: \"sandbox\"",". Un administrateur vous promeut en ",[23,283,284],{},"\"prod\""," une fois\nvotre intégration validée.",[44,287,289],{"id":288},"_3-clés-api-tokens-de-longue-durée","3. Clés API (tokens de longue durée)",[14,291,292,293,296],{},"Pour les intégrations serveur à serveur, générez un token API dédié depuis votre\n",[18,294,295],{},"Profil → Clés API",", ou via l'API (réauthentification avec votre mot de passe) :",[28,298,300],{"className":30,"code":299,"language":32,"meta":33,"style":33},"POST /api/auth/login-tokens/\nAuthorization: Bearer \u003Ctoken-de-session>\n\n{ \"password\": \"•••\" }\n",[23,301,302,307,312,316],{"__ignoreMap":33},[37,303,304],{"class":39,"line":40},[37,305,306],{},"POST /api/auth/login-tokens/\n",[37,308,309],{"class":39,"line":60},[37,310,311],{},"Authorization: Bearer \u003Ctoken-de-session>\n",[37,313,314],{"class":39,"line":66},[37,315,70],{"emptyLinePlaceholder":69},[37,317,318],{"class":39,"line":73},[37,319,320],{},"{ \"password\": \"•••\" }\n",[28,322,324],{"className":145,"code":323,"language":147,"meta":33,"style":33},"{ \"token\": \"f8849564…\", \"token_key\": \"f8849564\", \"expiry\": \"2026-09-12T19:00:25Z\" }\n",[23,325,326],{"__ignoreMap":33},[37,327,328,331,334,336,339,341,344,346,349,351,354,356,359],{"class":39,"line":40},[37,329,330],{"class":154},"{ ",[37,332,333],{"class":160},"\"token\"",[37,335,164],{"class":154},[37,337,338],{"class":167},"\"f8849564…\"",[37,340,201],{"class":154},[37,342,343],{"class":160},"\"token_key\"",[37,345,164],{"class":154},[37,347,348],{"class":167},"\"f8849564\"",[37,350,201],{"class":154},[37,352,353],{"class":160},"\"expiry\"",[37,355,164],{"class":154},[37,357,358],{"class":167},"\"2026-09-12T19:00:25Z\"",[37,360,244],{"class":154},[14,362,363,364,366,367,370,371,374,375,378],{},"Le ",[23,365,20],{}," complet n'est affiché ",[18,368,369],{},"qu'une seule fois"," — conservez-le en lieu sûr.\nListez vos clés avec ",[23,372,373],{},"GET /api/auth/login-tokens/"," et révoquez-en une avec\n",[23,376,377],{},"DELETE /api/auth/login-tokens/\u003Ctoken_key>/",".",[44,380,382],{"id":381},"déconnexion","Déconnexion",[28,384,386],{"className":30,"code":385,"language":32,"meta":33,"style":33},"POST /api/auth/logout/          # révoque le token courant\nAuthorization: Bearer \u003Ctoken>\n",[23,387,388,393],{"__ignoreMap":33},[37,389,390],{"class":39,"line":40},[37,391,392],{},"POST /api/auth/logout/          # révoque le token courant\n",[37,394,395],{"class":39,"line":60},[37,396,397],{},"Authorization: Bearer \u003Ctoken>\n",[399,400],"doc-nav",{":first-page":241,":last-page":241,"next-title":401,"next-url":402,"previous-title":403,"previous-url":404},"Transactions","/docs/transaction","Démarrer","/docs",[406,407,408],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}",{"title":33,"searchDepth":60,"depth":60,"links":410},[411,412,413,414],{"id":46,"depth":60,"text":47},{"id":118,"depth":60,"text":119},{"id":288,"depth":60,"text":289},{"id":381,"depth":60,"text":382},"Authentification de l'API PayRouter — tokens et clés API","md",{},"/fr/docs/authentication",{"title":5,"description":415},"fr/docs/authentication/index","fCmuq6yAtrkQW4k282sEn03KOzRvX9pIMbHaaWge4Rk",1781822932833]