Sync model
Train My Camera treats the checkout provider as the source of truth and keeps a selected copy of product data for private visual recognition. Team owners and admins connect the provider, review the product list, choose the sync scope, and confirm before catalog rows are created or updated.
- Review the provider product list before changing the Train My Camera catalog.
- Choose all products, selected categories, or individual products.
- Save the selection and run a sync immediately.
- Turn on automatic sync so the saved selection is checked about every 30 minutes.
- Use checkout product images as example photos for visual recognition when the provider exposes useful images.
- Keep manually uploaded Train My Camera examples while refreshing examples that originally came from checkout images.
- Show progress for image preparation, failed retries, and provider images that are no longer available.
Saved product scope
The saved scope controls every future manual or automatic sync until an owner or admin changes it. This keeps automatic updates predictable and avoids importing the whole checkout catalog by surprise.
All products
Use when the whole active provider catalog should be searchable by camera.
Selected categories
Use when only parts of the provider catalog should become Train My Camera items.
Selected products
Use when the team wants exact product-by-product control.
Automatic sync
When automatic sync is enabled, Train My Camera checks connected integrations with saved scope about every 30 minutes. New or changed products inside the saved scope are created or updated, and products removed from that selected provider scope can be deactivated locally.
Automatic sync also picks up new or changed primary provider image references for selected products and queues image preparation in the background.
Product image jobs
Product sync queues image work instead of downloading and embedding every image during the web request. The background worker downloads provider images, validates image type and size, optimizes examples, creates visual embeddings, and reports progress back to the Integrations page.
Manual photos stay protected
Photos uploaded inside Train My Camera are preserved by default because shop-taken photos are often better recognition examples.
Checkout examples can refresh
Examples originally created from provider images can update when the provider image URL or image content changes.
Dead URLs are reported
If a provider returns 404 or 410, Train My Camera marks that image unavailable, shows product details, and avoids retrying the same dead URL forever.
POS-owned fields
Synced product fields are locked in Train My Camera by default so the provider catalog and the visual catalog do not drift apart. Train My Camera-only fields remain editable for recognition and shop workflows.
Provider-owned
- Product name
- Category or product group
- Display price
- SKU where available
- Barcode or UPC/EAN/GTIN where available
- Provider product and variant IDs
- Primary product image where available
- Secondary metadata such as stock, cost, VAT, unit, color, or size where the provider exposes it
Train My Camera-owned
- Example photos added by the team
- Public details not mapped from the provider
- Shelf or location notes
- Internal notes
- Recognition usage inside the private catalog
Provider setup guides
Zettle by PayPal POS
OAuth connection. Train My Camera requests Zettle product-library read access.
Front Systems POS
Backoffice integration API key. Train My Camera uses the merchant integration key to read product master data.
Shopify POS
OAuth connection with Shopify shop domain. Train My Camera requests read_products, read_inventory, and read_locations.
Sitoo POS
Sitoo REST API credentials. Train My Camera uses Sitoo REST API credentials for GET-only product, site, and image reads.
Square POS
OAuth connection. Train My Camera requests Square catalog, merchant profile, and inventory read scopes.