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
| Field | Type | Description | Required |
|---|---|---|---|
| type | string | Type of delivery. It accepts: - container: for deliveries arriving in a container- regular: for all othersIt defaults to regular if not sent. | optional |
| warehouseID | string | Id of the warehouse that will receive the delivery. | always |
| requiresCounting | boolean | If the warehouse has to count the stock on arrival in the warehouse. Charges may apply. It accepts: true, false | optional |
| stocktaking | boolean | Constant value true | always |
| expressInbounding | boolean | 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 |
| expectedDeliveryDateTo | datetime | Date and time until when the delivery is expected to arrive in UTC format. Example: 2023-03-30T16:00:03Z | always |
| deliveryItems | list of delivery item objects | Products included in the delivery. | always |
Counting not requiredBy 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:
| Field | Type | Description | Required |
|---|---|---|---|
| productID | string | Id of the announced product. | always |
| amount | integer | Announced quantity of items. | always |
| boxcode | string | 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 |
| product | string | Name of the product | optional |
productIDhas to be unique indeliveryItemsThe
deliveryItemslist cannot contain two or more items with the sameproductID— only onedeliveryItemis allowed perproductID. If items with the same SKU arrive in multiple boxes, use theboxcodefield 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:
| 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 to unknown. | always |
| type | string | Arriving as parcel or pallet. This has to be the same for all deliveryContainers in a delivery. It accepts: parcel, pallet, euroPallet (EUR-pallet) | always |
| exchangeablePallet | boolean | true 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 | integer | Position of the container within the delivery, used to order the containers.0 or greater. | always |
| trackingNumber | string | Tracking 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 | string | URL where the container can be tracked. Send null or an empty string when there is none. | always |
One carrier per deliveryIf you send your deliveries using multiple carriers, please create one delivery per carrier.
Either parcel or pallet deliveryA delivery can only contain one type of deliveryContainers. If there are multiple deliveryContainer objects they all have to be the same type (
parcel,palletoreuroPallet).
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
}
}Updated 19 days ago

