Menpub
Menpub connects restaurant menus from point-of-sale systems to websites through a standardized menu API. Restaurant owners, designers, and website builders can use existing menu data without manually copying items and prices.
Anysoft built the Rails application, menu management workflow, integration infrastructure, and website-builder handoff. Each client can manage multiple menus with separate connections, private design briefs, and reference images. A menu explorer lets builders preview imported content, select sections, and generate tailored website-building instructions.
Manage menu connections
Import once, serve a standardized menu
Square catalog import, OAuth, saved menu snapshots, and catalog-change webhook handling are implemented. Fresh snapshots answer menu requests without another provider call. Temporary provider failures can use the last usable snapshot; authentication or permanent failures require recovery.
A website or menu explorer requests menu data from Menpub. If no usable snapshot exists or it has expired, Menpub requests Square catalog data. Square returns the catalog; Menpub standardizes and saves it and returns menu JSON to the website or explorer. A fresh snapshot bypasses Square. Temporary provider failures can serve the last usable snapshot with a retry delay; authentication or permanent failures require recovery. Concurrent refresh requests share one fetch.
- Website / explorer → Menpub: Menu request.
- Menpub → Square: Catalog request.
- Square → Menpub: Catalog response.
- Menpub → Website / explorer: Menu JSON.
React to changes without fetching in the webhook
Verified catalog-change events expire matching snapshots. Duplicate or older events are handled, and unknown merchants or unsupported events are acknowledged without triggering an import. The next menu request refreshes the snapshot.
Square sends Menpub a catalog-change notification identifying the merchant and catalog update. Menpub verifies the signature and handles duplicate or older events. Matching menu snapshots expire. Unknown merchants and unsupported events are acknowledged without importing. This webhook does not fetch the catalog: a subsequent menu request refreshes it.
- Square → Menpub: Webhook.
- Menpub → Saved menus: Expire snapshot.
Give builders the right menu and design context
The explorer generates instructions for selected menu sections and available design context. The user copies these into their chosen website builder. The resulting site reads menu JSON from Menpub.
Menpub generates instructions for a user-selected set of menu sections, including the menu API and available design context. The user copies the instructions and supplies them to a website builder manually. The resulting website requests menu data from Menpub. There is no automatic API connection to a named AI builder.
- Menpub → User: Instructions.
- User → Website builder: Manual handoff.
- Website builder → Website: Build website.
- Website → Menpub: Menu request.
Let’s discuss your project.
Tell us what you need to build, maintain, or automate.