# Jane Developer Docs > Jane's developer docs cover four use cases: (1) build a live web or mobile ecommerce menu with the DM SDK (`@iheartjane/dm-sdk`), Jane's embedded cart, and optionally the Roots Carts API (your own cart) and External User API (Cognito sign-in); (2) build back-of-house tools and advanced menu features with the Roots Store Operations API; (3) react to cart and order changes with webhooks; (4) integrate as a partner through Jane's partner APIs. The DM SDK and DM API are for live menus: anything that actively sells products must get its product and review data from them, not from the Roots Menu API. For menus, build with the SDK, not by calling the DM REST API directly — the SDK owns request shaping, response massaging, device-ID/attribution plumbing, and pagination, all of which you would otherwise have to reimplement by hand against the raw endpoints. ## Use cases - [Build an ecommerce menu](/docs/overview): The DM SDK, embedded cart, and when to add the Carts and External User APIs. - [Build back-of-house tools & advanced menu features](/roots-api-reference/?api=store-operations-api): Roots Store Operations, Menu, Carts, and External User APIs: stores, menu products, custom labels, specials, server-side carts, signed-in shoppers, and orders. - [React to cart changes](/docs/use-cases/webhooks): Order-status and abandoned-cart webhooks, plus embedded cart callbacks and analytics events in the browser. - [Integrate as a Jane partner](/roots-api-reference/?api=feed-partner-api): Feed Partner and Menu Feed Partner APIs. ## Ecommerce menu: start here - [Get Started with Jane DM](/docs/quick-start): Install the SDK, initialize it, fetch your first placement, and track an impression, in under 10 minutes. - [Personalized menus built with Jane](/docs/overview): What the SDK does, which Roots APIs you might add, grids vs. rows, and what "recommended" means. - [Setup & Initialization](/docs/reference/setup): Initialize `JaneDM`, the JDID (Jane Device ID), and the separate Roots API credential. ## Build with the SDK (guides) - [Build a headless menu (client-side)](/docs/use-cases/headless-menu): The full end-to-end path: menu, product pages, cart, and checkout. - [Build a headless menu (server-side)](/docs/use-cases/headless-menu-ssr): Same path, SSR patterns and JDID persistence. - [Add Jane recommendations to an existing menu](/docs/use-cases/add-recommendations): Drop Jane rows or smart sort into a menu you already have. - [Show featured rows](/docs/use-cases/featured-rows): Fetch the operator's configured row lineup and render it. - [Show special offers](/docs/use-cases/special-offers): Surface active special offers via the SDK. - [Page through results](/docs/use-cases/pagination): `hasNextPage()` / `nextPage()` for grids. - [Embed cart & checkout](/docs/use-cases/embed-checkout): Hand off the cart to Jane's embedded checkout. - [Use your own checkout](/docs/use-cases/external-checkout): Report conversions when you run external/POS checkout. - [Handle webhooks](/docs/use-cases/webhooks): React to order-status and abandoned-cart events. - [Migrate from Algolia](/docs/use-cases/migrate-from-algolia): Replace InstantSearch queries with `fetchRecommendedSort` and related calls. - [Migrate to the Headless Cart Drawer](/docs/use-cases/headless-cart-drawer-migration): Move an existing cart UI onto the SDK's cart drawer. ## Reference - [Placements](/docs/reference/placements): Every placement type (Recommended Sort, Recommended Row, PDP Row, Cart Topper Row, Top of Menu Row) and their params. - [Product Object & Detail Pages](/docs/reference/product-object): Reading `product.attributes` and building PDPs. - [Event Tracking](/docs/reference/event-tracking): The `product.click()` / `product.impress()` contract, required on every product the SDK returns. - [Special Offers](/docs/reference/special-offers): Special-offer data shape and rules. - [Cart & Checkout](/docs/reference/checkout): Cart operations and external-checkout fields. - [Webhooks & Post-Purchase](/docs/reference/webhooks): Webhook payloads and post-purchase events. - [Pagination](/docs/reference/pagination): Pagination shape differences across endpoints (`nextPage()` vs. `page` param). - [Product Reviews](/docs/reference/reviews): Fetching and paging product reviews. - [DM SDK Reference](/dm-sdk-reference): Generated TypeDoc reference for every exported class, method, and type in `@iheartjane/dm-sdk`. ## Full implementation walkthroughs - [Ecommerce Implementation: Client Side](/docs/ecommerce/client-side-implementation) - [Ecommerce Implementation: Server Side](/docs/ecommerce/ssr-implementation) - [Ecommerce Implementation: Jane Roots](/docs/ecommerce/roots-integration) ## HTTP API reference The Roots APIs are the primary interface for back-of-house tools, partner integrations, and the optional Carts and External User APIs in a menu build. The DM API is the last resort: only call it directly if the SDK genuinely has no method for what you need — it requires you to hand-roll auth, request shaping, response parsing, and attribution that the SDK already does for you. - [Roots APIs reference (Scalar)](/roots-api-reference): Interactive docs for the Carts, External User, Menu, Store Operations, Product Catalog, and partner APIs. - [DM API reference (Scalar)](/dm-api-reference): Interactive docs for the DM Menu and Events endpoints the SDK wraps: the live-menu source of product and review data. - [Flat Markdown API index](/llms-api-reference.md): Fetchable Markdown mirrors of every OpenAPI spec above, one file per API, for LLM consumption.