Storyous Public APIs
  1. Menu API
Storyous Public APIs
  • Introduction
  • Merchants API
    • Get merchant and all its places
  • Menu API
    • Get a menu tree
      GET
    • Get time-based menu
      GET
    • Get Remaining amounts of time-based menu
      GET
  • Bills API
    • Get list of payment bills
    • Get detail of a payment bill
  • Delivery API
    • Create an order through delivery API
    • Get status of delivery order
  • Deskview API
    • Get list of desks
    • Get list of sections
    • Get desk view of a place
  • Features API
    • Get list of merchants/places with a feature
  • Hotel accounts integration API
    • Provide list of accounts
    • Write consumed items to hotel account
  • Stocks API
    • Get list of stocks
    • Get list of items
    • Get list of stock ups
    • Get detail of stock up
    • Create new stock up
    • Modify stock up
    • Delete stock up
    • Get list of stock takings
    • Get detail of stock taking
    • Create new stock taking
    • Modify stock taking
    • Delete stock taking
    • Get suppliers
  • Loyalty API
    • Introduction
    • Get benefit offer
    • Report offer validation error
    • Report benefit usage
    • Get loyalty benefit usages
    • Mark benefit usages as synchronized
  • DataSync
    • Webhook receiving endpoint
      • Receive new or updated records
    • Data domains
      • Stock management
        • Stocks domain
        • StockItemCategories domain
        • StockItems domain
        • StockMovements domain
      • Sales and costs
        • Bills domain
        • BillCosts domain
        • TerminalTransactions domain
        • PaymentTypes domain
        • Loyalty domain
      • Desks
        • DeskSections domain
        • Desks domain
      • Menu
        • ItemCategories domain
        • Items domain
        • PlaceITems domain
      • Merchants
        • Merchants domain
        • Places domain
        • Persons domain
  • Schemas
    • Schemas
      • Loyalty api
        • BalanceBenefitOfferRequest
        • ThirdPartyLoyaltyOfferRequest
        • LoyaltyOfferValidationError
        • LoyaltyBenefitUsagesPayload
        • BenefitInput
        • PaidItem
        • Applied Benefits
        • PaymentByBalance
        • UsedBalance
        • LoyaltyOfferResponse
        • MenuProductDefinition
        • UsedGeneralDiscount
      • Desk
      • Section
  1. Menu API

Get a menu tree

GET
https://api.storyous.com/menu/{merchantId}
Endpoint that allows to read all levels of a menu.
The menu provide ETag header in response which can (and should) be used for the following requests in the If-None-Match header. When the menu hasn't been modified, 304 http status with no content is responded.
There will be a rate-limit mechanism penalising requests without If-None-Match header in the future.
Recomendation: Use placeId and integrationId query parameters to get already filtered tree of products and categories relevant for the place and the integration.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Path Params

Query Params

Responses

🟢200Success
application/json
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET 'https://api.storyous.com/menu/5837801c78c5400e00e57dc2?placeId=&integrationId='\''customdelivery'\''&categoryId=null&depth=-1&includeRemoved='\''false'\''' \
--header 'Authorization: Bearer <token>'
Response Response Example
{
  "menuId": "merchantId1",
  "items": [
    {
      "categoryId": "a67896",
      "name": "Main courses",
      "posName": "Main courses",
      "color": "#rrggbb",
      "icon": "course",
      "items": []
    },
    {
      "productId": "p:3c2RnNzAw",
      "decodedId": 3,
      "type": "default",
      "name": "Cucumber",
      "marketingName": null,
      "ean": null,
      "measure": "pcs",
      "isPriceVariable": false,
      "description": null,
      "imageUrl": null,
      "labels": [],
      "placeValues": {
        "priceLevels": {
          "default": {
            "price": 100
          }
        },
        "integrationData": [
          {
            "integrationId": "externalPos",
            "enabled": true,
            "externalId": "6216278311079"
          }
        ],
        "vatRate": 0.15,
        "vatId": 2,
        "takeawayVatRate": null,
        "takeawayVatId": null,
        "showInPos": true,
        "printerIds": []
      }
    },
    {
      "productId": "p:pamY4YThv",
      "decodedId": 25,
      "type": "default",
      "name": "Ham and eggs",
      "marketingName": "Delicious ham and eggs",
      "ean": null,
      "measure": "pcs",
      "variablePrice": true,
      "imageUrl": null,
      "labels": [
        "food"
      ],
      "placesValues": {
        "placeId1": {
          "isPriceVariable": true,
          "priceLevels": {
            "null": {
              "price": 15
            },
            "gardenLevel": {
              "price": 12
            }
          },
          "vatRate": 0.15,
          "showInPos": true,
          "printerIds": [],
          "additionCategoryIds": [
            "5"
          ],
          "_removed": false
        }
      },
      "placeValues": {
        "placeId": "placeId1",
        "isPriceVariable": true,
        "priceLevels": {
          "null": {
            "price": 15
          },
          "gardenLevel": {
            "price": 12
          }
        },
        "vatRate": 0.15,
        "showInPos": true,
        "printerIds": [
          "584c296e26d5560e00bca240",
          "587cbb21923d5f0e00a23048"
        ],
        "printAttributes": [
          {
            "printerId": "584c296e26d5560e00bca240",
            "attributes": [
              "highlighted"
            ]
          }
        ],
        "additionCategoryIds": [
          "5"
        ],
        "_removed": false
      },
      "_removed": false
    }
  ],
  "additionCategories": [
    {
      "additionCategoryId": "5",
      "placeId": "5dea5ec89e01eb0015219139",
      "title": "Pizza extras",
      "min": null,
      "max": 10,
      "additions": [
        {
          "additionId": "39",
          "productId": "p:8cWNoMWpw",
          "decodedId": 8,
          "type": "default",
          "title": "Olivy",
          "vatRate": 0.21,
          "vatId": 1,
          "takeawayVatRate": 0.15,
          "takeawayVatId": 2,
          "measure": "pcs",
          "additionPrice": 0,
          "subtractionPrice": 0
        },
        {
          "additionId": "40",
          "productId": "p:8cWNoMWpw",
          "decodedId": 8,
          "type": "default",
          "title": "Vejce",
          "vatRate": 0.21,
          "vatId": 1,
          "takeawayVatRate": null,
          "takeawayVatId": null,
          "measure": "pcs",
          "additionPrice": 0,
          "subtractionPrice": 0
        }
      ]
    }
  ],
  "_version": 1,
  "_lastModifiedAt": "2016-06-19T10:32:01Z"
}
Previous
Menu API
Next
Get time-based menu
Built with