- Home
- Resources
- DeliveryApi
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
}