Créer une commande client via l'API avec Postman
Créer une commande client via l'API avec Postman
Cet exemple crée une Commande client (Sales Order) avec l'API REST, la valide, puis crée sa facture et son paiement. Postman sert de client HTTP. Les noms de clients, d'articles et de documents sont fictifs.
Prérequis
- Le client, l'article et l'unité de mesure existent dans Dokos.
- Vous avez la clé et le secret API d'un utilisateur qui peut créer et valider des commandes. Voir Authentification par jeton.
Créer la commande
- Dans Postman, créez une nouvelle requête.
- Choisissez la méthode
POST. - Saisissez l'URL :
https://<url-du-site>/api/resource/Sales Order. - Dans l'onglet Headers, ajoutez ces en-têtes :
Clé Valeur Authorizationtoken <api_key>:<api_secret>Content-Typeapplication/json - Dans l'onglet Body, choisissez raw, puis saisissez la commande :
{ "customer": "Maison Verte SARL", "delivery_date": "2026-12-01", "items": [ { "item_code": "Salle de coworking", "qty": 1, "uom": "Heure" } ] } - Cliquez sur Send.
La réponse contient la commande en brouillon (docstatus 0), avec son nom, par exemple SAL-ORD-2026-00116. Dokos calcule les prix, les taxes et les totaux comme dans le formulaire.
Les champs obligatoires sont customer, au moins une ligne dans items, et une date de livraison (delivery_date, sur la commande ou sur chaque ligne). Pour voir tous les champs, ouvrez Personnaliser un formulaire sur Commande client. Pour les lignes, choisissez la table enfant Article de la commande client (Sales Order Item).
Lier la commande à une réservation
Avec l'application Bookings, chaque ligne a un champ resource_booking. Créez d'abord la réservation (voir Créer une réservation de ressource via l'API), puis indiquez son nom dans la ligne :
{
"customer": "Maison Verte SARL",
"delivery_date": "2026-12-01",
"items": [
{
"item_code": "Salle de coworking",
"qty": 1,
"uom": "Heure",
"resource_booking": "STO-BOOK-2026-00001"
}
]
}
Dans les anciennes versions, ce champ s'appelait item_booking.
Valider la commande
Deux méthodes existent :
- Créez la commande directement validée : ajoutez
"docstatus": 1dans le corps de la requête de création. - Validez un brouillon existant : envoyez une requête
POSTà/api/method/frappe.client.submit, avec le document complet renvoyé à la création :{ "doc": { "doctype": "Sales Order", "name": "SAL-ORD-2026-00116", "...": "..." } }
Avec l'API v2, appelez plutôt POST /api/v2/document/Sales Order/SAL-ORD-2026-00116/method/submit. Voir API REST v2.
Créer la facture
Envoyez une requête POST à /api/method/erpnext.selling.doctype.sales_order.sales_order.make_sales_invoice :
{
"source_name": "SAL-ORD-2026-00116"
}
La réponse contient une Facture de vente préremplie, pas encore enregistrée. Modifiez-la si besoin, par exemple les quantités facturées. Puis créez-la avec POST /api/resource/Sales Invoice ou /api/method/frappe.client.insert.
Créer le paiement
Envoyez une requête POST à /api/method/erpnext.accounts.doctype.payment_entry.payment_entry.get_payment_entry :
{
"dt": "Sales Order",
"dn": "SAL-ORD-2026-00116"
}
La réponse contient une Écriture de paiement préremplie, pas encore enregistrée. Complétez la référence et la date du paiement, puis créez-la avec POST /api/resource/Payment Entry. Les paramètres facultatifs party_amount, bank_account et reference_date préremplissent le montant, le compte bancaire et la date.