Connectors

Connectors sync your Pixee PIM catalog with e-commerce platforms, marketplaces, and headless commerce engines.

Supported platforms (15): Shopify, BigCommerce, Salesforce Commerce Cloud (SFCC), SAP Commerce, Wizishop, Cdiscount, Fnac, Sylius, Squarespace, Google Merchant Center, Mirakl, Medusa, Shopware 6, Saleor, Amazon SP-API.


Platform catalog

Before creating a connector, browse the static platform registry to discover a platform's id, required credentials, and field mapping.

List platforms

Returns all 15 supported platforms with their tier, auth type, and capabilities.

Query parameters

  • Name
    tier
    Type
    integer
    Description

    Filter by tier: 1 (high), 2 (medium), 3 (FR market), 4 (extra).

  • Name
    category
    Type
    string
    Description

    Filter by category: e-commerce, marketplace, or enterprise.

Request

GET
/connectors/platforms
curl "https://api.pixeepim.com/api/v1/connectors/platforms?tier=1" \
  -H "X-API-Key: {api_key}"

Response

[
  {
    "id": "shopify",
    "name": "Shopify",
    "tier": 1,
    "auth_type": "api_key",
    "capabilities": [
      "push_products", "pull_products", "push_stock", "pull_stock",
      "push_prices", "push_images", "push_categories", "receive_webhook"
    ],
    "description": "Plateforme e-commerce hébergée. Auth via Private App Access Token.",
    "logo_path": "/static/logos/shopify.svg",
    "webhook_path": "/api/v1/connectors/shopify/webhook",
    "is_marketplace": false,
    "category": "e-commerce"
  }
]

Get a platform

Returns the full definition of a single platform, including its config_schema (the credential fields required to create a connector for it).

Path parameters

  • Name
    platform_id
    Type
    string
    Description

    Platform identifier (e.g. shopify, amazon_sp_api, google_merchant_center).

Request

GET
/connectors/platforms/{platform_id}
curl https://api.pixeepim.com/api/v1/connectors/platforms/shopify \
  -H "X-API-Key: {api_key}"

Platform field map

Returns the default field mapping between Pixee PIM fields and the platform's own field names (e.g. title → variants[0].barcode for Shopify's EAN).

Path parameters

  • Name
    platform_id
    Type
    string
    Description

    Platform identifier.

Request

GET
/connectors/platforms/{platform_id}/field-map
curl https://api.pixeepim.com/api/v1/connectors/platforms/shopify/field-map \
  -H "X-API-Key: {api_key}"

Platform guide

Returns the platform's integration guide (setup steps, where to find API credentials).

Path parameters

  • Name
    platform_id
    Type
    string
    Description

    Platform identifier.

Query parameters

  • Name
    format
    Type
    string
    Description

    Response format, e.g. markdown.

Request

GET
/connectors/platforms/{platform_id}/guide
curl "https://api.pixeepim.com/api/v1/connectors/platforms/shopify/guide?format=markdown" \
  -H "X-API-Key: {api_key}"

Sync status (dashboard)

Returns an aggregated sync status for your active connectors — a compact feed suited to a dashboard widget.

Query parameters

  • Name
    limit
    Type
    integer
    Description

    Maximum number of connectors to return.

Request

GET
/connectors/sync-status
curl "https://api.pixeepim.com/api/v1/connectors/sync-status?limit=10" \
  -H "X-API-Key: {api_key}"

Response

[
  {
    "id": "550e8400-e29b-41d4-a716-000000000010",
    "platform_id": "shopify",
    "name": "My Shopify Store",
    "is_active": true,
    "status": "active",
    "last_sync_at": "2026-09-14T08:00:00Z",
    "last_job": {
      "job_type": "push_products",
      "status": "completed",
      "pushed": 1250,
      "errors": 0
    }
  }
]

/connectors

Connectors

List connectors

Returns all connectors configured on your account, as a plain array (not paginated).

Request

GET
/connectors/
curl https://api.pixeepim.com/api/v1/connectors/ \
  -H "X-API-Key: {api_key}"

