Distributor Order Confirmation


Goal

Distributors can use this API to confirm a Purchase Order placed by Expert.

Request Details

Name Required Type Length Description
SourceGlnCode long 13 The Global Location Number (GLN) of the sender of the message
DestinationGlnCode long 13 The Global Location Number (GLN) of the Expert store that placed the order
Comments string 200 Comments from the distributor about this order confirmation
Order The order being confirmed
DistributorOrderId string 50 The unique order identifier of the distributor.
Required if StoreOrderId is empty.
StoreOrderId string 50 The unique order identifier of the store.
Required if DistributorOrderId is empty.
Date date The date the order was placed

The format is based on ISO 8601:
YYYY-MM-DD
For example: 2019-08-14
Type string The type of order.
Valid values are:
AutomaticAllocation
Use this type for orders placed for a promotion.
ConsumerDropshipment
Use this type for E-commerce triggered customer deliveries.
Electronic
Use this type for orders that were placed by Expert dealers through their Point Of Sale terminal.
Phone
Use this type when confirming orders that were placed by Expert dealers by telephone
Portal
Use this type for orders that were placed by Expert dealers through a distributor order portal
StoreDropshipment
Use this type for orders for E-commerce triggered store deliveries.
Items array The products in the order
Item The product being ordered
DistributorId string 50 The unique product id of the distributor
EanCode long The European Article Number (EAN) of the product you will deliver.
If you are delivering an alternative product to the one that was ordered send Status Changed.
If possible send the EAN code of the product that was originally ordered in the Ordered element.
Description string 100 The commercial product description of the product you will deliver.
If you are delivering an alternative product to the one that was ordered send Status Changed and send the description of the product you will be delivering.
If possible send the description of the product that was originally ordered in the Ordered element.
Quantity int The amount of product items you will deliver.
Send the quantity you have placed in backorder in Backorder.Quantity.
If you are not able to deliver the total requested quantity at all send the original order quantity in Ordered.Quantity if possible.
NetInvoicePrice decimal The net invoice price of the product (NFP in Dutch).
If you are rejecting the order for price reasons send your correct net invoice price here.
ExpectedDeliveryDate date The date the order is expected to be delivered

The format is based on ISO 8601:
YYYY-MM-DD
For example: 2019-08-14
Status string The status of the order item.
Valid values are:
Accepted (default)
Use this status when you are confirming this order item exactly as it was ordered.
This is the default value: if you do not provide a value we will assume the status is Accepted.
Changed
Use this status when you cannot deliver this item exactly as ordered but you will be delivering another quantity or product instead or if you have placed a backorder.
If possible send the original order information in the Ordered element.
Rejected
Use this status when you are rejecting the delivery of this item.
If used a Reason is required.
Reason string 100 The reason why the item cannot be delivered as requested.
Backorder [OBSOLETE] Please use Backorders instead so you can provide multiple separate backorders if necessary.
Quantity int The amount of product items in backorder
ExpectedDeliveryDate date The date the backorder is expected to be delivered

The format is based on ISO 8601:
YYYY-MM-DD
For example: 2019-08-14
Backorders array The information regarding one or more backorders of this product.
Backorder Backorder information.
When delivering the backorder send another order confirmation.
If sent Status must be set to Changed
Quantity int The amount of product items in backorder
ExpectedDeliveryDate date The date the backorder is expected to be delivered

The format is based on ISO 8601:
YYYY-MM-DD
For example: 2019-08-14
Ordered The original order details. If sent Status must be set to Changed.
EanCode long The European Article Number (EAN) that was originally ordered. Only send this if the delivered product has a different EAN.
Description string 100 The commercial product description of the product that was originally ordered. Only send this if the delivered product has a different Description.
Quantity int The amount of product items in the original order. Only send this if Quantity + Backorder.Quantity does not match the originally ordered amount.
NetInvoicePrice decimal The net invoice price of the product (NFP in Dutch) in the original order. Only send this if your net invoice price is different.

Supported Data Formats

