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

FieldTypeDescriptionRequired
type stringType of delivery.
It accepts:
- container: for deliveries arriving in a container
- regular: for all others
always
warehouseID stringId of the warehouse that will receive the delivery.always
requiresCounting stringIf 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-20T16: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 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:

FieldTypeDescriptionRequired
productID stringId of the announced product.always
amount stringAnnounced 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 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:

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.always
amount integerThe amount of parcel/pallets per trackingNumber. If there are multiple tracking numbers please specify a deliveryContainer per trackingNumber.always
exchangeablePalletstringtrueif the delivery is delivered on an Euro-pallet/EUR-pallet/EPAL-pallet. When unknown or delivered on other pallet this field should be set tofalsealways

๐Ÿ“˜

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
    }
}