Ecommerce integration

Cin7 Core

Cin7 Core integration overview
  • CategoryEcommerce
  • AuthAPI credentials

Overview

Cin7 Core (the rebrand of DEAR Systems) connects on /integrations in the dashboard. The Cin7 card opens the "Connect Cin7 Core" modal and takes exactly two fields: Account ID and Application Key, both pasted from Cin7 Core, Integrations, API. The labels on the card ARE the wire keys the server reads (keys["Account ID"] / keys["Application Key"]), and on every call to the Cin7 external API (hosted on inventory.dearsystems.com/ExternalApi/v2) they are sent as the api_auth_accountid and api_auth_applicationkey request headers. On save MessageMind probes /me, reads the account's own price-tier names so the Settings panel can offer them, imports the product catalog straight away and keeps the AI's catalog in step with a daily sync. Live stock is read one call at a time at the moment a shopper asks, and stock levels are never stored. Prices come from the Cin7 price tier chosen in Settings (Tier 1 until you change it). The integration is restricted to eCommerce for Physical Goods AI models and refuses any other category up front.

What MessageMind can do with it

  • Validate the Account ID and Application Key on connect with a parameterless probe to /me, with distinct error messages for missing keys, bad key format, the same key pasted in both boxes, bad credentials, rate limits and unreachable hosts.
  • Fetch the full Cin7 Core product catalog on a daily schedule, paginated at the API's maximum of 1000 products per page and paced to stay well inside the Application Key's 60-calls-per-minute ceiling.
  • Rebuild the AI model's catalog embeddings on every pass that detects a change (catalog ownership covers category, price, currency, SKU, attributes and pricing combinations; the merchant's own fields such as storefront links are preserved).
  • Read live stock for one product, one variation or one family at the moment a question is asked, with a per-account minute allowance that leaves headroom for the daily sync.
  • Load the merchant's own names for PriceTier1 through PriceTier10 on connect so the Settings panel can offer them as choices for the tier the AI quotes.

Requirements

  • A Cin7 Core (formerly DEAR Systems) account.
  • The API add-on enabled on that account. Cin7 sells API access separately on every plan, and a Cin7 account without the add-on answers the same 403 as a bad key.
  • The account's Account ID and Application Key, pasted into the two fields on the connect card. Both values are GUIDs, so a swap between the boxes is not visible to the eye.
  • An eCommerce for Physical Goods AI model to attach the integration to. Connecting Cin7 against any other model category is refused up front.

How to connect

  1. In Cin7 Core, go to Integrations, API. The Account ID is shown at the top of that page; API access must be switched on for your Cin7 account (it is a paid add-on on every Cin7 plan).
  2. On the same page, create an API application for MessageMind and copy the Application Key from its row. It is a different code from the Account ID; treat it like a password and never share it.
  3. In the MessageMind dashboard, open /integrations and click the Cin7 card. The 'Connect Cin7 Core' modal opens with the description 'Enter the Account ID and Application Key from Cin7 Core, Integrations, API.'
  4. Paste the Account ID into the Account ID field and the Application Key into the Application Key field (the Application Key box is a password input). The labels on the card ARE the wire keys the server reads, so they must stay byte-identical.
  5. Save. MessageMind probes /me, reads the account's price-tier names, and (on success) imports your products straight away so the AI starts seeing them as soon as that first pass finishes.
  6. Open the Cin7 Settings panel to pick which of the 10 Cin7 price tiers the AI should quote. Tier 1 is used until you change it.
  7. The daily catalog sync is scheduled from then on; live stock is read one call at a time when a shopper asks about availability.

Authentication and permissions

Mechanism
Keyed REST authentication against the Cin7 Core external API (hosted on the legacy DEAR Systems domain, inventory.dearsystems.com/ExternalApi/v2). The Account ID and Application Key are sent on every request as the api_auth_accountid and api_auth_applicationkey headers. No OAuth, no refresh token.
Credentials
Two fields: Account ID and Application Key. The field labels on the connect card ARE the wire keys the server reads (keys["Account ID"] / keys["Application Key"]). The Application Key is stored as a password-type field and is encrypted at rest.

Available data and actions

Reads

  • The /me profile (company name and base currency), used as the connect probe and read first on every sync pass.
  • The account's price-tier names (the merchant's own labels for PriceTier1 through PriceTier10), used to let the merchant choose which column the AI quotes.
  • Products across the catalog, paginated at the API's maximum of 1000 per page.
  • Live product availability by product id or category, one product per question, never stored.

