Skip to main content

2. Formulare (Formdata)

Grundidee

Formulare ermöglichen es, strukturierte Informationen direkt während der Auftragsausführung über die Driver App zu erfassen.

Typische Beispiele sind:

  • Unterschriften

  • Fotos

  • Checkboxen

  • Auswahlfelder

  • Texteingaben

  • zusätzliche Bemerkungen

Diese Informationen werden im Auftrag im Feld formdata gespeichert und können anschließend über die API ausgelesen werden.

Damit lassen sich Rückmeldungen aus der Ausführung automatisiert in externe Systeme übernehmen, z. B.:

  • ERP-Systeme

  • Dokumentationssysteme

  • Abrechnungssysteme

  • Qualitätskontrolle


Aufbau von formdata

Das Feld formdata enthält eine Liste von Formularfeldern.

"formdata": [
{
"id": "string",
"id_Text": "string",
"id_Guid": "string",
"field": "string",
"field_Text": "string",
"field_Guid": "string",
"value": "string",
"value_Text": "string",
"value_Id": "string",
"value_Guid": "string",
"value_Additional": "string",
"file_Data": "string",
"file_Name": "string"
}
]

Jeder Eintrag beschreibt ein einzelnes Formularfeld und dessen Antwort.


Herkunft der Formulardaten

Formulardaten können auf zwei Arten entstehen:entstehen.

1️⃣ Vorgabe beim Anlegen des Auftrags

Bereits beim Order/Create können Formulare oder Formularwerte definiert werden.

Typische Beispiele:

  • Pflichtfelder für den Fahrer

  • vorgefüllte Informationen

  • strukturierte Eingabemasken


2️⃣ Rückmeldung aus der Driver App

Während der Durchführung eines Auftrags kann der Mitarbeiter in der Driver App Formularfelder ausfüllen.

Typische Beispiele:

  • Unterschrift des Empfängers

  • Foto einer Lieferung

  • Auswahl eines Lieferstatus

  • Eingabe von Bemerkungen

Diese Werte werden anschließend im Feld formdata gespeichert und können über die API abgerufen werden.


Bedeutung der wichtigsten Felder

Formularidentifikation

id

Technische ID des Formulars.

"id": "DELIVERY_CONFIRMATION"


id_Text

Lesbarer Name des Formulars.

"id_Text": "Lieferbestätigung"


id_Guid

Interne GUID des Formulars.

Diese wird hauptsächlich systemintern verwendet.


Formularfeld

field

Technische ID des Formularfeldes.

"field": "SIGNATURE"


field_Text

Lesbarer Name des Feldes.

"field_Text": "Unterschrift Empfänger"


field_Guid

Interne GUID des Feldes.


Feldwert

Die tatsächliche Antwort des Mitarbeiters wird über mehrere mögliche Felder übergeben.


value

Rohwert des Formularfeldes.

Dieser Wert wird in der Regel automatisch gesetzt.


value_Text

Textliche Antwort des Mitarbeiters.

Beispiel:

"value_Text": "Ware vollständig erhalten"


value_Id

ID einer Auswahloption.

Wird verwendet, wenn das Formularfeld eine vordefinierte Auswahl enthält.


value_Guid

GUID einer Auswahloption.


value_Additional

Zusätzlicher Textwert, falls vorhanden.

Beispiel:

"value_Additional": "Palette beschädigt"


Dateien und Bilder

Formulare können auch Dateien oder Fotos enthalten.

Typische Beispiele:

  • Unterschrift

  • Lieferfoto

  • Dokumentation eines Schadens


file_Data

Base64-kodierte Datei.

"file_Data": "iVBORw0KGgoAAAANSUhEUgAA..."


file_Name

Dateiname der übermittelten Datei.

"file_Name": "signature.png"


Beispiel: Rückmeldung aus der Driver App

"formdata": [
{
"id": "DELIVERY_CONFIRMATION",
"id_Text": "Lieferbestätigung",
"field": "SIGNATURE",
"field_Text": "Unterschrift Empfänger",
"value_Text": "OK",
"file_Name": "signature.png",
"file_Data": "<BASE64_DATA>"
}
]

 

Lieferscheinformular (Typ „LV“)

Besonderheit des Lieferscheinformulars

Neben den allgemeinen Formularen unterstützt DeDeFleet ein spezielles Formular vom Typ „LV“ (Lieferschein).

Dieses Formular dient dazu, Artikelpositionen eines Lieferscheins in der Driver App anzuzeigen und zu bearbeiten.

Im Gegensatz zu normalen Formularfeldern wird der Inhalt hier nicht als einzelne Formularfelder übergeben, sondern als strukturierte XML-Daten innerhalb von formdata.

Diese XML-Struktur beschreibt die einzelnen Positionen des Lieferscheins.


Darstellung in der Driver App

Wenn ein Auftrag ein Formular vom Typ LV enthält:

  • erscheint in der Driver App ein zusätzlicher Button in der Menüleiste

  • über diesen Button kann der Fahrer den Lieferschein öffnen

Der Lieferschein enthält typischerweise:

SpalteBedeutung
BezeichnungArtikelbezeichnung
Be.Bestandsmenge (optional)
Li.zu liefernde Menge
Rü.Rücknahmemenge

