Glossary

Who this is for

You are reading Pionia Shop docs and hit an unfamiliar term — switch, envelope, Porm. Use this page while following the tutorial.

Framework terms

TermMeaning
ActionMethod on a service ("action": "list"listAction)
AppRealmBooted application container (app() / realm())
EnvelopeJSON shape: returnCode, returnMessage, returnData
GenericServiceBase class with CRUD actions for one table
Moonlight{ service, action } dispatch on /api/v1/
PormFluent SQL (table(), filters, joins)
returnCodeBusiness result (0 = success); not the same as HTTP status
ServicePHP class with business logic
SwitchVersioned API entry (MainSwitch/api/v1/)

Pionia Shop names

NameMeaning
Pionia ShopCanonical example — online store + wallet
ada@pionia.shopSample customer
productCatalog service
customerAuth / profile service
orderCheckout service
walletStore credit service

Example request:

POST http://127.0.0.1:8000/api/v1/
{ "service": "product", "action": "list" }

Common mistakes

  • Confusing returnCode with HTTP status
  • Thinking each action is a separate URL — one POST path per version
  • Uppercase JSON keys — use lowercase service and action

What’s next

Moonlight overview

Full request flow.

Pionia Shop tutorial

Use the vocabulary hands-on.