---
title: "Connect Woocommerce Store"
method: POST
path: "/companies/{company_id}/connectors/woocommerce/stores"
tags: ["connectors"]
---

# Connect Woocommerce Store

`POST /companies/{company_id}/connectors/woocommerce/stores`

## Request

- Base URL: `https://app.zalster.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zalster.com/companies/{company_id}/connectors/woocommerce/stores`
- Auth: none declared

Connect a WooCommerce store (design 15.0 §3.2), once its REST index says it is
a WordPress site with WooCommerce (400 ``store-not-https``,
``invalid-store-url``, ``not-woocommerce``; 502 ``platform-unreachable``).

``approval``: the company's connection to the store waits (``pending``),
and ``url`` is the store's approval page, which comes back to the portal's
``return_to`` with ``connector=woocommerce``, ``shop`` and
``result=approved``. ``keys``: the store is read once with them (409
``keys-refused``) and the connection is made at once (``url`` null).

## Path parameters

- `company_id` string, uuid, required: Company id

## Request body

- WooCommerceStoreIn: A WooCommerce store to connect, over HTTPS: through its approval page (``approval``), or with a Read key made by hand (``keys``).
  - `store_url` string, required
  - `method` 'approval' | 'keys'
  - `consumer_key` string, nullable
  - `consumer_secret` string, nullable
  - `return_to` string, nullable

## Response `200`

Successful Response

- StoreConnectOut: A store being connected: its approval page (``url``; null for keys, which are read with at once) and the connection as it stands.
  - `url` string, nullable
  - `shop` ShopOut, required: A company's connection to one shop (design 15.0 §5). Never its credentials.
    - `id` string, uuid, required
    - `connector` string, required
    - `address` string, required
    - `name` string, nullable
    - `status` 'pending' | 'connected' | 'error' | 'disconnected', required
    - `status_reason` string, nullable
    - `method` 'oauth' | 'approval' | 'keys', required
    - `currency` string, nullable
    - `connected_at` string, date-time, nullable
    - `expires_at` string, date-time, nullable
    - `permissions` PermissionOut[]
      - `key` string, required
      - `label` string, required
      - `required` boolean, required
      - `granted` boolean, required
    - `missing` string[]
    - `sources` SourceRefOut[]
      - `id` string, uuid, required
      - `name` string, required
      - `kind` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zalster/apis/zalster-feed-processor.md) - [All operations](https://skmtc.dev/zalster/apis/zalster-feed-processor/llms.txt) - [OpenAPI document](https://skmtc.dev/zalster/apis/zalster-feed-processor/revisions/d0b9dc66ad36?raw)
