Frappe Framework
Introduction à l’API REST
L’API sert à appeler une méthode en liste blanche ou à créer, lire, modifier et supprimer un document. La version 2 ajoute copie, comptage et métadonnées.
Adresse de base
Frappe livre une API HTTP en deux familles : les appels de procédure distante (Remote Procedure Calls, RPC), pour les méthodes en liste blanche, et le transfert d’état (REST), pour les ressources. L’adresse de base est https://{your frappe instance}. Chaque chemin de cette page s’y ajoute. Sur demo.erpnext.com, GET /api/resource/User devient GET https://demo.erpnext.com/api/resource/User.
L’authentification est dans Authentification simple, Authentification par jeton et OAuth 2.
API v1
Tous les points v1 commencent par /api/. Depuis Frappe 15, ils peuvent aussi commencer par /api/v1/.
Un RPC GET /api/method/dotted.path.to.method appelle une méthode Python en liste blanche. GET /api/method/frappe.auth.get_logged_user renvoie l’utilisateur de session, par exemple { "message": "Administrator" }.
Les documents sont sous /api/resource/ :
| Action | Requête |
|---|---|
| Créer | POST /api/resource/{doctype} |
| Lire | GET /api/resource/{doctype}/{name} |
| Modifier | PUT /api/resource/{doctype}/{name}. Comme un PATCH : seules les parties à changer sont envoyées. |
| Supprimer | DELETE /api/resource/{doctype}/{name} |
La liste est dans Lister les documents. Le détail des opérations est dans Manipuler les documents.
API v2
Disponible à partir de Frappe 15. Préfixe /api/v2/.
RPC sous /api/v2/method/ : login (implicite), logout, ping, upload_file, un chemin pointé quelconque, <doctype>/<method> sur le contrôleur, et run_doc_method pour une méthode en liste blanche sur un document.
REST sous /api/v2/document/ et /api/v2/doctype/ :
| Action | Requête |
|---|---|
| Créer | POST /api/v2/document/{doctype} |
| Lire | GET /api/v2/document/{doctype}/{name}/ |
| Modifier | PATCH ou PUT sur la même adresse |
| Supprimer | DELETE sur la même adresse |
| Copier | GET .../copy |
| Méthode | GET ou POST .../method/{method} |
Méthodes citées : add_comment?text=hello, submit, cancel, rename?name=newname. Les métadonnées sont sur GET /api/v2/doctype/{doctype}/meta, le nombre sur .../count. La liste est GET /api/v2/document/{doctype}, avec pagination et choix des champs en paramètres.
Point d’attention
La v2 n’existe qu’à partir de la version 15. En v1, la modification est un PUT au comportement de PATCH. En v2, PATCH et PUT sont tous deux indiqués, et l’adresse de lecture se termine par une barre oblique.
