Federation and interfaces

Every site is a node, and a node’s identity is its address. Nodes share no database; they exchange JSON “envelopes” over HTTP. Anyone may run a node of their own.

Discovery

Each kind of node publishes a discovery document at a fixed address stating what it is, which languages it supports and where its interfaces are:

NodeAddress
Dish library/.well-known/canyin-dish-hub
Restaurant node/.well-known/canyin-venue
Supply site/.well-known/canyin-supply-hub
Recommended dish library/.well-known/caipin-library
Discovery documents

Discovery documents need pretty permalinks; the interfaces themselves work without them.

Public interfaces

InterfaceContent
sxck/v1/dishesDish search: keyword, category, cuisine, paging
sxck/v1/dish/{code}One dish’s envelope with its recipe; JSON-LD available
sxck/v1/ingredientsThe ingredient library
sxck/v1/categoriesDish categories
sxgx/v1/supplySupply catalogue search: kind, category, keyword, paging
sxcy/v1/menuA restaurant’s multilingual menu
Main read-only interfaces (WordPress REST)

Writing and review

  • Contributions to a dish library or supply site enter a review queue and are accepted or rejected by that site’s operator; open contribution can be switched off.
  • A restaurant’s supply needs are not published by default; when published they carry an access token.
  • A restaurant’s management interfaces (restaurants, dishes, menus, tables, orders) require application-password authentication, and members can act only on their own restaurants.

Data namespace

In JSON-LD output, Reasoning Dining’s own vocabulary uses the namespace https://dishes.reresearch.org/canyin/ns#.

This page is a summary. Full field and interface documentation ships with each plugin. [address of the technical manual]

AI Assistant