> ## Documentation Index
> Fetch the complete documentation index at: https://api.basedock.us/llms.txt
> Use this file to discover all available pages before exploring further.

# Base.com Shops API: Connect Your E-Commerce Platform

> Build a Shops API integration so Base.com can call your server to sync orders, products, and stock — no inbound credentials required.

The Shops API is intended for e-commerce platform operators — not individual stores — who want to offer their clients an official Base.com integration. Unlike the main Base API where you call Base, here **Base.com calls a file hosted on your server**, giving you full control over the data your platform exposes.

## How it works

<Steps>
  <Step title="Build a publicly reachable script on your server">
    Create an endpoint (PHP or any language) that accepts POST requests. Base.com sends two key parameters with every call:

    * `action` — the name of the function being requested
    * `bl_pass` — a communication key generated in the Base.com panel, unique per connected store

    Your script inspects `action` and returns the appropriate response.
  </Step>

  <Step title="Communication is secured by the bl_pass key only">
    Base.com never sends or requires any passwords or direct database access. Communication is secured exclusively by the randomly generated `bl_pass` key configured in the Base panel.
  </Step>

  <Step title="Return results as UTF-8 JSON">
    Every response your script returns must be valid UTF-8 encoded JSON. Base.com parses this response to sync orders, products, prices, and inventory with your platform.
  </Step>
</Steps>

## Required methods

Without the following two methods, your integration cannot be activated in the Base panel:

* **`SupportedMethods`** — returns the list of functions your integration file supports. Base uses this to know what operations it can call.
* **`FileVersion`** — returns the current version string of your integration file. Used for update tracking and verification.

## Recommended implementation order

Build out your integration progressively in this sequence to ensure each layer is working before moving to the next:

1. **`SupportedMethods`, `FileVersion`** — the baseline required for verification and activation.
2. **`ProductsCategories`, `ProductsList`, `ProductsData`** — reading the product catalog.
3. **`ProductsPrices`, `ProductsQuantity`** — prices and stock availability.
4. **`OrdersGet`, `StatusesList`, `DeliveryMethodsList`, `PaymentMethodsList`** — reading orders and the reference lists that describe them.
5. **`OrderAdd`, `OrderUpdate`** — writing orders created in Base back into your platform.
6. **Optionally:** `ProductAdd`, `CategoryAdd`, `ProductsQuantityUpdate`, `ProductsPriceUpdate` — for full two-way catalog management from Base.

Full parameter and response details for every method are available in the [Shops API documentation](https://developers.baselinker.com/shops_api/).

## Pagination

If a method — typically `ProductsList`, `ProductsQuantity`, or `ProductsPrices` — can return large volumes of data, include a `pages` field in your response indicating the total number of pages available. Base.com will then automatically request pages 2 through N by passing a `page` parameter in subsequent calls.

<Note>
  If you plan to offer this integration as part of a partner program for a broad set of clients, we recommend reviewing the implementation with the Base implementation team before going live. They will verify the completeness and performance of your integration file.
</Note>
