Connect API Documentation

https://connect.yourbarmate.com/api
Changelog

Products

Manage your product catalog in YourBarMate.

Status

The state of a product is indicated by the status field:

  • "ACTIVE": The product is available for customers to order.
  • "INACTIVE": The product is permanently unavailable for customers to order. If customers attempt to add this product to a delivery, they are informed that this product is no longer available and YourBarMate suggests to deactivate the product on their end.
  • "OUT_OF_STOCK": The product is available to order. However, the delivery date is unknown. You can use this status for procurement items. If a customer orders multiple items in one session and some of the items have this status, two separate orders will be created, one for all items with status ACTIVE and one for all items with this status.

Vessel

A vessel is the smallest countable unit delivered to customers. Vessels may be delivered individually or in bundles.

Products may define the size and unit of a vessel. This is required if a product can be delivered in fraction quantities and allows customers to do inventory more accurately.

Vessels may have an optional type to label the vessel as described in vessel and bundle types.

{
"vessel": {
"size": 7,
"unit": "dl",
"type": "BO"
}
}

If you need a mapping to your internal vessels, you can provide an id. The id is not visible to users, but will be included wherever the vessel is used, for example in the WebHook message.

{
"vessel": {
"id": "my-vessel-id",
"size": 1.5,
"unit": "kg",
"type": "CT"
}
}

Bundles

Bundles specify the type and quantity in which vessels are delivered. Bundle types are described in vessel and bundle types. Bundles with type "PX" may have a pallet_bundle property which specifies the bundle type and size delivered on the pallet.

{
"bundles": [
{
"type": "BX",
"size": 20
},
{
"type": "PX",
"size": 40,
"pallet_bundle": {
"type": "BX",
"size": 20
}
}
]
}

If you need a mapping to your internal bundles, you can provide an id. The id is not visible to users, but will be included wherever the bundle is used, for example in the WebHook message.

{
"bundles": [
{
"id": "my-bundle-id",
"type": "BX",
"size": 20
}
]
}

In case your system represents every bundle as a product with its own ID, you can specify id_override. When a new delivery is created with that bundle, the items.id will be the override value.

{
"bundles": [
{
"id_override": "my-item-id",
"type": "BX",
"size": 20
}
]
}

Pricing

By default, total price is calculated based on the price property of the product and the quantity of the order.

However products support more options for scaled pricing, please see the scaled pricing documentation page for details.

Delivery settings

Delivery settings can be added to each product if it differs from the default delivery settings. When specified on the product level, these will always override the values defined on the account level.

You can override these properties:

  • delivery_days
  • delivery_date_overrides
  • dates_with_no_delivery

Please see the account documentation page for details.