See the Implementation Guide on the Get Started page for details about the different data formats we support.

XML SOAP JSON

Examples

Pick the data format that best fits your needs.
Include your authorization token in the "Authorization" HTTP header and POST the data to:
https://api.expert.nl/DistributorOrderConfirmation/1/0

HTTP Response Codes
Code Description
200 The message was sent successfully
400 Your data does not conform to the specification. See the status description for the exact issue.
401 You are not authorized to send this message. See the status description for the exact issue.
500 An error occured while processing the message. See the status description for the exact issue.
XML Data Format
Request

Minimal content example, containing only the required elements
<DistributorOrderConfirmation xmlns="https://api.expert.nl/distributororderconfirmation/1/0">
  <SourceGlnCode>2190000000006</SourceGlnCode>
  <DestinationGlnCode>2190000007101</DestinationGlnCode>
  <Order>
    <StoreOrderId>30012345</StoreOrderId>
    <Date>2019-03-25</Date>
    <Type>Portal</Type>
    <Items>
      <Item>
        <DistributorId>123456</DistributorId>
        <EanCode>8700000000001</EanCode>
        <Description>Article Product Description</Description>
        <Quantity>10</Quantity>
        <NetInvoicePrice>99.99</NetInvoicePrice>
      </Item>
    </Items>
  </Order>
</DistributorOrderConfirmation>
Note: either StoreOrderId or DistributorOrderId is required.

Extensive example
<DistributorOrderConfirmation xmlns="https://api.expert.nl/distributororderconfirmation/1/0">
  <SourceGlnCode>2190000000006</SourceGlnCode>
  <DestinationGlnCode>2190000007101</DestinationGlnCode>
  <Comments>Example</Comments>
  <Order>
    <DistributorOrderId>2518677</DistributorOrderId>
    <StoreOrderId>30012345</StoreOrderId>
    <Date>2019-03-25</Date>
    <Type>Portal</Type>
    <Items>
      <Item>
        <DistributorId>123456</DistributorId>
        <EanCode>8700000000001</EanCode>
        <Description>Article Product Description</Description>
        <Quantity>10</Quantity>
        <NetInvoicePrice>99.99</NetInvoicePrice>
        <ExpectedDeliveryDate>2019-03-30</ExpectedDeliveryDate>
        <Status>Changed</Status>
        <Reason>Price is not correct</Reason>
        <Backorder>
          <Quantity>6</Quantity>
          <ExpectedDeliveryDate>2019-04-15</ExpectedDeliveryDate>
        </Backorder>
        <Backorders>
          <Backorder>
            <Quantity>6</Quantity>
            <ExpectedDeliveryDate>2019-04-15</ExpectedDeliveryDate>
          </Backorder>
        </Backorders>
        <Ordered>
          <EanCode>8700000000002</EanCode>
          <Description>Original Article Product Description</Description>
          <Quantity>20</Quantity>
          <NetInvoicePrice>100.99</NetInvoicePrice>
        </Ordered>
      </Item>
    </Items>
  </Order>
</DistributorOrderConfirmation>
No response data. See HTTP Response Codes

Show XSD   Open in API Playground

SOAP Data Format
Request

Minimal content example, containing only the required elements
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
      <Authorization>Test:YourApiToken=</Authorization>
  </soap:Header>
  <soap:Body>
    <DistributorOrderConfirmation xmlns="https://api.expert.nl/distributororderconfirmation/1/0">
      <SourceGlnCode>2190000000006</SourceGlnCode>
      <DestinationGlnCode>2190000007101</DestinationGlnCode>
      <Order>
        <StoreOrderId>30012345</StoreOrderId>
        <Date>2019-03-25</Date>
        <Type>Portal</Type>
        <Items>
          <Item>
            <DistributorId>123456</DistributorId>
            <EanCode>8700000000001</EanCode>
            <Description>Article Product Description</Description>
            <Quantity>10</Quantity>
            <NetInvoicePrice>99.99</NetInvoicePrice>
          </Item>
        </Items>
      </Order>
    </DistributorOrderConfirmation>
  </soap:Body>
