Developer documentation
Sokisoko is a self-hosted, API-first B2B commerce platform. Everything the admin console, the storefront and the vendor portal do goes through one HTTP API described by a single OpenAPI 3.1 contract — the same API you integrate against. These pages cover what you need to connect a system to a Sokisoko store, or to run the platform yourself.
Integrating with a store
| Page | Use it when |
|---|---|
| Authentication | You need a token: API keys for server-to-server work, or the staff, buyer and vendor sessions the apps use. Also how the API knows which store a call is for. |
| Webhooks | You want to be told when something happens — an order placed, a quote accepted, an invoice paid — and verify the signature. |
| ERP and accounting sync | You run an ERP or accounting system that should receive orders and invoices, or feed stock and master data in. |
| Punchout and EDI | Your buyer uses a procurement system (Ariba, Coupa, SAP) and wants cXML punchout or X12 purchase orders. |
| Partner data import | A supplier or a system should push product or record data straight in, with the same validation as a spreadsheet import. |
| AI agents and MCP | An AI agent should act for a buyer at a store, with OAuth consent and a Model Context Protocol server. |
| API reference | Every endpoint, request and response — generated from the contract. |
Running the platform
| Page | Use it when |
|---|---|
| Self-hosting | You are standing up the stack: containers, first login, health checks, what production refuses to start without. |
| Configuration | You need the meaning and default of an environment variable. |
Conventions
Responses are JSON. Errors carry { "code": "...", "message": "..." } with a matching HTTP status and never leak internals. Money is a decimal string ("4309.0000"), never a float. Customer-facing documents are addressed by a public_id UUID; integer ids are internal. Timestamps are RFC 3339 in UTC.
Contributing to the codebase itself is documented in the repository under docs/dev/.