DeliveryApi Resource

POST /api/v1/delivery

Einen Lieferschein erzeugen

Wird customerCnr oder customerId angegeben, wird ein freier Lieferschein für den angegebenen Kunden erzeugt. Bei einem freien Lieferschein dürfen bis zu 10 offene Lieferscheine (dieses Kunden) angelegt werden.

Wird orderCnr oder orderId angegeben, wird ein auftragsbezogener Lieferschein erzeugt

Generell wird überprüft, ob der durch das token identifizierte HELIUM V Anwender das Recht hat, auf das Abbuchungslager des Lieferscheins zuzugreifen.

Request Parameters
name type description constraints
customercnr query die (optionale) Kundennummer int
customerid query die (optionale) Id des Kunden. Bei einem freien Lieferschein muss entweder die customerCnr oder die customerId angegeben werden int
orderCnr query die (optionale) Auftragsnummer  
orderid query die (optionale) Id des Auftrags. Bei einem auftragsbezogenen Lieferschein muss entweder die orderCnr oder die orderId angegeben werden. int
userid query ist das beim Logon ermittelte "token"  
Response Body
media type data type description
application/json number (JSON) die Id des Lieferscheins
application/xml int (XML)

Example

Request
POST /api/v1/delivery
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
...
                
              

POST /api/v1/delivery/customerposition

Eine neue freie Lieferscheinposition für einen Kundenlieferschein erstellen

Bei Bedarf wird ein neuer Lieferschein angelegt. Dies wird dadurch mitgeteilt, dass positionEntry.deliveryId null ist. Sollen für den Lieferschein weitere Positionen erfasst werden, muss die - hier erhaltene - deliveryId in den folgenden Anfragen angegeben werden. Die Kundennummer - customerNr - muss immer angegeben werden. Achtung: customerNr ist die dem Kunden zugewiesene Kundennummer. Sie ist nicht mit der customerId zu verwechseln!

Der betroffene Lieferschein muss ein freier Lieferschein sein, d.h. er darf keinen Bezug zu einem Auftrag haben.

Request Parameters
name type description
userid query ist der beim Logon ermittelte "token"
Request Body
media type data type description
application/json CreateItemCustomerDeliveryPositionEntry (JSON) die neuen Lieferscheinpositionsdaten
application/xml;charset=UTF-8 object
Response Body
media type data type description
application/json CreatedDeliveryPositionEntry (JSON) die neuen Lieferscheinpositionsdaten
application/xml;charset=UTF-8 object

Example

Request
POST /api/v1/delivery/customerposition
Content-Type: application/json
Accept: application/json

                
{
  "deliveryId" : 12345,
  "customerNr" : 12345,
  "customerId" : 12345,
  "itemId" : 12345,
  "itemCnr" : "...",
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "amount" : 12345.0
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "deliveryId" : 12345,
  "deliveryCnr" : "...",
  "deliveryPositionId" : 12345,
  "orderId" : 12345,
  "orderPositionId" : 12345,
  "amount" : 12345.0,
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "openAmount" : 12345.0,
  "deliveredAmount" : 12345.0
}
                
              

GET /api/v1/delivery/deliverable

Request Parameters
name type description constraints
hvtoken header  
deliveryCnr query  
deliveryid query int
userid query  
Response Body
media type data type description
application/json DeliverableDeliveryEntry (JSON)
application/xml;charset=UTF-8 object

Example

