Ingest Methods

There are four ways to get your catalog into Miso. They all end at the same place, so you can mix them: a crawler for the archive, then the API for everything new.

Method Use it when You build
WordPress plugin Your site runs on WordPress. Nothing. Install it, paste your key, sync.
Data API Your CMS can call an API. A publish hook.
SFTP You already export files. An export job.
Crawler You cannot export at all. Nothing.

The Data API and the WordPress plugin you can set up alone. For SFTP and the crawler, ask your Miso representative to enable and configure it.

WordPress plugin

MisoAI/miso-wordpress-plugin — the official plugin. It syncs your posts to your Miso catalog, and keeps them in sync as they change.

What it does:

  • Hooks wp_after_insert_post, so an update or a deletion cascades to Miso.
  • Adds a Miso AI menu to your admin panel, for the API key and for manual syncs.
  • Adds WP-CLI commands, for a sync you script or schedule.

Four steps to a live catalog:

  1. Install and activate the plugin.
  2. Open Miso AI ▸ Settings in your WordPress admin panel.
  3. Enter your API key, then select Save Changes.
  4. Open Miso AI ▸ Posts and select Sync Posts to send everything you have.

Step 4 is your backfill. After that the hook keeps Miso current, so publishing a post in WordPress puts it in Miso without another step.

Multisite: set a product ID prefix

CAUTION: On a multisite network, set a prefix on every site before you sync. Without one, two sites overwrite each other's records, and a full sync on one site deletes the other site's records.

The plugin builds each product_id from the WordPress post id. Post 12345 becomes product 12345. Every site in a network numbers its posts from 1, so two sites both hold a post 12345, and the second upload overwrites the first.

Product ID prefix on the Miso AI ▸ Settings page corrects this. Give each site a different value:

Site Prefix Post 12345 becomes
Site one mysite1_ mysite1_12345
Site two mysite2_ mysite2_12345

The prefix also scopes deletion. A full sync removes the records that carry that prefix, and leaves the rest of the catalog alone. This is what makes one Miso catalog safe for a whole network.

Set the prefix before the first sync. If you add one later, the records from the first sync keep their old unprefixed ids, and a later full sync does not clean them up. Ask your Miso representative to remove them, or delete them with POST /v1/products/_delete.

Data API

Your CMS calls Miso when an article changes. This gives you the most control: you decide the fields, the timing, and what to exclude.

curl -X POST "https://api.askmiso.com/v1/products" \
  -H "X-Api-Key: YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "data": [ { "product_id": "art_001", "title": "…" } ] }'

Wire three CMS events, and your catalog stays correct:

CMS event Call
Publish POST /v1/products
Update POST /v1/products with the same product_id. It overwrites.
Unpublish or delete POST /v1/products/_delete

See Integrating Your Data for batching, the status poll, and validation.

SFTP

You drop files, and Miso loads them. Use it when a nightly export already exists, or when your CMS cannot call out.

  • Miso gives you the host and the credentials.
  • You write JSON, XML, or CSV, on your own schedule.
  • Miso reads each drop and loads it.

The trade-off is latency. Your catalog is as fresh as your last drop, so a nightly export means answers are up to a day behind. Send breaking news through the API even when the archive arrives by SFTP.

Crawler

Miso reads your public pages, the way a search engine does. It needs no work from your team, which makes it the fastest way to start and the usual choice for a sandbox.

Two limits are worth knowing before you pick it:

  • It sees what a visitor sees. Content behind a paywall or a login does not reach Miso unless you allow the crawler through.
  • It infers structure. The API tells Miso exactly which text is the body and which value is the publication date. A crawler works it out from the page.

Most customers start on the crawler and move to the API or the plugin when they go live.

Which to choose

If Choose
You run WordPress The plugin
You need a record in Miso within seconds of publishing The Data API
You already export nightly, and a day of latency is acceptable SFTP
You want to see Answers on your content this week The crawler

Whatever you choose, send deletes. Miso never compares your source against its index, so an article you remove keeps serving until a delete arrives. See Integrating Your Data.