Building your app

Manifest

Every app emits a manifest.json describing its capabilities:

{
  "moduleId": "warehouse",
  "displayName": "Warehouse Manager",
  "version": "1.0.0",
  "category": "logistics",
  "integrationType": "embedded",
  "description": "...",
  "scopes": [
    { "key": "education.students.read",  "required": true,  "reason": "to list student rosters" },
    { "key": "education.students.write", "required": false, "reason": "to record results" }
  ]
}

External apps add external block; notification apps add notification block; payment apps add payment block (see above). Embedded apps that extend the student profile add a studentProfile block (see Extending the student profile). An app a complex may install, managed, in its schools — or that a complex's install places in its schools — adds a hierarchy block (see A complex installs your app in its schools and A complex's install covers its schools).

Manifests are generated automatically from the partner-portal form fields — you don't write them by hand except in advanced cases.


View the whole guide on one page · ↧ Raw Markdown