# Manova Developers - **Get started** - [Introduction](/): Everything you need to build on Manova, the AI sales and support assistant for online shops. - [Quickstart](/quickstart): Put the assistant on your site, then make your first API call. About five minutes. - [Authentication](/authentication): Where each key comes from, how to send it, and how to keep it safe. - **Website widget** - [Install the widget](/widget/install): One script tag adds the assistant to any website, with optional attributes for position, look and behaviour. - [JavaScript API](/widget/javascript-api): Open, close and reset the widget from your own buttons, and react when visitors open it. - **Store integration** - [Store integration](/store/overview): Give the assistant your live catalog and let customers track orders in the chat. - [Product sync](/store/product-sync): Connect the store, send the whole catalog, then keep it current with small updates. - [Order lookup](/store/order-lookup): The signed request Manova sends your store when a customer asks where their order is. - [Custom CMS guide](/store/custom-cms): Connect a shop built on your own platform, from key to go-live, with a complete PHP example. - **Chat API** - [Chat API](/chat-api/overview): Send messages to Manova's AI models from your own code and read your conversations. - [Streaming replies](/chat-api/streaming): The server-sent events of POST /chat/messages, and how to read them in your language. - **Reference** - [Errors](/errors): Every error has the same JSON shape, a stable code and a matching HTTP status. - [Rate limits](/rate-limits): How many requests each API accepts, and the headers that tell you where you stand. - API reference - [API reference](/api-reference): Every public endpoint, with its parameters, responses and a playground to try it. - Store - [Get the store connection](/api-reference/store/get-store): The connection as Manova sees it: the assistant's widget key, whether it is active, product counts and the last full sync. A good check that the key works. - [Connect the store](/api-reference/store/connect-store): Tells Manova where the shop is (`siteUrl`) and where to send order lookups (`apiUrl`, on the same domain; Manova calls `{apiUrl}/order`). The shop's domain is added to the assistant's allowed domains. Connecting a different shop with the same key deletes the previous shop's products. Guide: https://docs.manova.ir/store/product-sync - [Start or finish a full sync](/api-reference/store/sync-store): `start` begins a full sync under your `syncId`; send the products with the same `syncId`, then `finish`, which removes every product the sync did not send. A newer `start` replaces the running sync; calls with the older `syncId` then get `409`. - [Send products](/api-reference/store/send-products): Up to 100 products per call, plus up to 500 ids in `deleted`. With `syncId` they are part of a full sync; without it they are an incremental update. Each product replaces the stored one, so send every field you have. `id`, `name` and `url` (on the shop's domain) are required for a product to be stored; `"visible": false` removes it. Field guide: https://docs.manova.ir/store/product-sync#product-fields - Chat - [Send a message](/api-reference/chat/send-message): Sends a message and streams the reply as server-sent events (`text/event-stream`): `message.started`, `message.delta`..., then one of `message.completed` / `message.aborted` / `message.failed`, and `usage.updated`. Errors before the stream starts are JSON. `clientRequestId` must equal the `Idempotency-Key` header. Retrying an id whose reply has ended replays its final events without charging again. Events: https://docs.manova.ir/chat-api/streaming - [List conversations](/api-reference/chat/list-conversations): Your conversations, pinned first, then newest first. Pass `nextCursor` back as `cursor` for the next page. - [Get a conversation](/api-reference/chat/get-conversation): One conversation with its messages, oldest first. - [Get credit usage](/api-reference/chat/get-usage): Credits of the current period. `remainingCredits` is what new replies can use. - [Changelog](/changelog): Changes to Manova's public APIs and these docs.