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, or you can generate it 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

FieldTypeDescriptionRequired
type stringType of delivery.
It accepts:
- container: for deliveries arriving in a container
- regular: for all others
It defaults to regular if not sent.
optional
warehouseID stringId of the warehouse that will receive the delivery.always
requiresCounting booleanIf the warehouse has to count the stock on arrival in the warehouse. Charges may apply.
It accepts: true, false
optional
stocktakingbooleanConstant value truealways
expressInboundingbooleanConstant value falsealways
expectedDeliveryDateFrom datetimeDate and time when the delivery is expected to arrive in UTC format.
Example: 2023-03-23T16:00:03Z
always
expectedDeliveryDateTodatetimeDate and time until when the delivery is expected to arrive in UTC format.
Example: 2023-03-30T16:00:03Z
always
deliveryItemslist of delivery item objectsProducts 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 be 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:

FieldTypeDescriptionRequired
productID stringId of the announced product.always
amount integerAnnounced quantity of items.always
boxcodestringAny 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 integerA number to order the announced items.always
productstringName of the productoptional
📘

productID has to be unique in deliveryItems

The deliveryItems list cannot contain two or more items with the same productID — only one deliveryItem is allowed per productID. If items with the same SKU arrive in multiple boxes, use the boxcode field to indicate this.

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:

FieldTypeDescriptionRequired
carrier stringThe 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 stringEmpty string or name of carrier if carrier is set to unknown.always
typestringArriving as parcel or pallet. This has to be the same for all deliveryContainers in a delivery.
It accepts: parcel, pallet, euroPallet (EUR-pallet)
always
exchangeablePalletbooleantrue if the delivery is on a Euro-pallet/EUR-pallet/EPAL-pallet. Set it to false when the pallet type is unknown or different.always
sequenceNumber integerPosition of the container within the delivery, used to order the containers.
0 or greater.
always
trackingNumber stringTracking number of the container with its carrier.
Send one delivery container per tracking number. It must not be a URL; send null when there is none.
always
trackingURL stringURL where the container can be tracked.
Send null or an empty string when there is none.
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 (parcel, pallet or euroPallet).

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": "",
            "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
    }
}