Response

[
  {
    "id": "550e8400-e29b-41d4-a716-000000000010",
    "platform_id": "shopify",
    "name": "My Shopify Store",
    "description": "EU storefront",
    "is_active": true,
    "status": "active",
    "status_message": null,
    "last_tested_at": "2026-09-14T07:55:00Z",
    "last_sync_at": "2026-09-14T08:00:00Z",
    "created_at": "2026-01-15T00:00:00Z"
  }
]

Create a connector

Creates a connector instance for a platform. credentials follows the config_schema returned by Get a platform.

Body parameters

  • Name
    platform_id
    Type
    string
    Description

    Platform identifier (see List platforms).

  • Name
    name
    Type
    string
    Description

    Descriptive name for this connector instance.

  • Name
    description
    Type
    string
    Description

    Optional free-text description.

  • Name
    credentials
    Type
    object
    Description

    Platform-specific credentials (API key, shop domain, OAuth tokens, etc.). Stored Fernet-encrypted.

  • Name
    sync_options
    Type
    object
    Description

    Platform-specific sync options (default: {}).

Request

POST
/connectors/
curl -X POST https://api.pixeepim.com/api/v1/connectors/ \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "platform_id": "shopify",
    "name": "My Shopify Store",
    "credentials": {
      "shop_domain": "my-store.myshopify.com",
      "access_token": "shpat_..."
    }
  }'

Response

{
  "id": "550e8400-e29b-41d4-a716-000000000010",
  "platform_id": "shopify",
  "name": "My Shopify Store",
  "is_active": true,
  "status": "pending",
  "created_at": "2026-09-17T10:00:00Z"
}

Get a connector

Returns a specific connector and its current status.

Path parameters

  • Name
    connector_id
    Type
    string
    Description

    The connector ID.

Request

GET
/connectors/{connector_id}
curl https://api.pixeepim.com/api/v1/connectors/550e8400-e29b-41d4-a716-000000000010 \
  -H "X-API-Key: {api_key}"

Response

{
  "id": "550e8400-e29b-41d4-a716-000000000010",
  "platform_id": "shopify",
  "name": "My Shopify Store",
  "description": "EU storefront",
  "is_active": true,
  "status": "active",
  "status_message": null,
  "last_tested_at": "2026-09-14T07:55:00Z",
  "last_sync_at": "2026-09-14T08:00:00Z",
  "created_at": "2026-01-15T00:00:00Z"
}

Update a connector

Updates a connector's name, description, credentials, sync options, or active flag. All fields are optional — only supplied fields are changed.

Path parameters

  • Name
    connector_id
    Type
    string
    Description

    The connector ID.

Body parameters

  • Name
    name
    Type
    string
    Description

    Updated name.

  • Name
    description
    Type
    string
    Description

    Updated description.

  • Name
    credentials
    Type
    object
    Description

    Replaces the stored credentials object.

  • Name
    sync_options
    Type
    object
    Description

    Replaces the stored sync options object.

  • Name
    is_active
    Type
    boolean
    Description

    Enable or disable the connector.

Request

PATCH
/connectors/{connector_id}
curl -X PATCH https://api.pixeepim.com/api/v1/connectors/550e8400-e29b-41d4-a716-000000000010 \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"is_active": false}'

Delete a connector

Removes a connector. Past sync job history is retained.

Path parameters

  • Name
    connector_id
    Type
    string
    Description

    The connector ID.

Request

DELETE
/connectors/{connector_id}
curl -X DELETE https://api.pixeepim.com/api/v1/connectors/550e8400-e29b-41d4-a716-000000000010 \
  -H "X-API-Key: {api_key}"

Test a connector

Tests the connection to the platform (authentication, reachability). Does not sync any data.

Path parameters

  • Name
    connector_id
    Type
    string
    Description

    The connector ID.

Request

POST
/connectors/{connector_id}/test
curl -X POST https://api.pixeepim.com/api/v1/connectors/550e8400-e29b-41d4-a716-000000000010/test \
  -H "X-API-Key: {api_key}"

Response