</soap:Envelope>
Note: either StoreOrderId or DistributorOrderId is required.

Extensive example
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
      <Authorization>Test:YourApiToken=</Authorization>
  </soap:Header>
  <soap:Body>
    <DistributorOrderConfirmation xmlns="https://api.expert.nl/distributororderconfirmation/1/0">
      <SourceGlnCode>2190000000006</SourceGlnCode>
      <DestinationGlnCode>2190000007101</DestinationGlnCode>
      <Comments>Example</Comments>
      <Order>
        <DistributorOrderId>2518677</DistributorOrderId>
        <StoreOrderId>30012345</StoreOrderId>
        <Date>2019-03-25</Date>
        <Type>Portal</Type>
        <Items>
          <Item>
            <DistributorId>123456</DistributorId>
            <EanCode>8700000000001</EanCode>
            <Description>Article Product Description</Description>
            <Quantity>10</Quantity>
            <NetInvoicePrice>99.99</NetInvoicePrice>
            <ExpectedDeliveryDate>2019-03-30</ExpectedDeliveryDate>
            <Status>Changed</Status>
            <Reason>Price is not correct</Reason>
            <Backorder>
              <Quantity>6</Quantity>
              <ExpectedDeliveryDate>2019-04-15</ExpectedDeliveryDate>
            </Backorder>
            <Backorders>
              <Backorder>
                <Quantity>6</Quantity>
                <ExpectedDeliveryDate>2019-04-15</ExpectedDeliveryDate>
              </Backorder>
            </Backorders>
            <Ordered>
              <EanCode>8700000000002</EanCode>
              <Description>Original Article Product Description</Description>
              <Quantity>20</Quantity>
              <NetInvoicePrice>100.99</NetInvoicePrice>
            </Ordered>
          </Item>
        </Items>
      </Order>
    </DistributorOrderConfirmation>
  </soap:Body>
</soap:Envelope>
Note: you can send your authorization token in the SOAP Header as shown here or you can send it as an HTTP Header. Whatever is easier.

No response data. See HTTP Response Codes

Show WSDL   Open in API Playground

JSON Data Format
Request

Minimal content example, containing only the required elements
{
  "SourceGlnCode": "2190000000006",
  "DestinationGlnCode": "2190000007101",
  "Order": { 
    "StoreOrderId": "30012345",
    "Date": "2019-03-25",
    "Type": "Portal",
    "Items": [{ 
      "DistributorId": "123456",
      "EanCode": "8700000000001",
      "Description": "Article Product Description",
      "Quantity": 10,
      "NetInvoicePrice": 99.99
    }]
  }
}
Note: either StoreOrderId or DistributorOrderId is required.

Extensive example
{
  "SourceGlnCode": "2190000000006",
  "DestinationGlnCode": "2190000007101",
  "Comments": "Example",
  "Order": { 
    "DistributorOrderId": "2518677",
    "StoreOrderId": "30012345",
    "Date": "2019-03-25",
    "Type": "Portal",
    "Items": [{ 
      "DistributorId": "123456",
      "EanCode": "8700000000001",
      "Description": "Article Product Description",
      "Quantity": 10,
      "NetInvoicePrice": 99.99,
      "ExpectedDeliveryDate": "2019-03-30",
      "Status": "Changed",
      "Reason": "Price is not correct",
      "Backorder": { 
        "Quantity": 6,
        "ExpectedDeliveryDate": "2019-04-15"
      },
      "Backorders": [{ 
        "Quantity": 6,
        "ExpectedDeliveryDate": "2019-04-15"
      }],
      "Ordered": { 
        "EanCode": "8700000000002",
        "Description": "Original Article Product Description",
        "Quantity": 20,
        "NetInvoicePrice": 100.99
      }
    }]
  }
}
No response data. See HTTP Response Codes

Show Swagger   Open in API Playground   About Swagger