Virtual Marketer ERP
Inhalt der Dokumentation

Box und Streckengeschäft

Aufteilung von Aufträgen nach Lieferort, Datenfrische, Regeln und Auftragsbahn.

15 Funktionen. Aufruf unter /api/method/<Pfad>, Anmeldung und Fehlerformat stehen unter Authentifizierung und Fehlermodell.

vm_erp.vm_erp.box.api.apply_split

  • POST
  • Schreibend, rollengeschützt
  • Fehlernummer bei unerwarteten Fehlern

Create the VM Box documents from the current preview. Needs confirm=1 (the page sets it after the user confirmed the preview) and refuses orders that already have boxes.

Rollen: (Lager, Lager (Leitung), Vertrieb, Vertrieb (Leitung), Systemverwalter) oder (Lager (Leitung), Vertrieb (Leitung), Systemverwalter). Der schreibgeschützte Demo-Zugang erhält eine Berechtigungsmeldung.

ParameterTypPflichtBeschreibung
sales_orderstringja
confirmintegernein, Standard 0

Felder der Antwort (message): boxes

curl -X POST -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  -H "Content-Type: application/json" \
  -d '{"sales_order": "<SALES_ORDER>"}' \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.api.apply_split"
{"message": ...}

vm_erp.vm_erp.box.api.get_demo

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Invented example orders for demonstration, no database access.

Rollen: (Lager, Lager (Leitung), Vertrieb, Vertrieb (Leitung), Systemverwalter) oder (Lager (Leitung), Vertrieb (Leitung), Systemverwalter).

Parameter: keine.

curl -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.api.get_demo"
{"message": ...}

vm_erp.vm_erp.box.api.get_overview

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Cards of orders that already have boxes. Partner events and freshness come from the example adapters until real adapters are wired (field demo says so).

Rollen: (Lager, Lager (Leitung), Vertrieb, Vertrieb (Leitung), Systemverwalter) oder (Lager (Leitung), Vertrieb (Leitung), Systemverwalter).

ParameterTypPflichtBeschreibung
limitintegernein, Standard 30

Felder der Antwort (message): cards, freshness, partner_data_example, threshold

curl -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.api.get_overview"
{"message": ...}

vm_erp.vm_erp.box.api.preview_split

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Preview of the split of one order. Writes nothing.

Rollen: (Lager, Lager (Leitung), Vertrieb, Vertrieb (Leitung), Systemverwalter) oder (Lager (Leitung), Vertrieb (Leitung), Systemverwalter).

ParameterTypPflichtBeschreibung
sales_orderstringja
curl --get -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  --data-urlencode "sales_order=<SALES_ORDER>" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.api.preview_split"
{"message": ...}

vm_erp.vm_erp.box.bahn_api.get_bahn

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Timeline for one order. Without a real order the example is shown.

Rollen: Jede angemeldete Person; der Zugriff richtet sich nach den Rechten am betroffenen Beleg.

ParameterTypPflichtBeschreibung
sales_orderstringnein

Felder der Antwort (message): auftrag, bahn, beispiel, lebenslauf

curl -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.bahn_api.get_bahn"
{"message": ...}

vm_erp.vm_erp.box.bahn_api.get_dubletten

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Rollen: Jede angemeldete Person; der Zugriff richtet sich nach den Rechten am betroffenen Beleg.

ParameterTypPflichtBeschreibung
auftraegestringnein
curl -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.bahn_api.get_dubletten"
{"message": ...}

vm_erp.vm_erp.box.bahn_api.get_partnerbericht

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Rollen: Jede angemeldete Person; der Zugriff richtet sich nach den Rechten am betroffenen Beleg.

ParameterTypPflichtBeschreibung
woche_startstringnein

Felder der Antwort (message): beispiel, bericht, vorlage

curl -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.bahn_api.get_partnerbericht"
{"message": ...}

vm_erp.vm_erp.box.bahn_api.teilstorno_plan

  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Plan only. Writes nothing, sends nothing.

Rollen: Jede angemeldete Person; der Zugriff richtet sich nach den Rechten am betroffenen Beleg.