Zusätzlich können vorhanden sein:

  • zwei Bemerkungsfelder

  • Unterschriftsfeld

  • Bearbeitungsmöglichkeit für Mengen


Bearbeitbarkeit der Mengen

Für jede Position kann gesteuert werden, ob der Fahrer die Menge verändern darf.

Dies erfolgt über folgende Felder:

LiefernReadOnly
RueckReadOnly

WertBedeutung
0Feld kann vom Fahrer geändert werden
1Feld ist schreibgeschützt

Aufbau der Formdata-Struktur

Das Lieferscheinformular wird über mehrere formdata-Einträge gesteuert.

"formdata": [
{
"id": "DELIVERY_CONFIRMATION"LV",
"id_Text": "Lieferbestätigung",
"field": "SIGNATURE"VBLEN",
"field_Text"value": "122345657978" }, { "id": "LV", "field": "UNTERSCHRIFT_PFLICHT", "value": false }, { "id": "LV", "field": "FORCE", "value": 0 }, { "id": "LV", "field": "LV", "value": "<XML Struktur>" } ]

Bedeutung der wichtigsten Felder

VBLEN

Referenznummer des Lieferscheins.


UNTERSCHRIFT_PFLICHT

Steuert, ob eine Unterschrift Empfänger",
"value_Text":erforderlich "OK",
"file_Name":ist.

"signature.png",
"file_Data":
"<BASE64_DATA>"
}
]
WertBedeutung
trueUnterschrift erforderlich
falseUnterschrift optional

FORCE

Steuert das Verhalten des Formulars.

Typischerweise:

0 = Standardverhalten


TypischeXML-Struktur Integrationsszenariendes Lieferscheins

FormulardatenDie eigentlichen Positionen werden häufigüber genutzteine für:XML-Struktur übergeben.

Lieferbestätigung

Jede Position wird durch einen <row> Block beschrieben.


Beispiel XML mit mehreren Positionen

<row>
<Lieferkopf></Lieferkopf>
<Liefernr>122345657978</Liefernr>
<Bezeichnung>Artikel_1</Bezeichnung>
<Liefern>500</Liefern>
<LiefernReadOnly>1</LiefernReadOnly>
<Rueck>0</Rueck>
<RueckReadOnly>0</RueckReadOnly>
<Zusatztext>Beschreibung zu Artikel_1</Zusatztext>
<LiefNr>122345657978</LiefNr>
<LiefPos>00010</LiefPos>
<Bestand>KT</Bestand>
</row>

<row>
<Lieferkopf></Lieferkopf>
<Liefernr>122345657979</Liefernr>
<Bezeichnung>Artikel_2</Bezeichnung>
<Liefern>200</Liefern>
<LiefernReadOnly>1</LiefernReadOnly>
<Rueck>0</Rueck>
<RueckReadOnly>0</RueckReadOnly>
<Zusatztext>Beschreibung zu Artikel_2</Zusatztext>
<LiefNr>122345657979</LiefNr>
<LiefPos>00020</LiefPos>
<Bestand>KT</Bestand>
</row>

Rückmeldung eines ausgefüllten Lieferscheins

Wenn der Fahrer den Lieferschein in der App bearbeitet, werden die aktualisierten Daten über formdata zurückgegeben.

Dies kann über folgende Endpunkte erfolgen:

  • UnterschriftOrder/Get

  • ZustellstatusOrder/GetStatus

  • Empfängername

Fotodokumentation

  • Foto der Ware

  • Foto der Ablagestelle

  • Schadensdokumentation

Statusrückmeldung

  • Lieferung vollständig

  • Lieferung teilweise

  • Lieferung verweigert

Zusatzinformationen

  • Bemerkungen des Fahrers

  • Schadensbeschreibung

  • fehlende WareOrder/ListStatus


Beispiel Rückmeldung

{
"orderStatus": {
"orderGuid": "d9a5d9f3-2c67-4c8b-a7a5-2f6f1a6e1b01",
"tourGuid": "01b97dd0-ba2d-4e1a-a6d2-6aba17143d2b",
"orderState": 2,
"formdata": [
{
"id": "LV",
"field": "VBLEN",
"value": "122345657978"
},
{
"id": "LV",
"field": "LV",
"value": "<row>...</row>"
},
{
"id": "LV",
"field": "UNTERSCHRIFT",
"file_Name": "signature.png",
"file_Data": "iVBORw0KGgoAAAANSUhEUgAA..."
}
]
}
}

 


BedeutungTypischer für IntegrationenIntegrationsablauf

Formulardaten1️⃣ sindERP besonderserzeugt relevant,Auftrag wenn:

mit
    Lieferschein
    2️⃣
  • XML

    Zustellnachweisewird automatisiertüber verarbeitetformdata werdenübergeben
    3️⃣ sollen

    Fahrer
  • öffnet
  • Lieferschein

    Fotosin der Driver App
    4️⃣ Fahrer bestätigt oder Unterschriftenverändert archiviertMengen
    5️⃣ werdenFahrer unterschreibt
    6️⃣ Rückmeldung wird über API abgefragt und verarbeitet

  • Rückmeldungen in ERP-Systeme übernommen werden

  • digitale Liefernachweise erstellt werden