{
  "success": true,
  "status": "ok",
  "message": "Connection successful"
}

Sync job history

Returns the recent sync job history for a connector.

Path parameters

  • Name
    connector_id
    Type
    string
    Description

    The connector ID.

Query parameters

  • Name
    limit
    Type
    integer
    Description

    Maximum number of jobs to return.

Request

GET
/connectors/{connector_id}/jobs
curl "https://api.pixeepim.com/api/v1/connectors/550e8400-e29b-41d4-a716-000000000010/jobs?limit=20" \
  -H "X-API-Key: {api_key}"

Response

[
  {
    "id": "550e8400-e29b-41d4-a716-000000000011",
    "job_type": "push_products",
    "status": "completed",
    "trigger": "manual",
    "pushed": 2,
    "pulled": 0,
    "updated": 1,
    "errors": 0,
    "skipped": 0
  }
]

Sync operations

Each sync direction is a separate endpoint. All four enqueue a Celery task on the connectors queue and return an acknowledgement immediately; track progress via Sync job history or Get a sync job status.

Push products

Pushes catalog data from Pixee PIM to the connected platform. Products are sent in chunks of 100.

Path parameters

  • Name
    connector_id
    Type
    string
    Description

    The connector ID.

Body parameters

  • Name
    product_ids
    Type
    array
    Description

    Optional list of product UUIDs to push. Pushes the entire catalog if omitted.

  • Name
    since_timestamp
    Type
    string
    Description

    Optional ISO 8601 datetime — pushes only products modified since this timestamp.

Request

POST
/connectors/{connector_id}/sync/push-products
curl -X POST https://api.pixeepim.com/api/v1/connectors/550e8400-e29b-41d4-a716-000000000010/sync/push-products \
  -H "X-API-Key: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": [
      "550e8400-e29b-41d4-a716-446655440000",
      "550e8400-e29b-41d4-a716-446655440001"
    ]
  }'

Response

{
  "success": true,
  "status": "processing",
  "message": "Push products queued"
}

Pull products

Pulls product data from the connected platform into Pixee PIM. Existing products are matched by external ID or EAN and updated; new products are created.

Path parameters

  • Name
    connector_id
    Type
    string
    Description

    The connector ID.

Body parameters

  • Name
    since_timestamp
    Type
    string
    Description

    Optional ISO 8601 datetime — pulls only items modified since this timestamp.

Request

POST
/connectors/{connector_id}/sync/pull-products
curl -X POST https://api.pixeepim.com/api/v1/connectors/550e8400-e29b-41d4-a716-000000000010/sync/pull-products \
  -H "X-API-Key: {api_key}"

Response

{
  "success": true,
  "status": "processing",
  "message": "Pull products queued"
}

Push stock

Pushes current stock levels from Pixee PIM to the connected platform. This is a lightweight operation — only stock quantities are transmitted.

Path parameters

  • Name
    connector_id
    Type
    string
    Description

    The connector ID.

Request

POST
/connectors/{connector_id}/sync/push-stock
curl -X POST https://api.pixeepim.com/api/v1/connectors/550e8400-e29b-41d4-a716-000000000010/sync/push-stock \
  -H "X-API-Key: {api_key}"

Response

{
  "success": true,
  "status": "processing",
  "message": "Push stock queued"
}

Push prices

Pushes pricing data to the connected platform. The connector uses the matching price list for the platform's channel if one is configured; otherwise it falls back to the product's base price.

Path parameters

  • Name
    connector_id
    Type
    string
    Description

    The connector ID.

Request

POST
/connectors/{connector_id}/sync/push-prices
curl -X POST https://api.pixeepim.com/api/v1/connectors/550e8400-e29b-41d4-a716-000000000010/sync/push-prices \
  -H "X-API-Key: {api_key}"

Response

{
  "success": true,
  "status": "processing",
  "message": "Push prices queued"
}

Get a sync job status

Returns the current status of a specific sync job triggered by one of the endpoints above.

Path parameters

  • Name
    connector_id
    Type
    string
    Description

    The connector ID.

  • Name
    job_id
    Type
    string
    Description

    The sync job ID.

