m2-market/contracts/deeplink.md

817 B

M2 Store deep-link contract v1

Canonical listing detail URI:

m2store://listing/<listing_id>?source=&proposal_id=&q=

Examples:

m2store://listing/lst_competitor-scan?source=scout&proposal_id=prop_01j2abc
m2store://listing/lst_mm-pdf-report?source=hermes&q=pdf%20report

Rules:

  • Path segment is listing, not solution.
  • <listing_id> uses the lst_ prefix from contracts/ids.md.
  • Allowed query parameters are exactly source, proposal_id, and q.
  • The URI is navigate-only. It never installs, purchases, grants licenses, or mutates state.
  • Unknown listing IDs open Store search/detail error UI without leaking tenant-forbidden records.
  • Store may keep an internal route such as /solution/<listing_id>, but the external protocol stays m2store://listing/<listing_id>.