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

# Website Integrations

> Pull orders from Shopify, WooCommerce, BigCommerce, and other florist storefronts straight into your Digital Florists dashboard.

Connect your online shop to Digital Florists so every web order lands on the same dashboard as your phone and walk-in orders.

<Info>
  **This page covers features gated by Admin-tier permissions** — typically Settings access. Admins have these by default; your administrator can adjust who has them in [Settings > Team](/settings/team).
</Info>

Website order intake is included with Orders.

Website integrations listen for new orders on your storefront and create them in Digital Florists within seconds. You configure each one once, point your webhook at your shop's Digital Florists URL, and from then on orders, customer details, and payment status flow in automatically. Most are **inbound only**: orders arrive in Digital Florists but the integration doesn't push status changes back to your storefront.

## What each provider does

| Provider          | Direction    | Webhook signature  | Payment status sync               | Order cancel sync | Notes                                                              |
| ----------------- | ------------ | ------------------ | --------------------------------- | ----------------- | ------------------------------------------------------------------ |
| **Shopify**       | Inbound only | Not verified today | Yes (paid, partial, refund, void) | Yes               | Supports Zapiet, In-Store App, and Order Fulfillment Guru add-ons. |
| **WooCommerce**   | Inbound only | Not verified today | Yes (paid orders only)            | No                | Only `processing` and `completed` orders come through.             |
| **BigCommerce**   | Inbound only | Not verified today | Marked paid on import             | No                | Auto-registers its own webhooks when you connect.                  |
| **Ecwid**         | Inbound only | HMAC signed        | Yes (when Ecwid reports paid)     | No                | **Limited release.**                                               |
| **FloralCloud**   | Inbound only | Provider-specific  | Marked paid on import             | No                | Florist-platform integration.                                      |
| **FloristTouch**  | Inbound only | Provider-specific  | Marked paid on import             | No                | **Beta.**                                                          |
| **FloristPro**    | Inbound only | Provider-specific  | Marked paid on import             | No                | Requires support activation.                                       |
| **FloristWindow** | Inbound only | Provider-specific  | Marked paid on import             | No                | Florist-platform integration.                                      |
| **Mals Commerce** | Inbound only | Provider-specific  | Marked paid on import             | No                | Florist-platform integration.                                      |

<Info>
  **Product import.** None of these integrations import your full storefront catalogue. They match each web order's line items to your existing Digital Florists products by code or SKU. Anything that doesn't match comes in as a one-off custom item with the price from the website. Keep your SKUs aligned to get clean matches.
</Info>

## Shopify

The Shopify integration receives new Shopify orders, keeps their payment status in sync, and cancels the local order if it's cancelled in Shopify. It recognises pickup and delivery dates from **Zapiet** and the **In-Store App**, and can route relay orders from **Order Fulfillment Guru** to the right sending florist.

### What it does

* Imports paid, partially paid, and unpaid Shopify orders as gift or website orders.
* Updates payment status when Shopify reports paid, partially paid, partially refunded, refunded, or voided.
* Cancels the local order when the Shopify order is cancelled.
* Matches Shopify products to your Digital Florists products by product code. Unmatched line items come in as custom items with the line-item image attached.
* Reads pickup or delivery dates from Zapiet, the In-Store App, or Order Fulfillment Guru, with a broad set of date formats accepted.
* Excludes Shopify POS orders so they don't double up with till sales.

What it doesn't do: there's no push back to Shopify. Stock, products, customer details, fulfilments, and tracking numbers stay in Digital Florists.

### Configuration

| Field                                  | Required | What it's for                                                                                                                                                |
| -------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Webhook Secret**                     | Yes      | Stored against the integration for parity with other providers.                                                                                              |
| **Default Collection Location**        | No       | If set, collection orders from Shopify land at this location.                                                                                                |
| **Default Delivery Slot**              | No       | Fallback delivery slot when no Shopify shipping line matches one of your slots.                                                                              |
| **Hide discounted item price**         | No       | Shows only the original price on the discount note, not the discounted one.                                                                                  |
| **Use shipping company as house name** | No       | Prepends the Shopify shipping company field to address line one. Useful for UK residential checkouts where customers type a house name in the company field. |
| **Order Fulfillment Guru sender map**  | No       | Maps Guru sender shop names to Digital Florists customer IDs in the form `shop-name:42;other-shop:78`.                                                       |

### Setting it up

<Steps>
  <Step title="Switch the integration on">
    In **Settings** > **Integrations**, find Shopify and turn it on. Set a Webhook Secret and fill in any optional fields you need.
  </Step>

  <Step title="Add the webhooks in Shopify">
    In Shopify Admin, go to **Settings** > **Notifications** > **Webhooks** and add three JSON webhooks pointing at your shop's webhook URL:

    * **Order creation**
    * **Order update**
    * **Order cancellation**
  </Step>

  <Step title="Match product codes">
    Make sure your Digital Florists product codes match Shopify product IDs. Anything unmatched comes through as a custom item with the Shopify image attached.
  </Step>

  <Step title="Send a test order">
    Place a small order on your Shopify store and check it appears on your dashboard.
  </Step>