Request
GET /api/v1/delivery/deliverable
Content-Type: */*
Accept: application/json
hvtoken: ...

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "cnr" : "...",
  "deliverable" : true,
  "status" : "NOTINITIALIZED",
  "id" : 12345
}
                
              

POST /api/v1/delivery/forecastcustomerposition

Eine neue freie Lieferscheinposition für einen Kundenlieferschein erstellen

Bei Bedarf wird ein neuer Lieferschein angelegt. Dies wird dadurch mitgeteilt, dass positionEntry.deliveryId null ist. Sollen für den Lieferschein weitere Positionen erfasst werden, muss die - hier erhaltene - deliveryId in den folgenden Anfragen angegeben werden. Die Kundennummer - customerNr - muss immer angegeben werden. Achtung: customerNr ist die dem Kunden zugewiesene Kundennummer. Sie ist nicht mit der customerId zu verwechseln!

Es wird automatisch zuerst nach offenen Forecast-Positionen für den angegbenen Artikel gesucht. Sollte es solche nicht geben, wird nach offenen Auftragspositionen gesucht. Gibt es auch keine Auftragsfunktionen wird abgebrochen.

Sollte der Fall eintreten, dass die zu buchende Menge auf mehrere Belegpositionen (Forecast-Position, Auftragposition) aufgeteilt wird, wird nur die letzte erzeugte Lieferscheinposition und somit auch nur die dort gebuchte Menge als Ergebnis gebracht.

Im HELIUM V Server muss die entsprechende Zusatzfunktionsberechtigung freigeschaltet sein.

Request Parameters
name type description
userid query ist der beim Logon ermittelte "token"
Request Body
media type data type description
application/json CreateItemCustomerDeliveryPositionEntry (JSON) die neuen Lieferscheinpositionsdaten
application/xml;charset=UTF-8 object
Response Body
media type data type description
application/json CreatedDeliveryPositionEntry (JSON) die neuen Lieferscheinpositionsdaten
application/xml;charset=UTF-8 object

Example

Request
POST /api/v1/delivery/forecastcustomerposition
Content-Type: application/json
Accept: application/json

                
{
  "deliveryId" : 12345,
  "customerNr" : 12345,
  "customerId" : 12345,
  "itemId" : 12345,
  "itemCnr" : "...",
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "amount" : 12345.0
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "deliveryId" : 12345,
  "deliveryCnr" : "...",
  "deliveryPositionId" : 12345,
  "orderId" : 12345,
  "orderPositionId" : 12345,
  "amount" : 12345.0,
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "openAmount" : 12345.0,
  "deliveredAmount" : 12345.0
}
                
              

GET /api/v1/delivery/list

Eine Liste aller Lieferscheine gemäß den Filterkriterien

Request Parameters
name type description constraints
filter_cnr query (optional) schränkt die Ausgabe auf Lieferscheine ein, die diesen Teil der Lieferscheinnummer beinhalten  
filter_customer query (optional) schränkt die Ausgabe auf Lieferscheine ein, die für diesen Kundennamen ausgestellt wurden  
filter_ordercnr query (optional) schränkt die Ausgabe auf Lieferscheine ein, die mit diesem Auftrag verknüpft sind  
filter_status query (optional) die zu filternden Status (aus DeliveryDocumentStatus) getrennt durch Komma  
limit query (optional) die maximale Anzahl von Einträgen die ermittelt werden sollen int
startIndex query (optional) der StartIndex int
userid query userId ist der beim Logon ermittelte "token"  
Response Body
media type data type description
application/json DeliveryEntryList (JSON) eine (leere) Liste von Lieferscheinen
application/xml;charset=UTF-8 object

Example

Request
GET /api/v1/delivery/list
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "entries" : [ {
    "deliveryCnr" : "...",
    "status" : "CANCELLED",
    "customerId" : 12345,
    "customerName" : "...",
    "customerCity" : "...",
    "id" : 12345
  }, {
    "deliveryCnr" : "...",
    "status" : "COMPLETED",
    "customerId" : 12345,
    "customerName" : "...",
    "customerCity" : "...",
    "id" : 12345
  } ]
}
                
              

DELETE /api/v1/delivery/position

Die angegebene LieferscheinpositionId löschen

Request Parameters
name type description constraints
positionid query die zu entfernende LieferscheinpositionId int
userid query ist der beim Logon ermittelte "token"  

Example

Request
DELETE /api/v1/delivery/position
Content-Type: */*

                
...
                
              
Response
HTTP/1.1 204 No Content

              

POST /api/v1/delivery/position

Eine neue Lieferscheinposition zu einem freien Lieferschein hinzufügen

Freier Lieferschein bedeutet, dass dieser Lieferschein keinen Bezug zu einem Auftrag hat.

Request Parameters
name type description
userid query ist der beim Logon ermittelte "token"
Request Body
media type data type description
application/json CreateItemDeliveryPositionEntry (JSON) die hinzuzufügenden Lieferscheinpositionsdaten
application/xml;charset=UTF-8 object
Response Body
media type data type description
application/json CreatedDeliveryPositionEntry (JSON) die neu erzeugte Lieferscheinposition
application/xml;charset=UTF-8 object