Writes

  • Nothing is written back to Cin7 Core; the integration is read-only.

AI agent use cases

  • A shopper asks whether an item is in stock; the AI reads live availability for that product or variation from Cin7 and answers from the current level without storing it.
  • A shopper asks for the price of an item; the AI quotes from whichever Cin7 price tier the merchant selected in Settings (Tier 1 by default).
  • A merchant edits or adds a product in Cin7 Core; the next daily sync pass picks the change up and the AI's catalog view reflects it.

Configuration

  • settings.priceTier picks which of Cin7's 10 price tiers the AI quotes. Tier 1 is the default (Cin7's own default column) and the tenant's own names for the tiers are stored on connect and shown in the picker.
  • The catalog sync runs once a day; this interval is not merchant-configurable.
  • The Application Key's 60-calls-per-minute ceiling is split by the server: the daily sync paces itself at about 50 calls per minute, leaving roughly 10 per account for live stock questions.
  • Stock levels are never persisted. Only live reads at the moment a shopper asks a stock question flow through the integration.

Example workflows

Live stock answer in-thread

  1. A shopper asks whether a product (or one of its variations) is in stock.
  2. The AI resolves the product in the synced catalog and calls Cin7's product availability endpoint for that id.
  3. If a simple product reads zero, a second call to the product record decides between 'sold out' and 'not stock-tracked'.
  4. The AI answers from the live level; nothing is stored.

Daily catalog sync

  1. The scheduler fires the daily pass for the account.
  2. MessageMind re-reads /me, then walks the Cin7 product catalog in pages of 1000, paced inside the 60-calls-per-minute ceiling.
  3. Changed products trigger a rebuild of the AI model's catalog embeddings; merchant-owned fields such as storefront links are preserved across the pass.

Limitations

  • Only Cin7 Core (the rebrand of DEAR Systems) is supported. Cin7 Omni is a separate product with a different API and is not covered by this integration.
  • The integration is read-only. MessageMind never writes back to Cin7 Core and never places an order on behalf of a shopper.
  • The Application Key allows 60 calls per minute. The daily sync paces itself at about 50, leaving roughly 10 per account for live stock questions; a busy stock-question burst can briefly exhaust the headroom.
  • Stock levels are never stored; the AI can only answer a stock question while Cin7 is reachable.
  • Only one eCommerce catalog source can be active at a time. Connecting Cin7 alongside Shopify or WooCommerce would write the same products into one catalog.
  • Cin7's API access is a paid add-on on every Cin7 plan and must be switched on for the account before a connect can succeed.

Troubleshooting

Connect fails with 'Incorrect credentials' or a similar 403.

Cin7 answers both a wrong key and an account without the API add-on with the same 403. Confirm the API add-on is enabled on your Cin7 plan, and that the Account ID and Application Key were copied in full from Cin7 Core, Integrations, API into the right boxes on the MessageMind card.

Connect fails with 'the same key was pasted in both boxes'.

Both credentials are GUIDs, so a copy-paste mistake is not visible to the eye. Paste the Account ID (shown at the top of Cin7 Core, Integrations, API) into the Account ID box and the Application Key (from the API application's row) into the Application Key box.

The AI answers 'could not be checked' to a stock question.

The account's per-minute live-stock allowance was spent (the Application Key is capped at 60 calls per minute, with the daily sync taking roughly 50 of them). Try again shortly.

The connect card refuses to open against this AI model.

Cin7 can only be attached to an eCommerce for Physical Goods AI model. Create or switch to that model category, then open the Cin7 card again.

An edit made in Cin7 Core has not shown up yet.

The catalog sync runs once a day on a fixed cadence and is not merchant-configurable. The change will be picked up by the next scheduled pass.

Disconnect and reconnect

  • In the MessageMind dashboard, open /integrations, click the Cin7 card and choose Disconnect. The stored Account ID and Application Key are removed from your tenant, the daily sync is cancelled and the AI stops reading live stock from Cin7.
  • In Cin7 Core, open Integrations, API and remove the MessageMind application from the list to revoke the Application Key on the Cin7 side as well.
  • To reconnect, create or copy a fresh key pair in Cin7 Core, Integrations, API and paste it back into the two fields on the Cin7 card.