# ACP Quickstart for B2B Merchants *Free guide from Kuadra — the secure gateway for agentic commerce.* --- ## What is ACP? OpenAI's Agentic Commerce Protocol (ACP) is an open standard that lets you list your products directly in ChatGPT. When users ask ChatGPT about products, your catalog can appear — with accurate titles, prices, availability, images, and a direct link to purchase. Think of it as Google Shopping for ChatGPT. But instead of a search engine showing ads, it's an AI assistant surfacing your products naturally in conversation. **Relevant links:** - ACP developer docs: https://developers.openai.com/commerce - Product schema reference: https://developers.openai.com/commerce/specs/file-upload/products - Open source spec: https://github.com/openai/agentic-commerce-protocol ## Is ACP right for your business? ACP works best for **B2C products with public pricing** — the kind of items you'd already list on Google Shopping or your public website. If your products have: - Fixed, public prices (not negotiated or customer-specific) - Clear titles, descriptions, and images - Standard categories and barcodes/GTINs ...then ACP is a great fit. List your catalog, and ChatGPT becomes a discovery channel. **ACP is NOT designed for:** - Negotiated B2B pricing - Customer-specific catalogs - Products behind login or authentication - Quote-led sales where price depends on volume, region, or relationship - Regulated products requiring compliance checks before purchase If your business has both public consumer products AND gated B2B inventory — ACP handles the public side, and Kuadra's Agent Gateway handles the private side. ## The ACP required fields Every product you submit to ACP must include these 9 fields: | Field | What it means | Example | |-------|---------------|---------| | `item_id` | Your unique product ID (per variant) | `SKU12345` | | `title` | Product name (max 150 chars) | `Men's Trail Running Shoes` | | `description` | Full description (max 5,000 chars) | `Lightweight waterproof trail runner...` | | `url` | Product detail page on your site | `https://example.com/product/SKU12345` | | `image_url` | Main product image (JPEG/PNG, HTTPS) | `https://example.com/images/SKU12345.jpg` | | `price` | Regular price in `"XX.XX USD"` format | `79.99 USD` | | `brand` | Brand name | `TrailPro` | | `is_eligible_search` | Can ChatGPT show this product? (`true`/`false`) | `true` | | `is_eligible_checkout` | Can users buy directly in ChatGPT? (`true`/`false`) | `true` | ## Optional fields that matter These aren't required, but they significantly improve your product's relevance and buyer trust: - **`gtin`** — 8–14 digit barcode (UPC/GTIN/ISBN). Helps ChatGPT match your product to user searches. - **`condition`** — `new`, `refurbished`, `used`. Simple but important. - **`product_category`** — category path like `"Apparel & Accessories > Shoes"`. Use `>` as separator. - **`sale_price`** — discounted price. Must be less than `price`. Same format: `"59.99 USD"`. - **`additional_image_urls`** — comma-separated extra images. More images = more buyer confidence. - **`age_group`** — `newborn`, `infant`, `toddler`, `kids`, `adult`. Important for apparel, toys, cosmetics. ## How to submit your feed OpenAI supports two delivery methods: ### Option 1: File upload (recommended for most merchants) 1. Export your catalog as CSV or JSON 2. Format it to match the ACP schema (use our [free ACP Checker](/acp-checker) to validate) 3. Convert to JSON or JSONL 4. Upload via SFTP (OpenAI provides credentials after you're approved) 5. Re-upload daily to keep pricing and availability current **Daily cadence is recommended.** ACP uses a "full snapshot" model — your latest upload replaces the previous one. Keep your filename stable and overwrite it on each update. ### Option 2: API (for real-time updates) If your catalog changes frequently (hourly pricing, flash sales, real-time inventory): 1. Create a feed via `POST /product_feeds` endpoint 2. Upsert individual products via `PATCH /product_feeds/{id}/products` 3. Products are matched by `item_id` — existing products update, new ones are added **Hybrid approach:** Upload a full daily snapshot via file upload, then send intraday updates via the API for products that changed. This is the pattern most production merchants use. ## Getting approved ACP is currently available to approved partners. To apply: 1. Fill out the intake form at https://developers.openai.com/commerce 2. Prepare a sample feed of 100+ products using this guide 3. Validate it with our [ACP Readiness Checker](/acp-checker) 4. OpenAI reviews and provisions your feed access ## Common pitfalls ### Wrong price format ❌ `$79.99` or `79.99` or `USD 79.99` ✅ `79.99 USD` Always: numeric amount + space + ISO 4217 currency code. ### Booleans as strings ❌ `"true"` or `"yes"` or `1` ✅ `true` (literal boolean) is_eligible_search and is_eligible_checkout must be boolean `true`/`false`, not strings. ### Missing or broken image URLs ACP won't display products without a valid image. Every `image_url` must: - Use HTTPS - Return HTTP 200 - Be JPEG or PNG - Be publicly accessible (no login, no auth wall) ### Unstable item_ids `item_id` must remain stable over time. If you change your SKU format, old products won't match new ones, causing duplicates. Pick a durable ID scheme before you submit. ### Not keeping the feed current ACP expects daily updates. If your prices change without a feed update, ChatGPT shows stale pricing. Automate your feed pipeline — export → format → validate → upload daily. ## After ACP: What about your B2B inventory? Here's the question most merchants hit within a week of setting up ACP: > "We just listed 500 consumer products. What about the 5,000 SKUs with negotiated pricing, custom catalogs, and gated procurement?" ACP doesn't solve that. It's a public listing feed. For products that: - Have customer-specific pricing - Live behind authentication - Require compliance checks before purchase - Need human approval for large orders ...you need a different approach. That's what Kuadra's Agent Gateway provides — a secure, authenticated channel that lets qualified buyers' agents reach your protected systems without dropping your security. Your bot walls stay up. The gateway provides the authenticated door. **The natural progression:** 1. **ACP** — get your public products discoverable in ChatGPT 2. **Audit** — identify the collision between buyer agent demand and your B2B security 3. **Gateway** — build the secure channel for the products you can't make public ## We can handle this for you Kuadra offers ACP Feed Setup as a managed service: | Service | What we do | Price | |---------|-----------|-------| | ACP Feed Setup | Format your catalog, validate, submit first feed | $1,000–$2,000 one-time | | ACP Feed Management | Daily updates, variant optimization, listing monitoring | $300–$500/month | **Start with our free [ACP Readiness Checker](/acp-checker)** — paste your product data and see your score in seconds. [Get a quote →](mailto:admin@kuadraai.com?subject=ACP%20Feed%20Setup%20Inquiry) --- © 2026 Kuadra — the secure gateway for agentic commerce. Not affiliated with OpenAI.