Example

Request
POST /api/v1/delivery/position
Content-Type: application/json
Accept: application/json

                
{
  "deliveryId" : 12345,
  "itemId" : 12345,
  "itemCnr" : "...",
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "amount" : 12345.0
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "deliveryId" : 12345,
  "deliveryCnr" : "...",
  "deliveryPositionId" : 12345,
  "orderId" : 12345,
  "orderPositionId" : 12345,
  "amount" : 12345.0,
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "openAmount" : 12345.0,
  "deliveredAmount" : 12345.0
}
                
              

DELETE /api/v1/delivery/positionfromorder

Die durch die AuftragspositionId definierte Lieferscheinposition entfernen

Es wird (derzeit) nur dann die Lieferscheinposition entfernt, wenn es genau eine(!) Lieferscheinposition für die angegebene Auftragsposition gibt

Request Parameters
name type description constraints
deliveryid query den Lieferschein den es betrifft int
orderpositionid query die zu dieser AuftragspositionId zugehörige Lieferscheinposition int
userid query ist der beim Logon ermittelte "token"  

Example

Request
DELETE /api/v1/delivery/positionfromorder
Content-Type: */*

                
...
                
              
Response
HTTP/1.1 204 No Content

              

POST /api/v1/delivery/positionfromorder

Eine auftragsbezogene Lieferscheinposition erzeugen/ändern

Gibt es für diese Auftragsposition noch keine Lieferscheinposition, wird diese neu erzeugt. Ansonsten werden die Daten aus positionEntry zu der bereits bestehenden Lieferscheinposition hinzugefügt.

Request Parameters
name type description
userid query ist der beim Logon ermittelte "token"
Request Body
media type data type description
application/json CreateDeliveryPositionEntry (JSON) die zusätzlichen Positionsdaten
application/xml;charset=UTF-8 object
Response Body
media type data type description
application/json CreatedDeliveryPositionEntry (JSON) Informationen zu der (neu) entstandenen Lieferscheinposition
application/xml;charset=UTF-8 object

Example

Request
POST /api/v1/delivery/positionfromorder
Content-Type: application/json
Accept: application/json

                
{
  "deliveryId" : 12345,
  "orderId" : 12345,
  "orderPositionId" : 12345,
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "amount" : 12345.0
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "deliveryId" : 12345,
  "deliveryCnr" : "...",
  "deliveryPositionId" : 12345,
  "orderId" : 12345,
  "orderPositionId" : 12345,
  "amount" : 12345.0,
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "openAmount" : 12345.0,
  "deliveredAmount" : 12345.0
}
                
              

GET /api/v1/delivery/print

Den Lieferschein als "geliefert" betrachten und ausdrucken

Der Lieferschein wird auf dem Drucker ausgedruckt, der dem Arbeitsplatz (des mobilen Endgerätes) zugewiesen worden ist

Request Parameters
name type description constraints
deliveryid query die Id des Lieferscheins int
sort query  
userid query ist der beim Logon ermittelte "token"  
Response Body
media type data type description
application/json number (JSON) deliveryId sofern der Lieferschein berechnet, aktiviert und gedruckt werden konnte
application/xml int (XML)

Example

Request
GET /api/v1/delivery/print
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
...
                
              

GET /api/v1/delivery/printdispatchlabel

Das Versandetikett des Lieferscheins ausdrucken

Das Versandetikett wird auf dem Drucker ausgedruckt, der dem Arbeitsplatz (des mobilen Endgerätes) zugewiesen worden ist

Request Parameters
name type description constraints
activateDelivery query wenn true wird der Lieferschein auch berechnet und aktiviert boolean
deliveryid query die Id des Lieferscheins int
userid query ist der beim Logon ermittelte "token"  
Response Body
media type data type description
application/json number (JSON) deliveryId sofern der Lieferschein optional berechnet/aktiviert und gedruckt werden konnte
application/xml int (XML)

Example

Request
GET /api/v1/delivery/printdispatchlabel
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
...
                
              

GET /api/v1/delivery/printgoodsissuelabel

Das Warenausgangsetikett des Lieferscheins ausdrucken

Das Warenausgangsetikett wird auf dem Drucker ausgedruckt, der dem Arbeitsplatz (des mobilen Endgerätes) zugewiesen worden ist

Request Parameters
name type description constraints
activateDelivery query wenn true wird der Lieferschein auch berechnet und aktiviert boolean
deliveryid query die Id des Lieferscheins int
userid query ist der beim Logon ermittelte "token"  
Response Body
media type data type description
application/json number (JSON) deliveryId sofern der Lieferschein optional berechnet/aktiviert und gedruckt werden konnte
application/xml int (XML)

Example

Request
GET /api/v1/delivery/printgoodsissuelabel
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
...
                
              

GET /api/v1/delivery/customerdeliverables/{customercnr}

Die Liste aller angelegten Kundenlieferscheine des Kunden

Der Kunde wird durch seine "Kundennummer" identifiziert. Es werden nur jene Lieferscheine angezeigt, für dessen Lager der Anwender eine Berechtigung hat.

Request Parameters
name type description constraints
customercnr path Die Kundennummer muss immer angegeben werden. Achtung: customerCNr ist die dem Kunden zugewiesene Kundennummer. Sie ist nicht mit der customerId zu verwechseln! int
userid query ist der beim Logon ermittelte "token"  
Response Body
media type data type description
application/json DeliveryEntryList (JSON) eine Liste aller im Status ANGELEGT befindlichen Kundenlieferscheine der Kundennummer
application/xml;charset=UTF-8 object

Example

Request
GET /api/v1/delivery/customerdeliverables/{customercnr}
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "entries" : [ {
    "deliveryCnr" : "...",
    "status" : "CLEARED",
    "customerId" : 12345,
    "customerName" : "...",
    "customerCity" : "...",
    "id" : 12345
  }, {
    "deliveryCnr" : "...",
    "status" : "COMPLETED",
    "customerId" : 12345,
    "customerName" : "...",
    "customerCity" : "...",
    "id" : 12345
  } ]
}
                
              

GET /api/v1/delivery/customerdeliverablesid/{customerid}

Die Liste aller angelegten Kundenlieferscheine des Kunden

Der Kunde wird durch seine Id identifiziert. Es werden nur jene Lieferscheine angezeigt, für dessen Lager der Anwender eine Berechtigung hat.

Request Parameters
name type description constraints
customerid path Die Id des Kunden muss immer angegeben werden. int
userid query ist der beim Logon ermittelte "token"  
Response Body
media type data type description
application/json DeliveryEntryList (JSON) eine Liste aller im Status ANGELEGT befindlichen Kundenlieferscheine des betreffenden Kunden.
application/xml;charset=UTF-8 object

Example

Request
GET /api/v1/delivery/customerdeliverablesid/{customerid}
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "entries" : [ {
    "deliveryCnr" : "...",
    "status" : "NEW",
    "customerId" : 12345,
    "customerName" : "...",
    "customerCity" : "...",
    "id" : 12345
  }, {
    "deliveryCnr" : "...",
    "status" : "NEW",
    "customerId" : 12345,
    "customerName" : "...",
    "customerCity" : "...",
    "id" : 12345
  } ]
}
                
              

PUT /api/v1/delivery/position/{positionid}

Eine bestehende freie Lieferscheinposition abändern

Request Parameters
name type description constraints
positionid path die Id der abzuändernden Lieferscheinposition int
userid query ist der beim Logon ermittelte "token"  
Request Body
media type data type description
application/json CreateItemDeliveryPositionEntry (JSON) die neuen Lieferscheinpositionsdaten
application/xml;charset=UTF-8 object
Response Body
media type data type description
application/json CreatedDeliveryPositionEntry (JSON) die neuen Lieferscheinpositionsdaten
application/xml;charset=UTF-8 object

Example

Request
PUT /api/v1/delivery/position/{positionid}
Content-Type: application/json
Accept: application/json

                
{
  "deliveryId" : 12345,
  "itemId" : 12345,
  "itemCnr" : "...",
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "amount" : 12345.0
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "deliveryId" : 12345,
  "deliveryCnr" : "...",
  "deliveryPositionId" : 12345,
  "orderId" : 12345,
  "orderPositionId" : 12345,
  "amount" : 12345.0,
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "openAmount" : 12345.0,
  "deliveredAmount" : 12345.0
}
                
              

GET /api/v1/delivery/{deliveryid}/document

Request Parameters
name type description constraints
deliveryid path int
documentcnr query  
userid query  
Response Body
media type data type description
application/json object (JSON)
application/xml anyType (XML)

Example

Request
GET /api/v1/delivery/{deliveryid}/document
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
...
                
              

POST /api/v1/delivery/{deliveryid}/document

Legt Dateien in die Dokumentenablage eines Lieferscheins ab.

Die maximale Upload-Größe ist derzeit auf 500KiB gestellt

Request Parameters
name type description constraints
deliveryid path Id des Lieferscheins int
grouping query ist die Gruppierung (optional)  
keywords query sind die Schlagworte des Dokuments (optional)  
securitylevel query ist die Sicherheitsstufe (optional) long
type query ist die Belegart (optional)  
userid query ist der beim Logon ermittelte "Token"  
Request Body
media type data type description
application/json MultipartBody (JSON) ist der multipart/form-data des Requests, der den/die Dokumente enthält
application/xml multipartBody (XML)

Example

Request
POST /api/v1/delivery/{deliveryid}/document
Content-Type: application/json

                
{
  "allAttachments" : [ {
    "contentDisposition" : {
      "type" : "...",
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      }
    },
    "object" : { },
    "contentType" : {
      "type" : "...",
      "wildcardSubtype" : true,
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      },
      "wildcardType" : true,
      "subtype" : "..."
    },
    "contentId" : "...",
    "dataHandler" : "...",
    "headers" : {
      "property1" : [ "...", "..." ],
      "property2" : [ "...", "..." ]
    }
  }, {
    "contentDisposition" : {
      "type" : "...",
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      }
    },
    "object" : { },
    "contentType" : {
      "type" : "...",
      "wildcardSubtype" : true,
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      },
      "wildcardType" : true,
      "subtype" : "..."
    },
    "contentId" : "...",
    "dataHandler" : "...",
    "headers" : {
      "property1" : [ "...", "..." ],
      "property2" : [ "...", "..." ]
    }
  } ],
  "type" : {
    "type" : "...",
    "wildcardSubtype" : true,
    "parameters" : {
      "property1" : "...",
      "property2" : "..."
    },
    "wildcardType" : true,
    "subtype" : "..."
  },
  "rootAttachment" : {
    "contentDisposition" : {
      "type" : "...",
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      }
    },
    "object" : { },
    "contentType" : {
      "type" : "...",
      "wildcardSubtype" : true,
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      },
      "wildcardType" : true,
      "subtype" : "..."
    },
    "contentId" : "...",
    "dataHandler" : "...",
    "headers" : {
      "property1" : [ "...", "..." ],
      "property2" : [ "...", "..." ]
    }
  },
  "childAttachments" : [ {
    "contentDisposition" : {
      "type" : "...",
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      }
    },
    "object" : { },
    "contentType" : {
      "type" : "...",
      "wildcardSubtype" : true,
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      },
      "wildcardType" : true,
      "subtype" : "..."
    },
    "contentId" : "...",
    "dataHandler" : "...",
    "headers" : {
      "property1" : [ "...", "..." ],
      "property2" : [ "...", "..." ]
    }
  }, {
    "contentDisposition" : {
      "type" : "...",
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      }
    },
    "object" : { },
    "contentType" : {
      "type" : "...",
      "wildcardSubtype" : true,
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      },
      "wildcardType" : true,
      "subtype" : "..."
    },
    "contentId" : "...",
    "dataHandler" : "...",
    "headers" : {
      "property1" : [ "...", "..." ],
      "property2" : [ "...", "..." ]
    }
  } ]
}
                
              
Response
HTTP/1.1 201 Created

              

POST /api/v1/delivery/{deliveryid}/itemposition

Erzeugen einer Artikelposition im Lieferschein

Es kann sich sowohl um einen freien Lieferschein als auch einen auftragsbezogenen handeln.

Der Lieferschein muss im Status ANGELEGT sein.

Wenn eine Auftragsposition geliefert werden soll, reicht es, die orderPositionId und die Menge/Seriennr/Chargen anzugeben.
Bei der Lieferung einer Auftragsposition wird bei mehrfachen Aufrufen dieser Funktion immer zur Lieferscheinposition mit Auftragsbezug addiert.

Bei einem freien Lieferschein, oder bei einem auftragsbezogenen Lieferschein dessen Auftrag diesen Artikel nicht kennt, wird nur dann zur bestehenden Lieferscheinposition addiert, wenn der Parameter LIEFERSCHEIN_POSITIONEN_MIT_RESTAPI_VERDICHTEN aktiviert ist, ansonsten werden neue Lieferscheinpositionen angelegt.

Tipp: Verwenden Sie orderPositionId immer dann, wenn der Artikel im Zuge des Auftrags geliefert werden soll. Verwenden Sie itemId/itemCnr immer dann, wenn der Artikel zwar geliefert werden soll, aber keinen Auftragsbezug hat.

Request Parameters
name type description constraints
deliveryid path ist die Id des Lieferscheins int
userid query ist der beim Logon ermittelte "token"  
Request Body
media type data type description
application/json CreateDeliveryItemPositionEntry (JSON) die hinzuzufügenden Lieferscheinpositionsdaten
application/xml;charset=UTF-8 object
Response Body
media type data type description
application/json CreatedDeliveryPositionEntry (JSON) die neu erzeugte Lieferscheinposition
application/xml;charset=UTF-8 object

Example

Request
POST /api/v1/delivery/{deliveryid}/itemposition
Content-Type: application/json
Accept: application/json

                
{
  "itemId" : 12345,
  "itemCnr" : "...",
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "amount" : 12345.0,
  "orderPositionId" : 12345
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "deliveryId" : 12345,
  "deliveryCnr" : "...",
  "deliveryPositionId" : 12345,
  "orderId" : 12345,
  "orderPositionId" : 12345,
  "amount" : 12345.0,
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "openAmount" : 12345.0,
  "deliveredAmount" : 12345.0
}
                
              

GET /api/v1/delivery/{deliveryid}/positions

Die Liste der Positionen dieses Kundenlieferscheins

Der Lieferschein muss sich noch im Status ANGELEGT befinden, ansonsten gibt es eine entsprechende Fehlermeldung (Expectation failed, falscher Status)

Der Kunde darf keine keine Liefersperre haben. Falls er für die Lieferung gesperrt, wird dies mit Bad Request (KUNDE_GESPERRT) beantwortet.

Request Parameters
name type description constraints
deliveryid path die Id des Kundenlieferscheins int
itemCnr query ist die (optionale) Artikelnummer auf den die Positionsinfo eingeschränkt werden soll  
itemid query ist die (optionale) Id des Artikels auf den die Positionsinfo eingeschränkt werden soll int
orderpositionid query ist die (optionale) Id der Auftragsposition auf die die Positionsinfo eingeschränkt werden soll int
userid query ist der beim Logon ermittelte "token"  
Response Body
media type data type description
application/json DeliveryData (JSON) die Daten des Lieferscheins. Eine Liste der Positionen des angegebenen Lieferscheins (positionData). Die jeweiligen Positionsarten sind dann in ihren entsprechenden Listen (itemPositions für Artikelpositionen bzw. textPositions für Textpositionen). Wurde itemId, itemCnr oder orderPositionId angegeben, sind nur noch diese Positionen enthalten
application/xml;charset=UTF-8 object

Example

Request
GET /api/v1/delivery/{deliveryid}/positions
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "positionData" : {
    "entries" : [ {
      "dataType" : "TEXT",
      "isort" : 12345,
      "id" : 12345
    }, {
      "dataType" : "ITEM",
      "isort" : 12345,
      "id" : 12345
    } ]
  },
  "deliveryId" : 12345,
  "itemPositions" : {
    "entries" : [ {
      "itemCnr" : "...",
      "itemId" : 12345,
      "description" : "...",
      "amount" : 12345.0,
      "unitCnr" : "...",
      "itemProperty" : "BATCHNR",
      "itemIdentity" : { },
      "deliveryId" : 12345,
      "orderPositionId" : 12345,
      "id" : 12345
    }, {
      "itemCnr" : "...",
      "itemId" : 12345,
      "description" : "...",
      "amount" : 12345.0,
      "unitCnr" : "...",
      "itemProperty" : "SERIALNR",
      "itemIdentity" : { },
      "deliveryId" : 12345,
      "orderPositionId" : 12345,
      "id" : 12345
    } ]
  },
  "textPositions" : {
    "entries" : [ {
      "text" : "...",
      "id" : 12345
    }, {
      "text" : "...",
      "id" : 12345
    } ]
  }
}
                
              

GET /api/v1/delivery/{deliveryid}/printsignature

Request Parameters
name type description constraints
deliveryid path int
sort query  
userid query  
Response Body
media type data type description
application/json DeliverySlipSignatureEntry (JSON)
application/xml;charset=UTF-8 object

Example

Request
GET /api/v1/delivery/{deliveryid}/printsignature
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "name" : "...",
  "mimeType" : "...",
  "content" : "...",
  "description" : "...",
  "lastPagePng" : "...",
  "serialNumber" : 12345,
  "id" : 12345
}
                
              

POST /api/v1/delivery/{deliveryid}/printsignature

Request Parameters
name type description constraints
deliveryid path int
userid query  
Request Body
media type data type
application/json DeliverySlipSignaturePostEntry (JSON)
application/xml;charset=UTF-8 object

Example

Request
POST /api/v1/delivery/{deliveryid}/printsignature
Content-Type: application/json

                
{
  "remark" : "...",
  "pdfContent" : "...",
  "signatureContent" : "...",
  "signatureMs" : 12345,
  "serialNumber" : 12345,
  "signerName" : "...",
  "id" : 12345
}
                
              
Response
HTTP/1.1 201 Created

              

POST /api/v1/delivery/{deliveryid}/textposition

Eine Texteingabe-Position zu einem Lieferschein hinzufügen

Es kann sich sowohl um einen freien als auch einen auftragsbezogenen Lieferschein handeln.

Request Parameters
name type description constraints
deliveryid path ist die Id des Lieferscheins int
userid query ist der beim Logon ermittelte "token"  
Request Body
media type data type description
application/json CreateDeliveryTextPositionEntry (JSON) die hinzuzufügenden Textposition
application/xml;charset=UTF-8 object
Response Body
media type data type description
application/json CreatedDeliveryPositionEntry (JSON) die neu erzeugte Lieferscheinposition
application/xml;charset=UTF-8 object

Example

Request
POST /api/v1/delivery/{deliveryid}/textposition
Content-Type: application/json
Accept: application/json

                
{
  "text" : "..."
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "deliveryId" : 12345,
  "deliveryCnr" : "...",
  "deliveryPositionId" : 12345,
  "orderId" : 12345,
  "orderPositionId" : 12345,
  "amount" : 12345.0,
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "openAmount" : 12345.0,
  "deliveredAmount" : 12345.0
}
                
              

GET /api/v1/delivery/customerdeliverables/{customercnr}/{deliveryid}

Die Liste der Positionen dieses Kundenlieferscheins

Der Lieferschein muss sich noch im Status ANGELEGT befinden, ansonsten gibt es eine entsprechende Fehlermeldung (Expectation failed, falscher Status)

Request Parameters
name type description constraints
customercnr path Die Kundennummer muss immer angegeben werden. Achtung: customerCNr ist die dem Kunden zugewiesene Kundennummer. Sie ist nicht mit der customerId zu verwechseln! int
deliveryid path die Id des Kundenlieferscheins int
itemCnr query ist die (optionale) Artikelnummer auf den die Positionsinfo eingeschränkt werden soll  
itemid query ist die (optionale) Id des Artikels auf den die Positionsinfo eingeschränkt werden soll int
userid query ist der beim Logon ermittelte "token"  
Response Body
media type data type description
application/json DeliveryPositionEntryList (JSON) eine Liste der Positionen des angegebenen Lieferscheins. Wurde itemId oder itemCnr angegeben, enthält die Liste nur noch diese eine entsprechende Position
application/xml;charset=UTF-8 object

Example

Request
GET /api/v1/delivery/customerdeliverables/{customercnr}/{deliveryid}
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "entries" : [ {
    "itemCnr" : "...",
    "itemId" : 12345,
    "description" : "...",
    "amount" : 12345.0,
    "unitCnr" : "...",
    "itemProperty" : "SERIALNR",
    "itemIdentity" : {
      "entries" : [ { }, { } ]
    },
    "deliveryId" : 12345,
    "orderPositionId" : 12345,
    "id" : 12345
  }, {
    "itemCnr" : "...",
    "itemId" : 12345,
    "description" : "...",
    "amount" : 12345.0,
    "unitCnr" : "...",
    "itemProperty" : "SERIALNR",
    "itemIdentity" : {
      "entries" : [ { }, { } ]
    },
    "deliveryId" : 12345,
    "orderPositionId" : 12345,
    "id" : 12345
  } ]
}
                
              

GET /api/v1/delivery/{deliveryid}/document/list

Request Parameters
name type description constraints
deliveryid path int
userid query  
Response Body
media type data type description
application/json DocumentInfoEntryList (JSON)
application/xml;charset=UTF-8 object

Example

Request
GET /api/v1/delivery/{deliveryid}/document/list
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "entries" : [ {
    "name" : "...",
    "filename" : "...",
    "size" : 12345,
    "cnr" : "..."
  }, {
    "name" : "...",
    "filename" : "...",
    "size" : 12345,
    "cnr" : "..."
  } ]
}
                
              

PUT /api/v1/delivery/{deliveryid}/itemposition/{positionid}

Ändert die angegebene Lieferscheinposition auf eine Artikelposition

Der Lieferschein muss im Status ANGELEGT sein.

Unterscheiden sich die Positionsarten der bereits bestehenden Position und der abzuändernden, so wird prinzipiell eine neue Position angelegt.
Auch wenn es sich bei der bestehenden Position um eine Artikelposition handelt, kann nicht davon ausgegangen werden, dass die Id der neuen Position die gleiche bleibt. Wird mit der Id der Position weitergearbeitet, ist die im Response enthaltende deliveryPositionId zu verwenden.

Request Parameters
name type description constraints
deliveryid path ist die Id des Lieferscheins int
positionid path ist die abzuändernde Lieferscheinposition int
userid query ist der beim Logon ermittelte "token"  
Request Body
media type data type description
application/json CreateDeliveryItemPositionEntry (JSON) die neue/abgeänderte Artikelposition
application/xml;charset=UTF-8 object
Response Body
media type data type description
application/json CreatedDeliveryPositionEntry (JSON) die geänderte Lieferscheinposition
application/xml;charset=UTF-8 object

Example

Request
PUT /api/v1/delivery/{deliveryid}/itemposition/{positionid}
Content-Type: application/json
Accept: application/json

                
{
  "itemId" : 12345,
  "itemCnr" : "...",
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "amount" : 12345.0,
  "orderPositionId" : 12345
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "deliveryId" : 12345,
  "deliveryCnr" : "...",
  "deliveryPositionId" : 12345,
  "orderId" : 12345,
  "orderPositionId" : 12345,
  "amount" : 12345.0,
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "openAmount" : 12345.0,
  "deliveredAmount" : 12345.0
}
                
              

PUT /api/v1/delivery/{deliveryid}/textposition/{positionid}

Ändert die angegebene Lieferscheinposition auf eine Textposition

Der Lieferschein muss im Status ANGELEGT sein.

Unterscheiden sich die Positionsarten der bereits bestehenden Position und der abzuändernden, so wird prinzipiell eine neue Position angelegt.

Request Parameters
name type description constraints
deliveryid path ist die Id des Lieferscheins int
positionid path ist die abzuändernde Lieferscheinposition int
userid query ist der beim Logon ermittelte "token"  
Request Body
media type data type description
application/json CreateDeliveryTextPositionEntry (JSON) der neue/abgeänderte Texteintrag
application/xml;charset=UTF-8 object
Response Body
media type data type description
application/json CreatedDeliveryPositionEntry (JSON) die geänderte Lieferscheinposition
application/xml;charset=UTF-8 object

Example

Request
PUT /api/v1/delivery/{deliveryid}/textposition/{positionid}
Content-Type: application/json
Accept: application/json

                
{
  "text" : "..."
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "deliveryId" : 12345,
  "deliveryCnr" : "...",
  "deliveryPositionId" : 12345,
  "orderId" : 12345,
  "orderPositionId" : 12345,
  "amount" : 12345.0,
  "itemIdentity" : {
    "entries" : [ {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    }, {
      "identity" : "...",
      "amount" : 12345.0,
      "version" : "...",
      "bundleIdentity" : "...",
      "bundleAmount" : 12345.0
    } ]
  },
  "openAmount" : 12345.0,
  "deliveredAmount" : 12345.0
}