BusMe

Shareable guide

Website API source setup

Give this page to your developer or agency. Once these two JSON endpoints are live, open Business → Website API source in BusMe, paste the base URL, and click Sync business + products.

What BusMe calls

BusMe performs two authenticated GET requests (auth header optional):

  1. GET {API_BASE_URL}/business — company profile
  2. GET {API_BASE_URL}/products — product catalog

Default paths are /business and /products. You can change the path suffixes in BusMe if your API uses different routes.

1. Business endpoint

Return JSON (flat object or wrapped in { "business": { … } }):

{
  "displayName": "Acme Outfitters",
  "legalName": "Acme Outfitters LLC",
  "tagline": "Gear that lasts",
  "description": "Outdoor apparel and trail essentials.",
  "websiteUrl": "https://shop.example.com",
  "email": "hello@example.com",
  "phone": "+1-555-0100",
  "address": "120 Market St, Portland, OR",
  "logoUrl": "https://shop.example.com/logo.png",
  "industry": "Outdoor retail",
  "timezone": "America/Los_Angeles",
  "socialLinks": {
    "instagram": "https://instagram.com/acme",
    "facebook": "https://facebook.com/acme"
  }
}

Required-ish: displayName or name. Everything else is optional but improves AI captions.

2. Products endpoint

Return an array, or an object with products, data, or items:

{
  "products": [
    {
      "id": "sku-1001",
      "name": "Trail Pack 28L",
      "description": "Lightweight daypack with rain cover.",
      "price": 89.0,
      "currency": "USD",
      "category": "Packs",
      "inStock": true,
      "imageUrl": "https://shop.example.com/img/pack.jpg",
      "images": ["https://shop.example.com/img/pack.jpg", "https://shop.example.com/img/pack-2.jpg"],
      "videoUrl": "https://shop.example.com/media/pack.mp4",
      "url": "https://shop.example.com/products/trail-pack-28",
      "tags": ["hiking", "bestseller"]
    }
  ]
}

Each product needs an id (id, externalId, or sku) and a name (name or title).

3. Auth (optional)

If your API is private, require a header such as:

Authorization: Bearer YOUR_TOKEN

In BusMe, set Auth header name to Authorization and Auth header value to Bearer YOUR_TOKEN.

4. Connect in BusMe

  1. Sign in → Business
  2. Under Website API source:
    • Public website URL — e.g. https://shop.example.com
    • API base URL — e.g. https://shop.example.com/api
    • Business endpoint — usually /business
    • Products endpoint — usually /products
  3. Click Save API link, then Sync business + products

Try without your own API first using the demo base: https://busme.synczersolutions.com/api/demo-catalog

Quick checklist for developers

  • HTTPS endpoints returning Content-Type: application/json
  • CORS not required (BusMe server fetches server-side)
  • Stable product IDs so re-sync updates instead of duplicating
  • Prices as numbers (or numeric strings)
  • Absolute image/product URLs when possible

Test with curl

curl -sS https://shop.example.com/api/business \
  -H "Accept: application/json"

curl -sS https://shop.example.com/api/products \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN"

Live demo responses: /api/demo-catalog/business · /api/demo-catalog/products

Ready to connect?

Open Business in your BusMe workspace and paste the API base URL.

Share this guide: https://busme.synczersolutions.com/docs/website-api