ParameterTypPflichtBeschreibung
boxstringja
positionstringja
curl -X POST -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  -H "Content-Type: application/json" \
  -d '{"box": "<BOX>", "position": "<POSITION>"}' \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.bahn_api.teilstorno_plan"
{"message": ...}

vm_erp.vm_erp.box.frische_api.auftrag_hinweis

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Freshness hint for one order from the partners of its boxes (used by the order form).

Rollen: Jede angemeldete Person; der Zugriff richtet sich nach den Rechten am betroffenen Beleg.

ParameterTypPflichtBeschreibung
sales_orderstringja

Felder der Antwort (message): beispiel, hinweis, stoerung

curl --get -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  --data-urlencode "sales_order=<SALES_ORDER>" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.frische_api.auftrag_hinweis"
{"message": ...}

vm_erp.vm_erp.box.frische_api.entwurf_pruefen

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Assistant rule: a draft with a delivery promise is replaced when the partner source is red.

Rollen: Jede angemeldete Person; der Zugriff richtet sich nach den Rechten am betroffenen Beleg.

ParameterTypPflichtBeschreibung
entwurfstringja
partnerstringja
curl --get -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  --data-urlencode "entwurf=<ENTWURF>" \
  --data-urlencode "partner=<PARTNER>" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.frische_api.entwurf_pruefen"
{"message": ...}

vm_erp.vm_erp.box.frische_api.get_frische

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Banner data, source map, 30 day time travel and problem list per partner.

Rollen: Jede angemeldete Person; der Zugriff richtet sich nach den Rechten am betroffenen Beleg.

Parameter: keine.

Felder der Antwort (message): beispiel, karte, probleme, zeitreise

curl -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.frische_api.get_frische"
{"message": ...}

vm_erp.vm_erp.box.frische_api.get_rueckstand

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Backlog per customer with bundle mail drafts (preview only) and forecast.

Rollen: Jede angemeldete Person; der Zugriff richtet sich nach den Rechten am betroffenen Beleg.

ParameterTypPflichtBeschreibung
ablauf_tageintegernein, Standard 14

Felder der Antwort (message): ablauf_tage, beispiel, kunden

curl -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.frische_api.get_rueckstand"
{"message": ...}

vm_erp.vm_erp.box.regel_labor_api.regel_simulieren

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Simulation of a candidate rule over the open and delivered positions of the last days. Reads Sales Order Items, writes nothing.

Rollen: Jede angemeldete Person; der Zugriff richtet sich nach den Rechten am betroffenen Beleg.

ParameterTypPflichtBeschreibung
kandidatstringja
tageintegernein, Standard 30
limitintegernein, Standard 500
curl --get -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  --data-urlencode "kandidat=<KANDIDAT>" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.regel_labor_api.regel_simulieren"
{"message": ...}

vm_erp.vm_erp.box.regel_labor_api.regel_testen

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Which box would the rules choose for 'article X, quantity N' and why. Reads only.

Rollen: Jede angemeldete Person; der Zugriff richtet sich nach den Rechten am betroffenen Beleg.

ParameterTypPflichtBeschreibung
item_codestringja
qtyintegernein, Standard 1
kandidatstringnein
curl --get -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  --data-urlencode "item_code=<ITEM_CODE>" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.regel_labor_api.regel_testen"
{"message": ...}

vm_erp.vm_erp.box.regel_labor_api.regeln_pruefen

  • GET
  • POST
  • Lesend
  • Fehlernummer bei unerwarteten Fehlern

Conflict check of the current rules (plus an optional candidate) against recent positions.

Rollen: Jede angemeldete Person; der Zugriff richtet sich nach den Rechten am betroffenen Beleg.

ParameterTypPflichtBeschreibung
kandidatstringnein
tageintegernein, Standard 30

Felder der Antwort (message): beispiele, konflikte

curl -H "Authorization: token $API_SCHLUESSEL:$API_GEHEIMNIS" \
  "https://ihre-instanz.example.com/api/method/vm_erp.vm_erp.box.regel_labor_api.regeln_pruefen"
{"message": ...}