POSTExemple: http://localhost:8000/api/resource/Sales Order
| KEY | VALUE |
|---|---|
| Authorization | token clé publique:clé privée |
| Content-Type | application/json |
Exemple:
{
"customer": "Roslyn Lépicier",
"items": [
{
"item_code": "Salle de coworking",
"delivery_date": "2022-04-01",
"qty": 1,
"uom": "Heure"
}
]
}
Exemple en associant votre commande à une réservation d'articles: Vous pouvez, par exemple, créer une réservation d'articles et inclure son nom dans votre requête.
{
"customer": "Roslyn Lépicier",
"items": [
{
"item_code": "Salle de coworking",
"delivery_date": "2022-04-01",
"qty": 1,
"uom": "Heure",
"item_booking": "STO-BOOK-2022-00102"
}
]
}
customeret une ligne de commande (items) sont obligatoires, mais il est possible d'ajouter une valeur pour n'importe quel autre champ disponible dans le document.Pour valider une commande vous pouvez passer le statut de document 1 dans votre document:
{
"customer": "Roslyn Lépicier",
"docstatus": 1,
"items": [
{
"item_code": "Salle de coworking",
"delivery_date": "2022-04-01",
"qty": 1,
"uom": "Heure",
"item_booking": "STO-BOOK-2022-00102"
}
]
}
Vous pouvez également utiliser l'API suivante pour soumettre un brouillon déjà créé et renvoyé par l'API:
http://localhost:8000/api/method/frappe.client.submit
Avec, dans le corps de l'appel, un brouillon de commande créé précédemment:
{
"doc": {
"name": "SAL-ORD-2022-00116",
"owner": "thierry@dokos.io",
"creation": "2022-03-01 18:31:44.895404",
"modified": "2022-03-01 18:31:44.895404",
"modified_by": "thierry@dokos.io",
"parent": null,
"parentfield": null,
"parenttype": null,
"idx": 0,
"docstatus": 0,
"title": "{customer_name}",
"naming_series": "SAL-ORD-.YYYY.-",
"customer": "Roslyn L\u00e9picier",
"customer_name": "Roslyn L\u00e9picier",
"order_type": "Sales",
"skip_delivery_note": 0,
"amended_from": null,
"company": "MappeMonde",
"transaction_date": "2022-03-01",
"delivery_date": "2022-04-01",
"po_no": null,
"po_date": null,
"tax_id": null,
"customer_address": "Roslyn L\u00e9picier-Facturation",
"address_display": "23 rue Clement Marot<br>66100 PERPIGNAN<br>\nFrance<br>\n",
"contact_person": "Roslyn L\u00e9picier-Roslyn L\u00e9picier",
"contact_display": "Roslyn L\u00e9picier",
"contact_phone": "04.37.73.66.41",
"contact_mobile": "",
"contact_email": "RoslynLepicier@armyspy.com",
"company_address": null,
"company_address_display": null,
"shipping_address_name": "Roslyn L\u00e9picier-Facturation",
"shipping_address": "23 rue Clement Marot<br>66100 PERPIGNAN<br>\nFrance<br>\n",
"customer_group": "Tous les Groupes Client",
"territory": "Tous les Territoires",
"currency": "EUR",
"conversion_rate": 1.0,
"selling_price_list": "Vente Standard",
"price_list_currency": "EUR",
"plc_conversion_rate": 1.0,
"ignore_pricing_rule": 0,
"set_warehouse": null,
"scan_barcode": null,
"total_qty": 1.0,
"base_total": 5.0,
"base_net_total": 5.0,
"total_net_weight": 0.0,
"total": 5.0,
"net_total": 5.0,
"tax_category": "",
"shipping_rule": null,
"taxes_and_charges": null,
"other_charges_calculation": null,
"base_total_taxes_and_charges": 0.0,
"total_taxes_and_charges": 0.0,
"loyalty_points": 0,
"loyalty_amount": 0.0,
"coupon_code": null,
"apply_discount_on": "Grand Total",
"base_discount_amount": 0.0,
"additional_discount_percentage": 0.0,
"discount_amount": 0.0,
"base_grand_total": 5.0,
"base_rounding_adjustment": 0.0,
"base_rounded_total": 5.0,
"base_in_words": "Five Euro",
"grand_total": 5.0,
"rounding_adjustment": 0.0,
"rounded_total": 5.0,
"in_words": "Five Euro",
"advance_paid": 0.0,
"disable_rounded_total": 0,
"payment_terms_template": null,
"tc_name": null,
"terms": null,
"is_internal_customer": 0,
"represents_company": null,
"inter_company_order_reference": null,
"project": null,
"party_account_currency": null,
"source": null,
"campaign": null,
"external_reference": null,
"language": "fr",
"letter_head": null,
"select_print_heading": null,
"group_same_items": 0,
"status": "Draft",
"delivery_status": "Not Delivered",
"per_delivered": 0.0,
"per_billed": 0.0,
"billing_status": "Not Billed",
"sales_partner": null,
"commission_rate": 0.0,
"total_commission": 0.0,
"from_date": null,
"to_date": null,
"subscription": null,
"auto_repeat": null,
"doctype": "Sales Order",
"items": [
{
"name": "5317c1c489",
"owner": "thierry@dokos.io",
"creation": "2022-03-01 18:31:44.895404",
"modified": "2022-03-01 18:31:44.895404",
"modified_by": "thierry@dokos.io",
"parent": "SAL-ORD-2022-00116",
"parentfield": "items",
"parenttype": "Sales Order",
"idx": 1,
"docstatus": 0,
"item_code": "Salle de coworking",
"customer_item_code": null,
"ensure_delivery_based_on_produced_serial_no": 0,
"delivery_date": "2022-04-01",
"item_name": "Salle de coworking",
"description": "<div><p>R\u00e9servez votre place dans notre salle de coworking</p></div>",
"item_group": "Coworking",
"brand": null,
"image": "/assets/tierslieux/images/coworking.jpg",
"qty": 1.0,
"stock_uom": "Heure",
"uom": "Heure",
"conversion_factor": 1.0,
"stock_qty": 1.0,
"price_list_rate": 5.0,
"base_price_list_rate": 5.0,
"margin_type": "",
"margin_rate_or_amount": 0.0,
"rate_with_margin": 0.0,
"discount_percentage": 0.0,
"discount_amount": 0.0,
"base_rate_with_margin": 0.0,
"rate": 5.0,
"amount": 5.0,
"item_tax_template": null,
"base_rate": 5.0,
"base_amount": 5.0,
"pricing_rules": "[]",
"stock_uom_rate": 5.0,
"is_free_item": 0,
"net_rate": 5.0,
"net_amount": 5.0,
"base_net_rate": 5.0,
"base_net_amount": 5.0,
"billed_amt": 0.0,
"valuation_rate": 0.0,
"gross_profit": 5.0,
"delivered_by_supplier": 0,
"supplier": null,
"weight_per_unit": 0.0,
"total_weight": 0.0,
"weight_uom": null,
"warehouse": "Magasins - MM",
"target_warehouse": null,
"prevdoc_docname": null,
"against_blanket_order": 0,
"blanket_order": null,
"blanket_order_rate": 0.0,
"bom_no": null,
"projected_qty": 0.0,
"actual_qty": 0.0,
"ordered_qty": 0.0,
"planned_qty": 0.0,
"work_order_qty": 0.0,
"delivered_qty": 0.0,
"produced_qty": 0.0,
"returned_qty": 0.0,
"additional_notes": null,
"item_booking": "STO-BOOK-2022-00102",
"page_break": 0,
"item_tax_rate": "[]",
"transaction_date": "2022-03-01",
"doctype": "Sales Order Item",
"__unsaved": 1
}
],
"pricing_rules": [],
"taxes": [],
"packed_items": [],
"payment_schedule": [
{
"name": "242d92065b",
"owner": null,
"creation": "2022-03-01 18:31:45.484130",
"modified": "2022-03-01 18:31:45.484130",
"modified_by": "thierry@dokos.io",
"parent": "SAL-ORD-2022-00116",
"parentfield": "payment_schedule",
"parenttype": "Sales Order",
"idx": 1,
"docstatus": 0,
"payment_term": null,
"description": null,
"due_date": "2022-03-01",
"mode_of_payment": null,
"invoice_portion": 100.0,
"discount_type": null,
"discount_date": null,
"discount": 0.0,
"payment_amount": 5.0,
"outstanding": 5.0,
"paid_amount": 0.0,
"discounted_amount": 0.0,
"base_payment_amount": 5.0,
"doctype": "Payment Schedule"
}
],
"sales_team": []
}
}
Vous pouvez créer une facture depuis une commande existante en appelant l'API suivante:
http://localhost:8000/api/method/erpnext.selling.doctype.sales_order.sales_order.make_sales_invoice
Corps de l'appel:
{
"source_name": "SAL-ORD-2022-00116"
}
Ensuite il ne vous reste plus qu'à poster la facture directement ou via les API de frappe.client
Vous pouvez créer un paiement à partir d'une commande en appelant l'API suivante:
http://localhost:8000/api/method/erpnext.accounts.doctype.payment_entry.payment_entry.get_payment_entry
Corps de l'appel:
{
"dt": "Sales Order",
"dn": "SAL-ORD-2022-00116"
}
Ensuite il ne vous reste plus qu'à poster le paiement directement ou via les API de frappe.client