R2 Connect API
Catalog
Everything the business sells: rooms, dishes, products and experiences, with their base price.
GET/itemsrequires read:items
In R2 everything sellable is a catalog item, whatever the vertical. What tells a room from a dish is its category and product type, not a separate table.
Fields#
| Field | Type | Description |
|---|---|---|
| name · description | string | Item name and description. |
| sku | string | The business’s internal code, if defined. |
| category_id · category_name | string | Category it belongs to. |
| product_type | string | Nature of the item: room, dish, product, tour, among others. |
| base_price | number | List price, before dynamic pricing rules. |
| currency | string | Business currency. |
| status | string | Whether the item is active. |
Base price is not always the charged price
R2 applies pricing rules that depend on date, season, channel or rate plan. To know what was actually charged, read the order line’s unit_price, not the catalog’s base_price.
Example#
json
{
"data": [
{
"id": "c31ka9df02mz",
"slug": "lodge-104",
"name": "Lodge 104",
"description": "Cabaña con vista al mar, cama king.",
"sku": "LDG-104",
"category_id": "cat_8fk2",
"category_name": "Lodge",
"product_type": "room",
"base_price": 1800,
"currency": "MXN",
"status": "active"
}
],
"pagination": { "cursor": null, "has_more": false }
}