[{"data":1,"prerenderedAt":896},["ShallowReactive",2],{"\u002Fnext\u002Fdodock\u002Fdeveloppeurs\u002Fapi\u002Frest-api-v2":3,"section:\u002Fnext\u002Fdodock\u002Fdeveloppeurs\u002Fapi\u002Frest-api-v2":895},{"id":4,"title":5,"body":6,"description":882,"extension":883,"meta":884,"navigation":885,"path":891,"seo":892,"stem":893,"__hash__":894},"docs\u002F2.next\u002F3.dodock\u002F10.developpeurs\u002F1.api\u002F3.rest-api-v2.md","API REST v2",{"type":7,"value":8,"toc":872},"minimark",[9,13,17,90,103,106,110,230,235,360,374,385,479,483,502,505,540,544,623,627,672,676,765,777,781,861,868],[10,11,5],"h1",{"id":12},"api-rest-v2",[14,15,16],"p",{},"Dodock sert deux versions de l'API REST sur le même site :",[18,19,20,39],"table",{},[21,22,23],"thead",{},[24,25,26,30,33,36],"tr",{},[27,28,29],"th",{},"Version",[27,31,32],{},"Préfixe",[27,34,35],{},"Documents",[27,37,38],{},"Réponse",[40,41,42,71],"tbody",{},[24,43,44,48,58,63],{},[45,46,47],"td",{},"v1",[45,49,50,54,55],{},[51,52,53],"code",{},"\u002Fapi\u002F"," ou ",[51,56,57],{},"\u002Fapi\u002Fv1\u002F",[45,59,60],{},[51,61,62],{},"\u002Fapi\u002Fresource\u002F\u003Cdoctype>",[45,64,65,54,68],{},[51,66,67],{},"{\"data\": ...}",[51,69,70],{},"{\"message\": ...}",[24,72,73,76,81,86],{},[45,74,75],{},"v2",[45,77,78],{},[51,79,80],{},"\u002Fapi\u002Fv2\u002F",[45,82,83],{},[51,84,85],{},"\u002Fapi\u002Fv2\u002Fdocument\u002F\u003Cdoctype>",[45,87,88],{},[51,89,67],{},[14,91,92,93,98,99,102],{},"La v1 est décrite dans ",[94,95,97],"a",{"href":96},"\u002Fnext\u002Fdodock\u002Fdeveloppeurs\u002Fapi\u002Frest_api","API Rest",". La v2 utilise les mêmes méthodes d'authentification : session ou jeton ",[51,100,101],{},"Authorization: token api_key:api_secret",".",[14,104,105],{},"Chaque appel s'exécute avec les permissions de l'utilisateur authentifié.",[107,108,35],"h2",{"id":109},"documents",[18,111,112,125],{},[21,113,114],{},[24,115,116,119,122],{},[27,117,118],{},"Méthode",[27,120,121],{},"Chemin",[27,123,124],{},"Action",[40,126,127,141,155,169,186,200,214],{},[24,128,129,134,138],{},[45,130,131],{},[51,132,133],{},"GET",[45,135,136],{},[51,137,85],{},[45,139,140],{},"Liste des documents",[24,142,143,148,152],{},[45,144,145],{},[51,146,147],{},"POST",[45,149,150],{},[51,151,85],{},[45,153,154],{},"Création d'un document",[24,156,157,161,166],{},[45,158,159],{},[51,160,133],{},[45,162,163],{},[51,164,165],{},"\u002Fapi\u002Fv2\u002Fdocument\u002F\u003Cdoctype>\u002F\u003Cname>",[45,167,168],{},"Lecture d'un document",[24,170,171,179,183],{},[45,172,173,54,176],{},[51,174,175],{},"PATCH",[51,177,178],{},"PUT",[45,180,181],{},[51,182,165],{},[45,184,185],{},"Modification d'un document",[24,187,188,193,197],{},[45,189,190],{},[51,191,192],{},"DELETE",[45,194,195],{},[51,196,165],{},[45,198,199],{},"Suppression d'un document (statut HTTP 202)",[24,201,202,206,211],{},[45,203,204],{},[51,205,133],{},[45,207,208],{},[51,209,210],{},"\u002Fapi\u002Fv2\u002Fdocument\u002F\u003Cdoctype>\u002F\u003Cname>\u002Fcopy",[45,212,213],{},"Copie d'un document, prête à être créée",[24,215,216,222,227],{},[45,217,218,54,220],{},[51,219,133],{},[51,221,147],{},[45,223,224],{},[51,225,226],{},"\u002Fapi\u002Fv2\u002Fdocument\u002F\u003Cdoctype>\u002F\u003Cname>\u002Fmethod\u002F\u003Cmethod>",[45,228,229],{},"Appel d'une méthode whitelistée du document",[231,232,234],"h3",{"id":233},"paramètres-de-la-liste","Paramètres de la liste",[18,236,237,250],{},[21,238,239],{},[24,240,241,244,247],{},[27,242,243],{},"Paramètre",[27,245,246],{},"Défaut",[27,248,249],{},"Rôle",[40,251,252,268,284,300,315,330,342],{},[24,253,254,259,262],{},[45,255,256],{},[51,257,258],{},"fields",[45,260,261],{},"Champs par défaut",[45,263,264,265],{},"Liste JSON des champs, par exemple ",[51,266,267],{},"[\"name\",\"customer\",\"grand_total\"]",[24,269,270,275,278],{},[45,271,272],{},[51,273,274],{},"filters",[45,276,277],{},"Aucun",[45,279,280,281],{},"Filtres JSON, par exemple ",[51,282,283],{},"{\"status\":\"Draft\"}",[24,285,286,291,294],{},[45,287,288],{},[51,289,290],{},"order_by",[45,292,293],{},"Tri du type de document",[45,295,296,297],{},"Tri, par exemple ",[51,298,299],{},"posting_date desc",[24,301,302,307,312],{},[45,303,304],{},[51,305,306],{},"start",[45,308,309],{},[51,310,311],{},"0",[45,313,314],{},"Décalage pour la pagination",[24,316,317,322,327],{},[45,318,319],{},[51,320,321],{},"limit",[45,323,324],{},[51,325,326],{},"20",[45,328,329],{},"Nombre maximal de lignes",[24,331,332,337,339],{},[45,333,334],{},[51,335,336],{},"group_by",[45,338,277],{},[45,340,341],{},"Regroupement",[24,343,344,349,354],{},[45,345,346],{},[51,347,348],{},"as_dict",[45,350,351],{},[51,352,353],{},"true",[45,355,356,357],{},"Lignes en objets, ou en listes si ",[51,358,359],{},"false",[14,361,362,363,366,367,370,371,373],{},"La réponse contient ",[51,364,365],{},"data",", la liste des lignes, et ",[51,368,369],{},"has_next_page",", à ",[51,372,353],{}," s'il reste des lignes après la page.",[14,375,376,377,380,381,102],{},"La liste et le comptage acceptent aussi la méthode HTTP ",[51,378,379],{},"QUERY",", qui porte les paramètres dans le corps de la requête. Voir ",[94,382,384],{"href":383},"\u002Fnext\u002Fdodock\u002Fdeveloppeurs\u002Fapi\u002Fmethodes_http_query","Méthode HTTP QUERY",[386,387,392],"pre",{"className":388,"code":389,"language":390,"meta":391,"style":391},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -G \"https:\u002F\u002Fvotre-site\u002Fapi\u002Fv2\u002Fdocument\u002FSales%20Invoice\" \\\n  -H \"Authorization: token api_key:api_secret\" \\\n  --data-urlencode 'fields=[\"name\",\"customer\",\"grand_total\"]' \\\n  --data-urlencode 'filters={\"docstatus\":1}' \\\n  --data-urlencode 'limit=5'\n","sh","",[51,393,394,421,435,452,466],{"__ignoreMap":391},[395,396,399,403,407,411,414,417],"span",{"class":397,"line":398},"line",1,[395,400,402],{"class":401},"sBMFI","curl",[395,404,406],{"class":405},"sfazB"," -G",[395,408,410],{"class":409},"sMK4o"," \"",[395,412,413],{"class":405},"https:\u002F\u002Fvotre-site\u002Fapi\u002Fv2\u002Fdocument\u002FSales%20Invoice",[395,415,416],{"class":409},"\"",[395,418,420],{"class":419},"sTEyZ"," \\\n",[395,422,424,427,429,431,433],{"class":397,"line":423},2,[395,425,426],{"class":405},"  -H",[395,428,410],{"class":409},[395,430,101],{"class":405},[395,432,416],{"class":409},[395,434,420],{"class":419},[395,436,438,441,444,447,450],{"class":397,"line":437},3,[395,439,440],{"class":405},"  --data-urlencode",[395,442,443],{"class":409}," '",[395,445,446],{"class":405},"fields=[\"name\",\"customer\",\"grand_total\"]",[395,448,449],{"class":409},"'",[395,451,420],{"class":419},[395,453,455,457,459,462,464],{"class":397,"line":454},4,[395,456,440],{"class":405},[395,458,443],{"class":409},[395,460,461],{"class":405},"filters={\"docstatus\":1}",[395,463,449],{"class":409},[395,465,420],{"class":419},[395,467,469,471,473,476],{"class":397,"line":468},5,[395,470,440],{"class":405},[395,472,443],{"class":409},[395,474,475],{"class":405},"limit=5",[395,477,478],{"class":409},"'\n",[231,480,482],{"id":481},"appeler-une-méthode-dun-document","Appeler une méthode d'un document",[14,484,485,486,489,490,492,493,495,496,498,499,102],{},"Le chemin ",[51,487,488],{},"\u002Fmethod\u002F\u003Cmethod>"," charge le document et appelle la méthode si elle est whitelistée. ",[51,491,133],{}," demande le droit de lecture, ",[51,494,147],{}," le droit d'écriture. La réponse contient le résultat dans ",[51,497,365],{},", et le document à jour dans ",[51,500,501],{},"docs",[14,503,504],{},"Exemple : valider une facture brouillon.",[386,506,508],{"className":388,"code":507,"language":390,"meta":391,"style":391},"curl -X POST \"https:\u002F\u002Fvotre-site\u002Fapi\u002Fv2\u002Fdocument\u002FSales%20Invoice\u002FACC-SINV-2026-00012\u002Fmethod\u002Fsubmit\" \\\n  -H \"Authorization: token api_key:api_secret\"\n",[51,509,510,529],{"__ignoreMap":391},[395,511,512,514,517,520,522,525,527],{"class":397,"line":398},[395,513,402],{"class":401},[395,515,516],{"class":405}," -X",[395,518,519],{"class":405}," POST",[395,521,410],{"class":409},[395,523,524],{"class":405},"https:\u002F\u002Fvotre-site\u002Fapi\u002Fv2\u002Fdocument\u002FSales%20Invoice\u002FACC-SINV-2026-00012\u002Fmethod\u002Fsubmit",[395,526,416],{"class":409},[395,528,420],{"class":419},[395,530,531,533,535,537],{"class":397,"line":423},[395,532,426],{"class":405},[395,534,410],{"class":409},[395,536,101],{"class":405},[395,538,539],{"class":409},"\"\n",[107,541,543],{"id":542},"méthodes","Méthodes",[18,545,546,556],{},[21,547,548],{},[24,549,550,552,554],{},[27,551,118],{},[27,553,121],{},[27,555,124],{},[40,557,558,571,583,597,611],{},[24,559,560,563,568],{},[45,561,562],{},"Toutes",[45,564,565],{},[51,566,567],{},"\u002Fapi\u002Fv2\u002Fmethod\u002F\u003Cchemin.de.la.methode>",[45,569,570],{},"Appel d'une méthode whitelistée, ou d'un script serveur de type API",[24,572,573,575,580],{},[45,574,562],{},[45,576,577],{},[51,578,579],{},"\u002Fapi\u002Fv2\u002Fmethod\u002F\u003Cdoctype>\u002F\u003Cmethod>",[45,581,582],{},"Appel d'une méthode whitelistée du module du type de document",[24,584,585,589,594],{},[45,586,587],{},[51,588,147],{},[45,590,591],{},[51,592,593],{},"\u002Fapi\u002Fv2\u002Fmethod\u002Fupload_file",[45,595,596],{},"Envoi d'un fichier",[24,598,599,603,608],{},[45,600,601],{},[51,602,147],{},[45,604,605],{},[51,606,607],{},"\u002Fapi\u002Fv2\u002Fmethod\u002Flogout",[45,609,610],{},"Déconnexion",[24,612,613,615,620],{},[45,614,562],{},[45,616,617],{},[51,618,619],{},"\u002Fapi\u002Fv2\u002Fmethod\u002Fping",[45,621,622],{},"Test de disponibilité",[107,624,626],{"id":625},"types-de-documents","Types de documents",[18,628,629,639],{},[21,630,631],{},[24,632,633,635,637],{},[27,634,118],{},[27,636,121],{},[27,638,124],{},[40,640,641,655],{},[24,642,643,647,652],{},[45,644,645],{},[51,646,133],{},[45,648,649],{},[51,650,651],{},"\u002Fapi\u002Fv2\u002Fdoctype\u002F\u003Cdoctype>\u002Fmeta",[45,653,654],{},"Métadonnées du type de document : champs, propriétés",[24,656,657,661,666],{},[45,658,659],{},[51,660,133],{},[45,662,663],{},[51,664,665],{},"\u002Fapi\u002Fv2\u002Fdoctype\u002F\u003Cdoctype>\u002Fcount",[45,667,668,669,671],{},"Nombre de documents, avec les mêmes ",[51,670,274],{}," que la liste",[107,673,675],{"id":674},"découverte-et-mcp","Découverte et MCP",[18,677,678,688],{},[21,679,680],{},[24,681,682,684,686],{},[27,683,118],{},[27,685,121],{},[27,687,124],{},[40,689,690,704,718,732,746],{},[24,691,692,696,701],{},[45,693,694],{},[51,695,133],{},[45,697,698],{},[51,699,700],{},"\u002Fapi\u002Fv2\u002Fdiscovery",[45,702,703],{},"Point d'entrée de l'API de découverte des méthodes",[24,705,706,710,715],{},[45,707,708],{},[51,709,133],{},[45,711,712],{},[51,713,714],{},"\u002Fapi\u002Fv2\u002Fdiscovery\u002Fsearch?q=\u003Ctexte>",[45,716,717],{},"Recherche dans l'index des méthodes",[24,719,720,724,729],{},[45,721,722],{},[51,723,133],{},[45,725,726],{},[51,727,728],{},"\u002Fapi\u002Fv2\u002Fdiscovery\u002Fmethod",[45,730,731],{},"Liste des méthodes whitelistées",[24,733,734,738,743],{},[45,735,736],{},[51,737,133],{},[45,739,740],{},[51,741,742],{},"\u002Fapi\u002Fv2\u002Fdiscovery\u002Fdoctype\u002F\u003Cdoctype>",[45,744,745],{},"Méthodes d'un type de document",[24,747,748,757,762],{},[45,749,750,752,753,752,755],{},[51,751,147],{},", ",[51,754,133],{},[51,756,192],{},[45,758,759],{},[51,760,761],{},"\u002Fapi\u002Fv2\u002Fmcp",[45,763,764],{},"Serveur MCP du site",[14,766,767,768,772,773,102],{},"Voir ",[94,769,771],{"href":770},"\u002Fnext\u002Fdodock\u002Fdeveloppeurs\u002Fapi-v2-decouverte","API de découverte des méthodes"," et ",[94,774,776],{"href":775},"\u002Fnext\u002Fintegrations\u002Fia\u002Fserveur-mcp-dodock","Serveur MCP",[107,778,780],{"id":779},"opérations-en-masse","Opérations en masse",[18,782,783,794],{},[21,784,785],{},[24,786,787,789,791],{},[27,788,118],{},[27,790,121],{},[27,792,793],{},"Corps",[40,795,796,812,828,845],{},[24,797,798,802,807],{},[45,799,800],{},[51,801,147],{},[45,803,804],{},[51,805,806],{},"\u002Fapi\u002Fv2\u002Fdocument\u002F\u003Cdoctype>\u002Fbulk_delete",[45,808,809],{},[51,810,811],{},"{\"names\": [...]}",[24,813,814,818,823],{},[45,815,816],{},[51,817,147],{},[45,819,820],{},[51,821,822],{},"\u002Fapi\u002Fv2\u002Fdocument\u002F\u003Cdoctype>\u002Fbulk_update",[45,824,825],{},[51,826,827],{},"{\"docs\": [{\"name\": ..., \"champ\": ...}]}",[24,829,830,834,839],{},[45,831,832],{},[51,833,147],{},[45,835,836],{},[51,837,838],{},"\u002Fapi\u002Fv2\u002Fmethod\u002Fbulk_delete",[45,840,841,844],{},[51,842,843],{},"{\"docs\": [{\"doctype\": ..., \"name\": ...}]}",", sur plusieurs types de documents",[24,846,847,851,856],{},[45,848,849],{},[51,850,147],{},[45,852,853],{},[51,854,855],{},"\u002Fapi\u002Fv2\u002Fmethod\u002Fbulk_update",[45,857,858,844],{},[51,859,860],{},"{\"docs\": [{\"doctype\": ..., \"name\": ..., \"champ\": ...}]}",[14,862,863,864,867],{},"Au-delà de 20 documents, l'opération passe en tâche de fond et la réponse a le statut HTTP 202. La clé ",[51,865,866],{},"bulk_operation_async_threshold"," de la configuration du site change ce seuil, globalement ou par type de document.",[869,870,871],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":391,"searchDepth":398,"depth":423,"links":873},[874,878,879,880,881],{"id":109,"depth":423,"text":35,"children":875},[876,877],{"id":233,"depth":437,"text":234},{"id":481,"depth":437,"text":482},{"id":542,"depth":423,"text":543},{"id":625,"depth":423,"text":626},{"id":674,"depth":423,"text":675},{"id":779,"depth":423,"text":780},"Référence des points d'accès \u002Fapi\u002Fv2 : documents, méthodes, métadonnées, comptage et opérations en masse, avec le format des réponses.","md",{"reviewed":885,"last_verified":886,"sources":887},true,"2026-11-03",[888,889,890],"dodock@develop:frappe\u002Fapi\u002F__init__.py","dodock@develop:frappe\u002Fapi\u002Fv2.py","dodock@develop:frappe\u002Fapi\u002Fv1.py","\u002Fnext\u002Fdodock\u002Fdeveloppeurs\u002Fapi\u002Frest-api-v2",{"title":5,"description":882},"2.next\u002F3.dodock\u002F10.developpeurs\u002F1.api\u002F3.rest-api-v2","_ovU178iZmqCRfd1fEmGGD-golMsIYHFHj3ZDlol-Pg",{},1793871733212]