# Documentation - [Introduction](/): PULSE measures whether your product data can answer what shoppers ask, ranks the repairs worth making, and proves the fix worked. Start with one export. - **Start here** - [Quick start](/quickstart): From nothing to a ranked catalogue in about ten lines. - **Understand it** - Concepts - [What the audit measures](/concepts/what-the-audit-measures): Why the emptiest column is usually the wrong one to fix, what a bit of decision information buys, and the three cases where the ranking is wrong. - [How inference works](/concepts/how-it-works): Signals in, personas out, your catalogue ranked against them. - [Signals](/concepts/signals): What you send, what is captured for you, and what is deliberately not a signal. - [Sessions](/concepts/sessions): How long a session lives, what identifies it, and how to reset one. - **Put it in your stack** - Frameworks - [Overview](/frameworks): One core, no framework coupling. Three need an adapter pattern, three need nothing. - [React and Next.js](/frameworks/react): Create the client once, share it, and keep init() in the browser. - [Vue and Nuxt](/frameworks/vue): A plugin, provided to the app, guarded against SSR. - [Angular](/frameworks/angular): An injectable service, initialised once the browser is running. - [Astro](/frameworks/astro): Islands use the React or Vue guide. A plain page is one script tag. - [Alpine](/frameworks/alpine): No build step. The global, used straight from HTML attributes. - [Laravel](/frameworks/laravel): A Blade partial for the browser half. Secrets stay on the server. - Platforms - [Overview](/platforms): What works on a hosted storefront today, and what is still a script tag rather than an app. - [Shopify](/platforms/shopify): One script tag in theme.liquid, and signals built from Liquid objects. - [WordPress and WooCommerce](/platforms/wordpress): wp_enqueue_script in a small plugin, with signals from the WooCommerce conditionals. - [Magento 2](/platforms/magento): Layout XML and a template block, which is how Magento adds a script. - Backend - [Overview](/backend): PULSE from a server, in any language that can send JSON over HTTPS. - [Python](/backend/python): requests or httpx, plus where the call belongs in Django and FastAPI. - [Node.js](/backend/nodejs): The SDK runs on the server too, and fetch is there if you would rather not install it. - [PHP](/backend/php): cURL from the standard library, and Guzzle where a framework already ships it. - [C# and .NET](/backend/csharp): A typed HttpClient, registered once, injected where it is needed. - [Java](/backend/java): java.net.http, in the JDK since 11. No dependencies beyond a JSON library. - [Go](/backend/go): net/http and encoding/json. Nothing to install. - [Rust](/backend/rust): reqwest and serde, with the client built once and cloned. - [Ruby](/backend/ruby): net/http from the standard library. Nothing to add to the Gemfile. - **Reference** - API reference - [What PULSE offers](/api): Every API sold as a product, which calls count toward usage, and where the SDK stops. - [Versioning](/api/versioning): What is versioned, what is not, and what happens when something changes. - v1 - [Authentication](/api/v1): One header, one base URL, and which credential opens what. - [Send signals](/api/v1/track): POST /track, the call everything else depends on. - [Read the session](/api/v1/session): POST /session, which returns the personas inferred so far. - [Rank products](/api/v1/ranking): /catalog/ranked, /search, /rerank and /suggest. - [Record exposure](/api/v1/exposure): POST /exposure, which is what makes ranking quality measurable. - [Audit a catalogue](/api/v1/audit): POST /catalog/audit and /catalog/verify, which grade catalogue data rather than rank it. - [Errors](/api/v1/errors): The real response shape, and what each code means. - [SDK reference](/sdk): Every method on PulseClient, the config it takes, and the functions the package exports beside it. - [MCP for agents](/mcp): Connect the PULSE documentation to Claude, Cursor or any MCP client, so an agent can search and read every page instead of guessing. - **Ship it** - [Going live](/going-live): What to check before you ship PULSE, what to watch in the first week, and the claims we will not make for you. - [Documentation changelog](/changelog): Every change to these pages, newest first, read from git at build time rather than written by hand. # Tài liệu - [Giới thiệu](/vi): PULSE đo xem dữ liệu sản phẩm của bạn có trả lời được điều người mua đang hỏi hay không, xếp hạng những chỗ đáng sửa, và chứng minh bản sửa có tác dụng. - **Bắt đầu** - [Quick start](/vi/quickstart): From nothing to a ranked catalogue in about ten lines. - **Hiểu cách hoạt động** - Khái niệm - [What the audit measures](/vi/concepts/what-the-audit-measures): Why the emptiest column is usually the wrong one to fix, what a bit of decision information buys, and the three cases where the ranking is wrong. - [How inference works](/vi/concepts/how-it-works): Signals in, personas out, your catalogue ranked against them. - [Signals](/vi/concepts/signals): What you send, what is captured for you, and what is deliberately not a signal. - [Sessions](/vi/concepts/sessions): How long a session lives, what identifies it, and how to reset one. - **Đưa vào hệ thống của bạn** - Framework - [Overview](/vi/frameworks): One core, no framework coupling. Three need an adapter pattern, three need nothing. - [React and Next.js](/vi/frameworks/react): Create the client once, share it, and keep init() in the browser. - [Vue and Nuxt](/vi/frameworks/vue): A plugin, provided to the app, guarded against SSR. - [Angular](/vi/frameworks/angular): An injectable service, initialised once the browser is running. - [Astro](/vi/frameworks/astro): Islands use the React or Vue guide. A plain page is one script tag. - [Alpine](/vi/frameworks/alpine): No build step. The global, used straight from HTML attributes. - [Laravel](/vi/frameworks/laravel): A Blade partial for the browser half. Secrets stay on the server. - Nền tảng thương mại - [Overview](/vi/platforms): What works on a hosted storefront today, and what is still a script tag rather than an app. - [Shopify](/vi/platforms/shopify): One script tag in theme.liquid, and signals built from Liquid objects. - [WordPress and WooCommerce](/vi/platforms/wordpress): wp_enqueue_script in a small plugin, with signals from the WooCommerce conditionals. - [Magento 2](/vi/platforms/magento): Layout XML and a template block, which is how Magento adds a script. - Máy chủ - [Overview](/vi/backend): PULSE from a server, in any language that can send JSON over HTTPS. - [Python](/vi/backend/python): requests or httpx, plus where the call belongs in Django and FastAPI. - [Node.js](/vi/backend/nodejs): The SDK runs on the server too, and fetch is there if you would rather not install it. - [PHP](/vi/backend/php): cURL from the standard library, and Guzzle where a framework already ships it. - [C# and .NET](/vi/backend/csharp): A typed HttpClient, registered once, injected where it is needed. - [Java](/vi/backend/java): java.net.http, in the JDK since 11. No dependencies beyond a JSON library. - [Go](/vi/backend/go): net/http and encoding/json. Nothing to install. - [Rust](/vi/backend/rust): reqwest and serde, with the client built once and cloned. - [Ruby](/vi/backend/ruby): net/http from the standard library. Nothing to add to the Gemfile. - **Tra cứu** - Tài liệu API - [What PULSE offers](/vi/api): Every API sold as a product, which calls count toward usage, and where the SDK stops. - [Versioning](/vi/api/versioning): What is versioned, what is not, and what happens when something changes. - v1 - [Authentication](/vi/api/v1): One header, one base URL, and which credential opens what. - [Send signals](/vi/api/v1/track): POST /track, the call everything else depends on. - [Read the session](/vi/api/v1/session): POST /session, which returns the personas inferred so far. - [Rank products](/vi/api/v1/ranking): /catalog/ranked, /search, /rerank and /suggest. - [Record exposure](/vi/api/v1/exposure): POST /exposure, which is what makes ranking quality measurable. - [Audit a catalogue](/vi/api/v1/audit): POST /catalog/audit and /catalog/verify, which grade catalogue data rather than rank it. - [Errors](/vi/api/v1/errors): The real response shape, and what each code means. - [SDK reference](/vi/sdk): Every method on PulseClient, the config it takes, and the functions the package exports beside it. - [MCP cho tác tử](/vi/mcp): Kết nối tài liệu PULSE với Claude, Cursor hoặc bất kỳ MCP client nào, để tác tử tìm và đọc đúng trang thay vì đoán. - **Đưa lên production** - [Going live](/vi/going-live): What to check before you ship PULSE, what to watch in the first week, and the claims we will not make for you. - [Lịch sử tài liệu](/vi/changelog): Mọi thay đổi trên các trang này, mới nhất trước, đọc trực tiếp từ git khi dựng site chứ không viết tay.