pixiCreateDelivery
API call for creation of a delivery.
Since pixi version: LOU Official (6.3.0.4452) Additional notes: API call creates a new delivery header for a specified supplier. ----------------------------------------------------------------
- There are **3** possible scenarios for creating the delivery.
**Create an empty delivery document:**
- Only the delivery header will be created.
- To add the items/delivery lines api call **pixiCreateDeliveryItem** can be used.
- Sample request:
<soapenv:Envelope>
<soapenv:Header/>
<soapenv:Body>
<pix:pixiCreateDelivery>
<pix:LocID>001</pix:LocID>
<pix:SupplNr>MGS</pix:SupplNr>
<pix:UserName>Max</pix:UserName>
<pix:Note>Empty delivery</pix:Note>
</pix:pixiCreateDelivery>
</soapenv:Body>
</soapenv:Envelope>
**Create a delivery using supplier order as template:**
- The delivery will be created based on selected supplier order number.
- The items and their ordered quantities will be transferred to the delivery document from supplier order.
- To set the delivered item quantities API call **pixiUpdateDeliveryItem** can be used.
- Sample request:
<soapenv:Envelope>
<soapenv:Header/>
<soapenv:Body>
<pix:pixiCreateDelivery>
<pix:OrderNr>1025547</pix:OrderNr>
<pix:UserName>Max</pix:UserName>
<pix:Note>Delivery from template using supplier order 1025547</pix:Note>
</pix:pixiCreateDelivery>
</soapenv:Body>
</soapenv:Envelope>
**Create a new delivery document with corresponding items/delivery lines:**
- This can be achieved using the **ParameterXML** parameter.
- To prevent confusion its best to provide all the parameters in the XML and leave other parameters empty.
- Sample request:
<soapenv:Envelope>
<soapenv:Header/>
<soapenv:Body>
<pix:pixiCreateDelivery>
<pix:ParameterXML>
<![CDATA[<CREATE_DELIVERY>
<Delivery>
<LocID>001</LocID>
<SupplNr>Bush</SupplNr>
<SupplOrderNrExt/>
<Username>Max</Username>
<Note>New delivery with items/ delivery lines</Note>
<ITEMS>
<Item>
<EAN/>
<ItemNrSuppl/>
<ItemNrInt>442fccba2d05dfc0df03ff8a872ecd4c</ItemNrInt>
<Ordered>10</Ordered>
<Delivered>2</Delivered>
<SupplPrice>4.87</SupplPrice>
</Item>
<Item>
<EAN/>
<ItemNrSuppl/>
<ItemNrInt>442fccba2d05dfc0df03ff8a872ecd4c</ItemNrInt>
<Ordered>10</Ordered>
<Delivered>2</Delivered>
<SupplPrice>4.98</SupplPrice>
<InternalNumber>70010513</InternalNumber>
<ExternalCode>ExCode_13-333</ExternalCode>
</Item>
</ITEMS>
</Delivery>
</CREATE_DELIVERY>]]>
</pix:ParameterXML>
</pix:pixiCreateDelivery>
</soapenv:Body>
</soapenv:Envelope>
**Important:**
- When InternalNumber and ExternalCode are sent, we consider only InternalNumber.
- When ExternalCode exists on multiple Purchase Orders we return an error.
- Only items that belong to a specified supplier will be added to the delivery lines.
- When **OrderNr** parameter is specified item details will automaticaly be taken from the supplier order template. To update the deliverd quantity for items API call pixiUpdateDeliveryItem can be used.
- When creating delivery using ParameterXML it is also possible to set BatchNumber and BestBeforeDate for items
- Partial XML sample:
<Item>
<EAN/>
<ItemNrSuppl/>
<ItemNrInt>442fccba2d05dfc0df03ff8a872ecd4c</ItemNrInt>
<Ordered>10</Ordered>
<Delivered>2</Delivered>
<SupplPrice>4</SupplPrice>
<BatchNumber>BatchTest</BatchNumber>
<BestBeforeDate>01.01.2019</BestBeforeDate>
<InternalNumber>70010513</InternalNumber>
<ExternalCode>ExCode_13-333</ExternalCode>
</Item>
Request
Request body
Name | Type | Required | Description |
---|---|---|---|
Note | string | false | Delivery note Type: ntext Default value: NULL Example: abcdefg Available from: LOU Official - Update 46 (6.9.46.27927) |
LocID | string | false | Location ID Type: varchar(3) Default value: 001 Example: 003 Available from: LOU Official (6.3.0.4452) |
OrderNr | integer | false | Supplier order number Type: int Default value: 0 Example: 123 Available from: LOU Official (6.3.0.4452) |
SupplNr | string | false | Supplier number Type: varchar(4) Default value: NULL Example: abcd Available from: LOU Official (6.3.0.4452) |
UserName | string | false | User name Type: varchar(50) Default value: API Example: abcdefg Available from: LOU Official (6.3.0.4452) |
ParameterXML | string | false | XML with details about the delivery Type: xml Default value: NULL Example: check additional information Available from: LOU Official - Update 46 (6.9.46.27927) |
SuplierOrderNRExternal | string | false | Supplier order number external Type: varchar(8000) Default value: NULL Example: abcdefg Available from: LOU Official (6.3.0.4452) |
Request Example
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body xmlns="">
<pixiCreateDelivery>
<LocID>string</LocID>
<OrderNr>0</OrderNr>
<SupplNr>string</SupplNr>
<SuplierOrderNRExternal>string</SuplierOrderNRExternal>
<UserName>string</UserName>
<Note>string</Note>
<ParameterXML>string</ParameterXML>
</pixiCreateDelivery>
</Body>
</Envelope>
Response
1. Delivery header
Name | Type | Description |
---|---|---|
SupplNR | string | Supplier number (code) Type: varchar Available from: 25.06 (25.6.0.58802) |
DeliveryNr | integer | Delivery number Type: int Available from: 25.06 (25.6.0.58802) |
DeliveryKey | integer | Delivery header ID Type: int Available from: 25.06 (25.6.0.58802) |
DeliveryNote | string | Delivery note Type: varchar Available from: 25.06 (25.6.0.58802) |
DeliveryNrExternal | string | External delivery number Type: varchar Available from: 25.06 (25.6.0.58802) |
Response Example
<PixiCreateDeliveryPost200TextXmlResponse>
<DeliveryKey>0</DeliveryKey>
<DeliveryNr>0</DeliveryNr>
<SupplNR>string</SupplNR>
<DeliveryNote>string</DeliveryNote>
<DeliveryNrExternal>string</DeliveryNrExternal>
</PixiCreateDeliveryPost200TextXmlResponse>
2. Delivery lines
Name | Type | Description |
---|---|---|
SDelDkey | integer | Delivery detail ID Type: int Available from: 25.06 (25.6.0.58802) |
SDelDHref | integer | Delivery header ID Type: int Available from: 25.06 (25.6.0.58802) |
BatchNumber | string | Item batch number Type: varchar Available from: 25.06 (25.6.0.58802) |
SDelDsPrice | number | Item supplier price Type: money Available from: 25.06 (25.6.0.58802) |
SDelDItemRef | integer | Item ID Type: int Available from: 25.06 (25.6.0.58802) |
SDelDItemName | string | Item name Type: varchar Available from: 25.06 (25.6.0.58802) |
BestBeforeDate | string | Item best before date Type: datetime Available from: 25.06 (25.6.0.58802) |
SDelDcreateEmp | string | User that created the delivery line Type: varchar Available from: 25.06 (25.6.0.58802) |
SDelDsDiscount | number | Discount on the supplier price Type: money Available from: 25.06 (25.6.0.58802) |
SDelDsMidPrice | number | Price after the discount on the supplier price Type: money Available from: 25.06 (25.6.0.58802) |
SDelDupdateEmp | string | User that last updated the delivery line Type: varchar Available from: 25.06 (25.6.0.58802) |
SDelDcreateDate | string | Delivery line create date Type: datetime Available from: 25.06 (25.6.0.58802) |
SDelDqtyOrdered | number | Ordered item quantity Type: money Available from: 25.06 (25.6.0.58802) |
SDelDupdateDate | string | Delivery line last update date Type: datetime Available from: 25.06 (25.6.0.58802) |
SDelDsFinalPrice | number | Price after add. discount was reduced from mid. price Type: money Available from: 25.06 (25.6.0.58802) |
SDelDqtyDelivered | number | Delivered item quantity Type: money Available from: 25.06 (25.6.0.58802) |
SDelDsAddDiscount | number | Additional discount on the mid. price Type: money Available from: 25.06 (25.6.0.58802) |
SDelDsorderlineRef | integer | Connected supplier orderline ID Type: int Available from: 25.06 (25.6.0.58802) |
Response Example
<PixiCreateDeliveryPost200TextXmlResponse>
<DeliveryKey>0</DeliveryKey>
<DeliveryNr>0</DeliveryNr>
<SupplNR>string</SupplNR>
<DeliveryNote>string</DeliveryNote>
<DeliveryNrExternal>string</DeliveryNrExternal>
</PixiCreateDeliveryPost200TextXmlResponse>
3. Errors
Name | Type | Description |
---|---|---|
ERROR | string | Error message Type: varchar Available from: 25.06 (25.6.0.58802) |
Response Example
<PixiCreateDeliveryPost400TextXmlResponse>
<ERROR>string</ERROR>
</PixiCreateDeliveryPost400TextXmlResponse>
4. Errors
Name | Type | Description |
---|---|---|
ERROR | string | Error message Type: varchar Available from: 25.06 (25.6.0.58802) |
EANUPC | string | Item barcode Type: varchar Available from: 25.06 (25.6.0.58802) |
SupplNr | string | Supplier number Type: varchar Available from: 25.06 (25.6.0.58802) |
DeliveryId | integer | Delivery Id Type: int Available from: 25.06 (25.6.0.58802) |
ExternalCode | string | External Code on Purchase Order Type: varchar Available from: 25.06 (25.6.0.58802) |
InternalNumber | integer | Internal Number on Purchase Order Type: int Available from: 25.06 (25.6.0.58802) |
SupplierOrderId | integer | Purchase order Id Type: int Available from: 25.06 (25.6.0.58802) |
Response Example
<PixiCreateDeliveryPost400TextXmlResponse>
<ERROR>string</ERROR>
</PixiCreateDeliveryPost400TextXmlResponse>
HTTP Example
POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
# echo -n '{{username}}:{{password}}' | base64 | pbcopy
Authorization: Basic {{token}}
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="https://apigateway.descartes.com/tms/pixi/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:pixiCreateDelivery>
<Note xsi:type="xsd:string">abcdefg</Note>
<LocID xsi:type="xsd:string">003</LocID>
<OrderNr xsi:type="xsd:integer">123</OrderNr>
<SupplNr xsi:type="xsd:string">abcd</SupplNr>
<UserName xsi:type="xsd:string">abcdefg</UserName>
<ParameterXML xsi:type="xsd:string">check additional information</ParameterXML>
<SuplierOrderNRExternal xsi:type="xsd:string">abcdefg</SuplierOrderNRExternal>
</ns1:pixiCreateDelivery>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
PHP Example
<?php
getPixiSoapClientResponse('pixiCreateDelivery', [
'Note' => 'abcdefg', // string
'LocID' => '003', // string
'OrderNr' => '123', // integer
'SupplNr' => 'abcd', // string
'UserName' => 'abcdefg', // string
'ParameterXML' => 'check additional information', // string
'SuplierOrderNRExternal' => 'abcdefg', // string
]);
function getPixiSoapClientResponse(string $method, array $arguments = [])
{
$soapArguments = [];
foreach ($arguments as $key => $value) {
$soapArguments[] = new SoapVar($value, null, '', '', $key);
}
$soapClient = new SoapClient(null, [
'login' => '...',
'password' => '...',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
]);
return $soapClient->__call($method, $soapArguments);
}