Request

GET
/connectors/{connector_id}/sync/jobs/{job_id}
curl https://api.pixeepim.com/api/v1/connectors/550e8400-e29b-41d4-a716-000000000010/sync/jobs/550e8400-e29b-41d4-a716-000000000011 \
  -H "X-API-Key: {api_key}"

Response

{
  "id": "550e8400-e29b-41d4-a716-000000000011",
  "job_type": "push_products",
  "status": "completed",
  "pushed": 2,
  "errors": 0
}

Inbound webhooks

Some platforms push data or events into Pixee PIM instead of (or in addition to) being pulled. These endpoints are called by the platform itself, not by your integration.

Shopify

Receives Shopify webhook events (order/product changes). Verified via X-Shopify-Hmac-Sha256 against the connector's stored webhook secret.

Headers

  • Name
    x-shopify-hmac-sha256
    Type
    string
    Description

    HMAC-SHA256 signature of the raw request body, base64-encoded.

  • Name
    x-shopify-topic
    Type
    string
    Description

    Event topic (e.g. products/update).

  • Name
    x-shopify-webhook-id
    Type
    string
    Description

    Shopify's delivery ID — used for replay protection (24h Redis dedup).

Request

POST
/connectors/shopify/webhook
curl -X POST https://api.pixeepim.com/api/v1/connectors/shopify/webhook \
  -H "X-Shopify-Hmac-Sha256: {signature}" \
  -H "X-Shopify-Topic: products/update" \
  -H "X-Shopify-Webhook-Id: {delivery_id}" \
  -H "Content-Type: application/json" \
  -d '{ "id": 123456789, "title": "Updated product" }'

WooCommerce

Receives WooCommerce webhook events. Verified via X-WC-Webhook-Signature.

Headers

  • Name
    x-wc-webhook-signature
    Type
    string
    Description

    HMAC-SHA256 signature, base64-encoded.

  • Name
    x-wc-webhook-topic
    Type
    string
    Description

    Event topic (e.g. product.updated).

  • Name
    x-wc-webhook-delivery-id
    Type
    string
    Description

    Delivery ID — used for replay protection (24h Redis dedup).

Request

POST
/connectors/woocommerce/webhook
curl -X POST https://api.pixeepim.com/api/v1/connectors/woocommerce/webhook \
  -H "X-WC-Webhook-Signature: {signature}" \
  -H "X-WC-Webhook-Topic: product.updated" \
  -H "Content-Type: application/json" \
  -d '{ "id": 42, "name": "Updated product" }'

BigCommerce

Receives BigCommerce webhook events. Verified via a shared X-Webhook-Token.

Headers

  • Name
    X-Webhook-Token
    Type
    string
    Description

    Shared token configured on the connector.

  • Name
    X-BC-Webhook-Id
    Type
    string
    Description

    BigCommerce's webhook ID — used for replay protection (24h Redis dedup).

Request

POST
/connectors/bigcommerce/webhook
curl -X POST https://api.pixeepim.com/api/v1/connectors/bigcommerce/webhook \
  -H "X-Webhook-Token: {token}" \
  -H "X-BC-Webhook-Id: {webhook_id}" \
  -H "Content-Type: application/json" \
  -d '{ "scope": "store/product/updated", "data": { "id": 42 } }'

Magento 2

Receives push notifications from a Magento 2 instance, authenticated with Basic Auth.

Headers

  • Name
    authorization
    Type
    string
    Description

    Basic credentials configured on the connector.

  • Name
    x-magento-webhook-id
    Type
    string
    Description

    Delivery ID — used for replay protection (24h Redis dedup).

Request

POST
/connectors/magento/push
curl -X POST https://api.pixeepim.com/api/v1/connectors/magento/push \
  -H "Authorization: Basic {base64_credentials}" \
  -H "X-Magento-Webhook-Id: {delivery_id}" \
  -H "Content-Type: application/json" \
  -d '{ "sku": "ART-001", "qty": 42 }'

Was this page helpful?