Announcing a delivery

API reference DeliveriesAPI

Overview

This endpoint can be used to announce deliveries from your system to byrd

A delivery note has to be printed

Please remember that after announcing a delivery, a delivery note has to be printed and stuck to every parcel or pallet of the delivery. The delivery note contains details including the sender, recipient warehouse, delivery ID (with a barcode), delivery contents and delivery dates.

The document is autogenerated and can be downloaded from the dashboard. You can generate yourself using this example as a template. Please remember to always include the delivery ID as a barcode.

Method access
      POST https://api.getbyrd.com/v2/warehouse/deliveries
Request Headers
      Authorization: Bearer token-from >Authentication
      Content-Type: application/json
      User-Agent: your user-agent >How to call the APIs

Fields

There are three groups of fields:

  • General information about the delivery (root elements).
  • A list of deliveryItems, which describe the products in the delivery.
  • A list of deliveryContainers, which represent the parcels or pallets arriving at the warehouse.

General Information Fields

Field

Type

Description

Required

type string

Type of delivery.
It accepts:

  • container: for deliveries arriving in a container
  • regular: for all others
always
warehouseID string

Id of the warehouse that will receive the delivery.

always
requiresCounting string

If the warehouse has to count the stock on arrival in the warehouse. Charges may apply.
It accepts: true, false

optional
stocktakingboolean

Constant value true

always
expressInboundingboolean

Constant value false

always
expectedDeliveryDateFrom datetime

Date and time when the delivery is expected to arrive in UTC format.
Example: 2023-03-23T16:00:03Z

always
expectedDeliveryDateTodatetime

Date and time until when the delivery is expected to arrive in UTC format.
Example: 2023-03-20T16:00:03Z

always
deliveryItemslist of delivery item objects

Products included in the delivery.

always
📘

Counting not required

By setting requiresCounting: false, you accept that stock will be determined only by what's in the delivery announcement api request. byrd won't not liable for any stock discrepancies.

Delivery items

Under deliveryItems field you need to send the list of different items included in the delivery. Each delivery item has these fields:

Field

Type

Description

Required

productID string

Id of the announced product.

always
amount string

Announced quantity of items.

always
boxcodestring

Any identifier for the box in the delivery. If more than one box is sent for the same product, the box codes have to be separated by a comma.

always
sequenceNumber integer

A number to order the announced items.

always
productstring

Name of the product

optional
📘

productID has to be unique in deliveryItems

The deliveryItems cannot contain two or more items with the same productID. We only allow one deliveryItem per productID. If your items for the same SKU come Please use the boxcode to indicate if a Product is in multiple parcels/pallets.

Delivery containers

Under deliveryContainer field you need to send the list of different shipments from the same carrier included in the delivery. Each delivery container has these fields:

Field

Type

Description

Required

carrier string

The carrier for the delivery
It accepts: unknown, DHL, DPD, GLS, UPS among others. Refer to Listing carriers to get a list of valid values.

always
unknownCarrierName string

Empty string or name of carrier if carrier is set tounknown.

always
typestring

Arriving as parcel or pallet. This has to be the same for all deliveryContainers in a delivery.

always
amount integer

The amount of parcel/pallets per trackingNumber. If there are multiple tracking numbers please specify a deliveryContainer per trackingNumber.

always
exchangeablePalletstring

trueif the delivery is delivered on an Euro-pallet/EUR-pallet/EPAL-pallet. When unknown or delivered on other pallet this field should be set tofalse

always
📘

One carrier per delivery

If you send your deliveries using multiple carriers, please create one delivery per carrier.

📘

Either parcel or pallet delivery

A delivery can only contain one type of deliveryContainers. If there are multiple deliveryContainer objects they all have to be the same type (either pallet or parcel).

Request body example

{
    "type": "regular",
    "warehouseID": "the_warehouse_id",
    "requiresCounting": false,
    "expectedDeliveryDateFrom": "2023-01-09T00:00:00.000Z",
    "expectedDeliveryDateTo": "2023-01-16T00:00:00.000Z",
    "stocktaking": true,
    "expressInbounding": false,
    "deliveryItems": [
        {
            "sequenceNumber": 1,
            "amount": 100,
            "boxcode": "1",
            "productID": "your_product_id",
            "product": "Dog food"
        }
    ],
    "deliveryContainers": [
        {
            "carrier": "DHL_Express",
            "unknownCarrierName": "",
            "type": "pallet",
            "exchangeablePallet": false,
            "sequenceNumber": 1,
            "trackingURL": "",
            "amount": 1,
            "trackingNumber": "1234567"
        }
    ]
}

Successful response example

{
    "data": {
        "deliveredBoxes": null,
        "standardsCompliance": "compliance_not_checked",
        "deliveryNotes": null,
        "inProcessingDateTime": null,
        "deliveryItems": [
            {
                "hasExistingStorage": false,
                "id": "the_delivery_item_id",
                "receivedAmount": 0,
                "sequenceNumber": 1,
                "updatedAt": "2023-03-21T13:04:49.552390+00:00",
                "product": {
                    "sku": "b-t1",
                    "id": "your_product_id",
                    "bsku": "BSKU-AXSJVGIKPL",
                    "organic": false,
                    "description": null,
                    "productType": "branding",
                    "name": "Branding test 1"
                },
                "boxcode": "1",
                "amountArrivedFinished": null,
                "amount": 100,
                "createdAt": "2023-03-21T13:04:49.552383+00:00",
                "amountArrivedDamaged": null
            }
        ],
        "sortedBoxesCount": null,
        "deliveredPallets": null,
        "atWarehouseDateTime": null,
        "statusUpdatedAt": "2023-03-21T13:04:49.546599+00:00",
        "customsPaid": null,
        "deleted": false,
        "referenceNumber": null,
        "requiresCounting": false,
        "updatedAt": "2023-03-21T13:04:49.548351+00:00",
        "deliveryStandards": [],
        "unmixedDelivery": true,
        "deliveryCostsPaid": null,
        "createdAt": "2023-03-21T13:04:49.548344+00:00",
        "senderName": null,
        "inboundingDeadline": {
            "type": "not-applicable",
            "date": null
        },
        "sortedItemsCount": null,
        "stocktaking": true,
        "damages": null,
        "meetsEUOrganicRequirements": null,
        "deliveryContainers": [
            {
                "id": "the_container_id",
                "exchangeablePallet": false,
                "sequenceNumber": 1,
                "updatedAt": "2023-03-21T13:04:49.551130+00:00",
                "unknownCarrierName": "",
                "arrived": false,
                "trackingURL": "",
                "trackingNumber": "1234567",
                "carrier": "DHL_Express",
                "type": "pallet",
                "createdAt": "2023-03-21T13:04:49.551124+00:00"
            }
        ],
        "warehouse": {
            "id": "the_warehouse_id",
            "countryCode": "DE"
        },
        "senderAddress": null,
        "description": null,
        "identifier": "TST-8VO4",
        "putawayFee": null,
        "type": "regular",
        "expectedDeliveryDateFrom": "2023-01-09T00:00:00+00:00",
        "id": "the_delivery_id",
        "inboundedDateTime": null,
        "status": "announced",
        "deletedDate": null,
        "userID": "your_user_id",
        "expectedDeliveryDateTo": "2023-01-16T00:00:00+00:00",
        "acceptanceFee": null,
        "expressInbounding": false
    }
}