</Steps>

### Worth knowing

* Orders default to the **Website** occasion and use an auto-created **Shopify** payment method.
* If Shopify sends an order with no delivery date, the integration falls back to today and adds a fulfilment note flagging the missing date.
* Order updates from Shopify refresh the order note, fulfilment date, fulfilment note, payment status, and gift messages. They don't re-sync line items, prices, addresses, or the customer.

## WooCommerce

The simplest of the website integrations: receive orders only, no outbound sync.

### What it does

* Imports WooCommerce orders with status **processing** or **completed**. Other statuses (pending payment, on-hold, failed) are ignored.
* Records the payment against an auto-created **WooCommerce** payment method.
* Matches line items to your Digital Florists products by product code. Unmatched items become custom items.
* Reads the delivery date from order meta key **`Delivery Date`**, delivery instructions from **`delivery_instructions`**, and per-item card messages from **`card_message`**.
* Auto-detects same-day delivery fees in the WooCommerce fee lines and rolls them into the fulfilment charge.

### Configuration

| Field              | Required | What it's for                   |
| ------------------ | -------- | ------------------------------- |
| **Webhook Secret** | Yes      | Stored against the integration. |

### Setting it up

<Steps>
  <Step title="Switch the integration on">
    In **Settings** > **Integrations**, find WooCommerce, turn it on, and set a Webhook Secret.
  </Step>

  <Step title="Add the webhooks in WordPress">
    In WooCommerce, go to **Settings** > **Advanced** > **Webhooks** and add two webhooks pointing at your Digital Florists webhook URL:

    * **Order created**
    * **Order updated**
  </Step>

  <Step title="Match product codes and meta keys">
    Make sure your Digital Florists product codes match the WooCommerce product IDs or SKUs. Confirm your checkout writes the delivery date, delivery instructions, and per-line card messages to the meta keys above.
  </Step>

  <Step title="Send a test order">
    Place a small paid order on your WooCommerce store and check it appears in Digital Florists.
  </Step>
</Steps>

### Worth knowing

* Only paid orders come through. If a customer's card fails, the order won't appear in Digital Florists.
* If a delivery date is missing or in the past, the integration falls back to today and adds a warning to the order note and fulfilment note.
* Cancelled WooCommerce orders are not currently mirrored across.

## BigCommerce

BigCommerce is set up in one click: you paste in your store credentials and Digital Florists registers the webhooks for you.

### What it does

* Imports BigCommerce orders on creation and update.
* Marks every imported order as paid against an auto-created **BigCommerce** payment method.
* Matches line items to your Digital Florists products by BigCommerce product ID and variant SKU. Unmatched items become custom items.

### Configuration

| Field             | Required | What it's for                                                      |
| ----------------- | -------- | ------------------------------------------------------------------ |
| **Store Hash**    | Yes      | Your BigCommerce store hash.                                       |
| **Access Token**  | Yes      | API access token. Used to fetch the full order after each webhook. |
| **Client ID**     | Yes      | Stored against the integration.                                    |
| **Client Secret** | Yes      | Stored against the integration.                                    |

### Setting it up

<Steps>
  <Step title="Create a Store API account in BigCommerce">
    Generate a Store API account with scopes that allow reading orders and managing webhooks. Note the store hash, access token, client ID, and client secret.
  </Step>

  <Step title="Connect from Digital Florists">
    In **Settings** > **Integrations**, find BigCommerce and paste the four credentials in.
  </Step>

  <Step title="Activate">
    Click activate. Digital Florists registers the order-created and order-updated webhooks in BigCommerce automatically, so there's no separate webhook setup step.
  </Step>

  <Step title="Send a test order">
    Place a small order on your BigCommerce store and check it appears in Digital Florists within a few seconds.
  </Step>
</Steps>

### Worth knowing

* Imported orders are marked **paid** regardless of the BigCommerce payment status. Check the BigCommerce order if you need to confirm a customer paid.
* Order updates from BigCommerce refresh the total and the customer message only. Line items, addresses, fulfilment method, and status changes from BigCommerce after the order is placed aren't re-synced.
* Delivery date defaults to today and delivery slot defaults to your first available slot. There's no mapping from BigCommerce custom fields.

## Ecwid

<Info>
  **Limited release.** Ecwid is available to selected shops only. If you'd like it switched on, [get in touch with support](/get-started/getting-help).
</Info>

Ecwid orders are received via HMAC-signed webhooks, with the full order body fetched from Ecwid's API after each event.

### What it does

