Powrót do panelu

Dokumentacja

Dowiedz się, jak korzystać z Asyntai

Set Up Real-Time Data Feed Max on Any Other Platform

Build your own endpoint for custom sites, headless setups, or platforms we don't list yet

Back to Real-Time Data Feed Max
Plan Pro

What Your Feed Should Look Like

Real-Time Data Feed Max accepts any public URL returning JSON or plain text. The AI reads whatever you give it — products, services, bookable slots, property listings, menus, opening hours, anything — and uses it to answer visitor questions. There is no required shape or field name.

The one exception is Dynamic Product Cards. If you want matching items to render as visual cards in the chat, use these specific field names: name, price, description, image_url, button_link, in_stock.

Example — products (triggers Dynamic Product Cards)

{
  "products": [
    {
      "name": "Wireless Headphones Pro",
      "price": "$149.99",
      "description": "Premium over-ear wireless headphones with ANC.",
      "image_url": "https://example.com/images/headphones.jpg",
      "button_link": "https://example.com/products/headphones",
      "in_stock": true
    }
  ]
}

Example — services (any shape works)

{
  "services": [
    {
      "service": "Deep tissue massage",
      "duration_minutes": 60,
      "price_from": "$95",
      "therapists_available": ["Anna", "Mark"],
      "booking_link": "https://example.com/book/deep-tissue"
    },
    {
      "service": "Haircut & style",
      "duration_minutes": 45,
      "price_from": "$55",
      "booking_link": "https://example.com/book/haircut"
    }
  ]
}

Example — plain text (works too)

Opening hours: Mon-Fri 9-6, Sat 10-4, closed Sunday.
Delivery: Free over $30, minimum order $15, within 5 miles.
Lunch specials (weekdays only):
- Margherita pizza $12
- Caesar salad $9
- Soup of the day $7

Rule of thumb: Use descriptive field names the AI can interpret (service, duration, price, location, etc.). If Dynamic Product Cards make sense for your business, follow the exact field names above. If they don't, use whatever shape fits your data — the AI still searches it and answers questions correctly.

The Only Rule

Real-Time Data Feed Max accepts any public URL that returns JSON or plain text. No specific framework, CMS, or language is required — if you can host a URL that serves text, you can connect it.

Option 1 — Minimal Serverless Endpoint

The fastest path: a small Cloudflare Worker, Vercel function, or Netlify function that fetches data from wherever it lives and reshapes it into our format.

Cloudflare Worker (JavaScript)

export default {
  async fetch() {
    // Fetch from your data source — database, spreadsheet, internal API
    const source = await fetch('https://your-source.com/data.json');
    const raw = await source.json();

    const products = raw.map(item => ({
      name:        item.title,
      price:       `$${item.price}`,
      description: item.summary,
      image_url:   item.thumbnail,
      button_link: item.url,
      in_stock:    item.stock > 0,
    }));

    return new Response(JSON.stringify({ products }), {
      headers: { 'Content-Type': 'application/json' },
    });
  }
};

Python (FastAPI)

from fastapi import FastAPI
import httpx

app = FastAPI()

@app.get("/ai-feed")
async def ai_feed():
    async with httpx.AsyncClient() as client:
        r = await client.get("https://your-source.com/data.json")
    raw = r.json()
    return {
        "products": [
            {
                "name":        item["title"],
                "price":       f"${item['price']}",
                "description": item["summary"],
                "image_url":   item["thumbnail"],
                "button_link": item["url"],
                "in_stock":    item["stock"] > 0,
            }
            for item in raw
        ]
    }

PHP (plain script)

<?php
header('Content-Type: application/json');

// Query your database directly
$pdo = new PDO('mysql:host=localhost;dbname=shop', $user, $pass);
$rows = $pdo->query('SELECT name, price, description, image, url, stock FROM products WHERE active = 1')->fetchAll(PDO::FETCH_ASSOC);

$products = array_map(function($r) {
  return [
    'name'        => $r['name'],
    'price'       => '$' . $r['price'],
    'description' => $r['description'],
    'image_url'   => $r['image'],
    'button_link' => $r['url'],
    'in_stock'    => (bool)$r['stock'],
  ];
}, $rows);

echo json_encode(['products' => $products]);

Option 2 — Static JSON File

If your data doesn't change often, skip the script entirely. Generate a JSON file, upload it to any public host, and use that URL.

  • Upload to your own site under /data/ai-feed.json.
  • Host on GitHub Pages, Cloudflare R2, or AWS S3 (with public read) — all work.
  • Schedule a nightly script to regenerate the file from your actual data source.

Przykład: https://your-cdn.com/ai-feed.json

Option 3 — Plain Text

For simple cases — a menu, schedule, opening hours, FAQ list — plain text works too. Upload a .txt file or return text/plain from a script. The AI will read and search it.

Opening hours: Mon-Fri 9am-6pm, Sat 10am-4pm, closed Sunday

Menu:
- Margherita pizza — $12 (available daily)
- Pepperoni pizza — $14 (available daily)
- Seafood special — $22 (weekends only)
- Tiramisu — $8 (available while stock lasts)

Delivery: Free over $30. Minimum order $15. Within 5 miles.

Wskazówka: Plain text doesn't support Dynamic Product Cards, but it's perfectly fine if you only need the AI to answer questions about your data. Upgrade to JSON when you want visual cards.

Checklist Before Pasting Your URL

  • Open the URL in a private/incognito browser window — you should see raw JSON or text, not a login page.
  • If your source has cached output, verify the URL returns fresh data (not a stale CDN response).
  • Response should be under 10,000,000 characters (roughly 25,000 items).
  • Content-Type header should be application/json for JSON or text/plain for text.

Rozwiązywanie problemów

I see a password page instead of JSON

Your site is in maintenance, staging, or password-protected mode. Real-Time Data Feed Max needs a fully public URL.

Real-Time Data Feed Max says the feed failed

Open the URL in a private browser window. If you don't see JSON, the URL is wrong or the endpoint is down. If you see JSON but we still fail, the response may be missing a Content-Type: application/json header or exceeding the 10,000,000 character limit.

Product cards don't render

Dynamic Product Cards require specific field names (name, price, image_url, button_link, in_stock). If your platform uses different names, reshape the response in a small custom script before exposing it.

Data looks wrong or outdated

The feed auto-refreshes every 24 hours. For immediate updates, click Refresh Now in Real-Time Data Feed Max. For live fields (price, stock), the AI pulls fresh data on every message — so the 24h cycle only affects which items are known, not their current state.

Feed size exceeded

Real-Time Data Feed Max accepts up to 10,000,000 characters (~25,000 items). If you exceed that, trim fields (skip long HTML descriptions), split your catalog, or use the standard Real-Time Data Feed alongside for secondary data.

Still stuck? Start with the simplest option for your platform and verify the URL works in a browser before pasting it into Real-Time Data Feed Max. You can always upgrade to a more advanced option later — only the URL field changes on our side.