Byrd
Byrd
About Byrd Connector
The Byrd connector allows you to replicate fulfillment and logistics data from your Byrd account into your data warehouse via Daton. Byrd is a tech-driven third-party logistics (3PL) and fulfillment company with multiple warehouses across Europe, helping e-commerce businesses manage storage, pick & pack, shipping, and returns.
This connector supports pulling delivery records, product catalog data, and shipment-level details including tracking checkpoints, destination addresses, item breakdowns, and carrier cost information. Use it to unify your fulfillment data with order, marketing, and financial data in BigQuery, Snowflake, Redshift, or any supported destination for end-to-end operational analytics.
Prerequisites & Authentication
Before configuring the connector, ensure you have:
- An active Byrd account with API access enabled.
- Your API Key and API Secret from Byrd.
How to Obtain Your Byrd API Credentials
Byrd provides API credentials (an API Key and API Secret) to customers upon request. To obtain them:
- If you already have a Byrd support account, log in to the Byrd Support Portal and create a support ticket requesting API credentials.
- If you do not have a support account, contact your Byrd account manager or reach out to Byrd support directly to request credentials.
- Once issued, you will receive an API Key (used as the username) and an API Secret (used as the password).
- Store these credentials securely — you will need them during the Daton connector setup.
For more details, refer to the Byrd Authentication documentation.
Integration Setup
Follow these steps to configure the Byrd connector in Daton:
Step 1 – Begin Setup: Enter Source Configuration Details
- In Daton, navigate to Add Integration → Byrd.
- Integration Name: Provide a descriptive name to identify this integration.
- Description (optional): Add a note for easy reference (e.g., "Byrd – EU Fulfillment Data").
- Replication Frequency: Select how often Daton should pull data (1h, 2h, 3h, 6h, 8h, 12h, or 24h).
- Replication Start Date: Choose how far back you want Daton to pull historical data.
-
Advanced Configuration Options:
- Loading Mode: Choose Append (default — inserts new rows) or Upsert (updates existing rows and inserts new ones).
- Loading Nested Objects: Control how nested data (e.g., delivery containers, shipment items) is handled — options include inheriting warehouse settings, no unnesting, up to one level, or up to two levels.
- Click Authenticate to proceed.
Step 2 – Enter Authentication Credentials
- API Key: Enter the API Key provided by Byrd.
- API Secret: Enter the API Secret provided by Byrd.
- Click Authenticate to validate your credentials. Daton will use these to obtain a JWT token from the Byrd login endpoint for all subsequent API calls.
Step 3 – Select Tables for Replication
- Daton will display the available tables: deliveries, products, and shipments.
- Select the tables you wish to replicate.
- Click Next to proceed.
Step 4 – Configure Schema / Columns
- Review and select the columns you wish to load into the destination for each selected table, or choose Select All to include all columns.
- Click Submit to finalize the setup.
Daton will begin the initial historical load and then schedule incremental loads at the frequency you selected.
Supported Tables
| Table Name | Description | Load Type |
|---|---|---|
| deliveries | Inbound delivery records to Byrd warehouses | Incremental |
| products | Product catalog (SKUs) stored in Byrd | Full Load |
| shipments | Outbound shipment records with tracking, items, and carrier details | Incremental |
Table-Level Details
1. deliveries
Description
Contains records of inbound deliveries (stock replenishments) to Byrd warehouses, including container details, delivery items, warehouse assignments, and processing timestamps.
Load Behavior
- Incremental load based on
updatedAt— the connector paginates through records and terminates early once it reaches records beyond the current sync window - Includes soft-deleted deliveries (
include_deleted: true)
Primary Key: id
Schema
| Column Name | Data Type | Mode | Description |
|---|---|---|---|
| id | STRING | NULLABLE | Unique delivery identifier |
| createdAt | TIMESTAMP | NULLABLE | Delivery creation timestamp |
| updatedAt | TIMESTAMP | NULLABLE | Last update timestamp |
| description | STRING | NULLABLE | Delivery description |
| expectedDeliveryDateFrom | TIMESTAMP | NULLABLE | Start of expected delivery window |
| expectedDeliveryDateTo | TIMESTAMP | NULLABLE | End of expected delivery window |
| expressInbounding | BOOLEAN | NULLABLE | Whether express inbounding is enabled |
| referenceNumber | STRING | NULLABLE | External reference number |
| requiresCounting | BOOLEAN | NULLABLE | Whether counting is required |
| requiresSampling | BOOLEAN | NULLABLE | Whether sampling is required |
| stocktaking | BOOLEAN | NULLABLE | Whether stocktaking is needed |
| unmixedDelivery | BOOLEAN | NULLABLE | Whether delivery is unmixed |
| identifier | STRING | NULLABLE | Short identifier code |
| statusUpdatedAt | TIMESTAMP | NULLABLE | Timestamp of last status change |
| deliveryContainers | RECORD | REPEATED | Container details (id, type, carrier, tracking, status) |
| warehouse | RECORD | REPEATED | Warehouse assignment (id, countryCode) |
| type | STRING | NULLABLE | Delivery type |
| deleted | BOOLEAN | NULLABLE | Soft-delete flag |
| status | STRING | NULLABLE | Current delivery status |
| userID | STRING | NULLABLE | User who created the delivery |
| standardsCompliance | STRING | NULLABLE | Compliance classification |
| deliveryItems | RECORD | REPEATED | Line items (product, amounts, received quantities) |
| inboundingDeadline | RECORD | REPEATED | Deadline details (type, date) |
| inboundedDateTime | TIMESTAMP | NULLABLE | Timestamp when inbounded |
| inProcessingDateTime | TIMESTAMP | NULLABLE | Timestamp when processing started |
| atWarehouseDateTime | TIMESTAMP | NULLABLE | Timestamp when arrived at warehouse |
| deliveryStandards | RECORD | REPEATED | Standards checklist (label, isFulfilled) |
| deliveredBoxes | NUMERIC | NULLABLE | Number of boxes delivered |
| deliveredPallets | NUMERIC | NULLABLE | Number of pallets delivered |
| sortedBoxesCount | NUMERIC | NULLABLE | Number of sorted boxes |
| sortedItemsCount | NUMERIC | NULLABLE | Number of sorted items |
| senderAddress | STRING | NULLABLE | Sender address |
| senderName | STRING | NULLABLE | Sender name |
| aggregatedContainerStatus | STRING | NULLABLE | Aggregated status across all containers |
| deletedDate | TIMESTAMP | NULLABLE | Deletion timestamp (if soft-deleted) |
2. products
Description
Contains the product catalog — all SKUs registered in Byrd, including basic product metadata.
Load Behavior
- Full load on each run
- Includes deleted and non-deliverable products
Primary Key: id
Schema
| Column Name | Data Type | Mode | Description |
|---|---|---|---|
| id | STRING | NULLABLE | Unique product identifier |
| createdAt | TIMESTAMP | NULLABLE | Product creation timestamp |
| updatedAt | TIMESTAMP | NULLABLE | Last update timestamp |
| organic | BOOLEAN | NULLABLE | Whether product is certified organic |
| sku | STRING | NULLABLE | Stock keeping unit code |
| name | STRING | NULLABLE | Product name |
| deleted | BOOLEAN | NULLABLE | Soft-delete flag |
3. shipments
Description
Contains outbound shipment records including destination addresses, tracking checkpoints, item-level details, carrier and shipping cost breakdowns, customs information, packaging options, and warehouse assignments.
Load Behavior
- Incremental load using
updated_at - All timestamps processed in UTC
Primary Key: id
Schema
| Column Name | Data Type | Mode | Description |
|---|---|---|---|
| id | STRING | NULLABLE | Unique shipment identifier |
| created_at | TIMESTAMP | NULLABLE | Shipment creation timestamp |
| updated_at | TIMESTAMP | NULLABLE | Last update timestamp |
| checkpoints | RECORD | REPEATED | Processing milestones (released_at, allocated_at, picked_at, assigned_at, packaging_started_at) |
| customs | RECORD | REPEATED | Customs details (invoice_number, goods_type) |
| destination_address | RECORD | REPEATED | Delivery address (name, street, city, country_code, postal_code, email, phone, etc.) |
| metrics | RECORD | REPEATED | Shipment metrics (total_picks, total_packaging_units, total_items, total_skus) |
| options | RECORD | REPEATED | Shipment options (branding, packaging, fragile, organic, return labels, incoterm, etc.) |
| byrd_id | STRING | NULLABLE | Byrd's internal shipment ID |
| priority | NUMERIC | NULLABLE | Shipment priority level |
| return_address | RECORD | REPEATED | Return address details |
| service | STRING | NULLABLE | Shipping service level (e.g., standard, express) |
| shop | RECORD | REPEATED | Shop/channel details (id, type, order_number, order_id) |
| status | STRING | NULLABLE | Current shipment status |
| sub_status | STRING | NULLABLE | Detailed sub-status |
| warehouse | RECORD | REPEATED | Fulfillment warehouse (id, code, name) |
| user | RECORD | REPEATED | User/merchant details (company_name, first_name, last_name, sender_name) |
| dangerous_goods | RECORD | REPEATED | Dangerous goods info (limited_quantity_weight) |
| items | RECORD | REPEATED | Shipment line items (product details, quantity, price, dimensions, customs, children items) |
| container_code | STRING | NULLABLE | Container identifier code |
| errors | RECORD | REPEATED | Error codes associated with the shipment |
| warnings | RECORD | REPEATED | Warning codes associated with the shipment |
| units | RECORD | REPEATED | Packaging units with item breakdown, carrier rates (shipping, fuel surcharge, peak surcharge, etc.), and dimensions |
Error Handling & Retries
The connector automatically handles:
- HTTP 429 — Byrd rate limiting. The connector sleeps and retries with a 30-second backoff.
- HTTP 5xx — Server-side errors (500–530). The connector retries with a 30-second backoff.
- Sync timeout — If a sync exceeds 30 minutes, it hibernates and retries from where it left off on the next scheduled run.
- Token refresh — JWT tokens are automatically refreshed every 10 minutes to ensure uninterrupted API access.
No manual action is needed for these scenarios.