* Receives **order.created** and **order.updated** events from Ecwid.
* Verifies the webhook signature against the client secret you provide.
* Fetches the full order from Ecwid using your REST API access token, then creates or updates the local order.
* Records payment against an auto-created **Ecwid** payment method when Ecwid reports the order as paid.
* Reads the native Ecwid delivery time slot when present and matches the shipping method to one of your delivery slots.

### Configuration

| Field             | Required | What it's for                                                                |
| ----------------- | -------- | ---------------------------------------------------------------------------- |
| **Store ID**      | Yes      | Your Ecwid store ID.                                                         |
| **Client ID**     | No       | Reference to your Ecwid app, not used for order imports directly.            |
| **Client Secret** | Yes      | Used to verify the signature on incoming webhooks.                           |
| **Access Token**  | Yes      | REST API access token. Used to fetch the full order body after each webhook. |

### Setting it up

<Steps>
  <Step title="Create or obtain an Ecwid app">
    Generate the client secret and access token from your Ecwid app or store.
  </Step>

  <Step title="Connect from Digital Florists">
    In **Settings** > **Integrations**, find Ecwid, paste in your Store ID, Client Secret, and Access Token, then save.
  </Step>

  <Step title="Register the webhooks in Ecwid">
    Copy the webhook URL shown in Digital Florists and register it in your Ecwid control panel for both **order.created** and **order.updated** events.
  </Step>

  <Step title="Send a test order">
    Place a small order on your Ecwid store and check it appears in Digital Florists.
  </Step>
</Steps>

### Worth knowing

* Signature verification means your client secret is the gate. Keep it private and rotate it through Ecwid if it's ever exposed.
* Custom surcharges, handling fees, and coupon discounts are imported as separate custom line items so the local order total matches Ecwid.

## Florist-platform integrations

Digital Florists also connects to several specialist florist storefront platforms. The integrations are inbound only and configured by support during onboarding, since each platform issues credentials and webhook URLs through its own admin.

### FloralCloud

FloralCloud orders flow into your dashboard as website orders against an auto-created **FloralCloud** payment method. [Get in touch with support](/get-started/getting-help) to switch it on and walk through the credential exchange.

### FloristTouch

<Info>
  **Beta.** This connection is still being refined. Let support know if you spot anything off.
</Info>

FloristTouch orders flow into your dashboard as website orders against an auto-created **FloristTouch** payment method. [Get in touch with support](/get-started/getting-help) to switch it on.

### FloristPro

FloristPro orders flow into your dashboard as website orders against an auto-created **FloristPro** payment method. Setup requires support activation: [get in touch](/get-started/getting-help) once you have your FloristPro credentials ready.

### FloristWindow

FloristWindow orders flow into your dashboard as website orders against an auto-created **FloristWindow** payment method. [Get in touch with support](/get-started/getting-help) to switch it on.

### Mals Commerce

Mals Commerce orders flow into your dashboard as website orders against an auto-created **Mals Commerce** payment method. [Get in touch with support](/get-started/getting-help) to switch it on.

## Common questions

<AccordionGroup>
  <Accordion title="Do my products need to match by SKU?">
    Yes. Website integrations match line items to your Digital Florists products by product code or SKU. If a line item doesn't match, it still comes through as a custom item with the price from the website, but you'll get cleaner reporting and consistent stock if the codes line up.
  </Accordion>

  <Accordion title="What happens if a web order arrives with no delivery date?">
    Most integrations fall back to today and add a warning to the order note and fulfilment note so you can spot it on the dashboard. Pick the order up and confirm the date with your customer.
  </Accordion>

  <Accordion title="Will the website be told when I mark an order delivered?">
    For most providers, no: they're inbound only. If you need fulfilment status on your storefront, update it there directly.
  </Accordion>

  <Accordion title="Can I import my product catalogue from Shopify or WooCommerce?">
    Not as part of the live integration. If you're moving over from Shopify, support can help you do a one-off product import from a Shopify product CSV. Get in touch through the [Getting Help](/get-started/getting-help) page.
  </Accordion>

  <Accordion title="An integration I want isn't showing in my list. Why?">
    Some integrations (e.g. Ecwid) are in limited release and only visible to shops on the rollout. [Get in touch with support](/get-started/getting-help) and we'll let you know what's possible on your plan.
  </Accordion>
</AccordionGroup>

## What's next?

<Columns cols={2}>
  <Card title="Integrations overview" icon="plug" href="/settings/integrations">
    Categories, plan limits, and what each integration type does.
  </Card>

  <Card title="Orders" icon="receipt" href="/daily-operations/orders">
    Where web orders land once they've arrived in Digital Florists.
  </Card>

  <Card title="Payment methods" icon="wallet" href="/daily-operations/payment-methods">
    How card, cash, and online payment methods behave on the dashboard.
  </Card>

  <Card title="Getting help" icon="life-ring" href="/get-started/getting-help">
    Open a conversation with support if an integration isn't behaving.
  </Card>
</Columns>
