Назад на контролну таблу

Документација

Научите како да користите Asyntai

API референца

Направите прилагођене интеграције са Asyntai REST API-јем

Преузмите API кључ

Потребан је плаћени план: API приступ је доступан на Starter, Standard и Pro плановима. Погледајте цене

Преглед

Asyntai API вам омогућава да интегришете корисничку подршку покретану вештачком интелигенцијом у било коју апликацију. Шаљите поруке и примајте интелигентне одговоре обучене на садржају вашег веб-сајта и бази знања.

Аутентификација

Сви API захтеви захтевају аутентификацију помоћу вашег API кључа. Можете преузети свој API кључ са странице API подешавања.

Укључите свој API кључ у захтеве користећи један од ових метода:

  • Authorization заглавље (препоручено): Authorization: Bearer YOUR_API_KEY
  • X-API-Key заглавље: X-API-Key: YOUR_API_KEY

Чувајте свој API кључ у тајности. Свако ко има ваш кључ може приступити вашем налогу преко API-ја. Никада га не излажите у клијентском коду.

Основни URL

https://asyntai.com/api/v1/

Крајње тачке

POST /chat/

Пошаљите поруку и примите одговор генерисан вештачком интелигенцијом.

Тело захтева

{
  "message": "What are your business hours?",
  "session_id": "user_123",      // optional
  "website_id": 1                 // optional
}
Параметар Тип Обавезно Опис
message string Да Порука корисника за слање вештачкој интелигенцији
session_id string Не Јединствени идентификатор за разговор. Користите исти session_id за одржавање историје разговора.
website_id integer Не Одређени ID веб-сајта. Ако није наведен, користи се ваш примарни веб-сајт.

Одговор

{
  "success": true,
  "response": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
  "session_id": "user_123"
}

Пример (cURL)

curl -X POST https://asyntai.com/api/v1/chat/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "What are your business hours?", "session_id": "user_123"}'

Пример (Python)

import requests

response = requests.post(
    "https://asyntai.com/api/v1/chat/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "message": "What are your business hours?",
        "session_id": "user_123"
    }
)

data = response.json()
print(data["response"])

Пример (JavaScript)

const response = await fetch("https://asyntai.com/api/v1/chat/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    message: "What are your business hours?",
    session_id: "user_123"
  })
});

const data = await response.json();
console.log(data.response);

GET /websites/

Прикажите све веб-сајтове повезане са вашим налогом.

Одговор

{
  "success": true,
  "websites": [
    {
      "id": 1,
      "name": "My Website",
      "domain": "example.com",
      "is_primary": true
    }
  ]
}

Пример (cURL)

curl https://asyntai.com/api/v1/websites/ \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /conversations/

Преузмите историју разговора за одређену сесију.

Параметри упита

Параметар Тип Обавезно Опис
session_id string Да ID сесије за преузимање историје
limit integer Не Максималан број порука за враћање (подразумевано: 50, макс: 100)

Одговор

{
  "success": true,
  "session_id": "user_123",
  "messages": [
    {
      "role": "user",
      "content": "What are your business hours?",
      "timestamp": "2024-01-15T10:30:00Z"
    },
    {
      "role": "assistant",
      "content": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
      "timestamp": "2024-01-15T10:30:01Z"
    }
  ]
}

Пример (cURL)

curl "https://asyntai.com/api/v1/conversations/?session_id=user_123&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /sessions/

Прикажите своје недавне сесије ћаскања. Користите ово да бисте открили ID-јеве сесија, које затим можете проследити на /conversations/ за преузимање целокупне историје порука.

Параметри упита

Параметар Тип Обавезно Опис
limit integer Не Број недавних сесија за враћање (подразумевано: 20, макс: 100)
website_id string Не Филтрирајте сесије по одређеном ID-ју веб-сајта
source string Не Филтрирајте по извору сесије: widget, api, whatsapp, instagram, messenger, gorgias, freshchat, zapier

Одговор

{
  "success": true,
  "sessions": [
    {
      "session_id": "session_abc123def",
      "source": "widget",
      "message_count": 5,
      "first_message": "What are your business hours?",
      "first_message_at": "2024-01-15T10:30:00Z",
      "last_message_at": "2024-01-15T10:35:00Z",
      "website_domain": "example.com"
    }
  ]
}

Пример (cURL)

curl "https://asyntai.com/api/v1/sessions/?limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /leads/

Преузмите прикупљене потенцијалне клијенте — имејл адресе и бројеве телефона које су посетиоци послали током ћаскања.

Параметри упита

Параметар Тип Обавезно Опис
limit integer Не Број потенцијалних клијената за враћање (подразумевано: 50, макс: 100)
website_id string Не Филтрирајте потенцијалне клијенте по одређеном ID-у веб сајта

Одговор

{
  "success": true,
  "leads": [
    {
      "session_id": "session_abc123def",
      "email": "visitor@example.com",
      "phone": "+1234567890",
      "page_url": "https://example.com/pricing",
      "started_at": "2024-01-15T10:30:00Z"
    }
  ]
}
Поље Тип Опис
session_id string ID сесије ћаскања. Проследите га у /conversations/ да бисте видели комплетну историју ћаскања.
email ниска или null Имејл адреса коју је посетилац навео, или null ако није прикупљена
phone ниска или null Број телефона који је посетилац навео, или null ако није прикупљен
page_url ниска или null URL странице на којој је посетилац ћаскао
started_at string ISO 8601 временски печат почетка сесије ћаскања

Пример (cURL)

curl "https://asyntai.com/api/v1/leads/?limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

Пример (Python)

import requests

response = requests.get(
    "https://asyntai.com/api/v1/leads/",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    params={"limit": 20}
)

leads = response.json()["leads"]
for lead in leads:
    print(f"{lead['email'] or ''} | {lead['phone'] or ''}")

GET /account/

Преузмите информације о свом налогу и статистику коришћења.

Одговор

{
  "success": true,
  "account": {
    "email": "you@example.com",
    "plan": "starter",
    "messages_used": 150,
    "messages_limit": 2500
  }
}

Пример (cURL)

curl https://asyntai.com/api/v1/account/ \
  -H "Authorization: Bearer YOUR_API_KEY"

Више веб-сајтова? Крајње тачке базе знања подразумевано се односе на ваш примарни веб-сајт. Ако имате више веб-сајтова, проследите website_id да циљате одређени. Можете пронаћи ваше ID-јеве веб-сајта користећи GET /websites/.

Дневна ограничења отпремања: Отпремања у базу знања (текст, URL, табела) подлежу дневном ограничењу карактера на основу вашег плана. Ово се односи на укупан садржај отпремљен преко свих крајњих тачака базе знања дневно.

План Карактера/дан
Starter100.000
Standard500.000
Pro2.000.000

GET /knowledge/

Прикажите ставке своје базе знања. Ово су извори садржаја које ваш AI чатбот користи за одговарање на питања.

Параметри упита

Параметар Тип Обавезно Опис
limit integer Не Број ставки за враћање (подразумевано: 50, макс: 100)
website_id string Не Филтрирајте по ID-ју веб-сајта (подразумевано ваш примарни веб-сајт)

Одговор

{
  "success": true,
  "entries": [
    {
      "id": "abc-123-def",
      "type": "text",
      "title": "Business Hours",
      "description": "Manual text content (150 words)",
      "created_at": "2024-01-15T10:30:00Z"
    },
    {
      "id": "ghi-456-jkl",
      "type": "url",
      "title": "About Us - Example",
      "description": "Content from https://example.com/about",
      "created_at": "2024-01-14T09:00:00Z"
    }
  ]
}

Пример (cURL)

curl "https://asyntai.com/api/v1/knowledge/?limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

POST /knowledge/text/

Додајте прилагођени текстуални садржај у своју базу знања. Вештачка интелигенција ће ово користити за одговарање на питања посетилаца.

Тело захтева

{
  "title": "Return Policy",
  "content": "We offer a 30-day return policy on all items. Items must be unused and in original packaging. Refunds are processed within 5-7 business days.",
  "website_id": "123"
}
Параметар Тип Обавезно Опис
title string Да Наслов за ову ставку знања
content string Да Текстуални садржај (мин. 10 карактера)
website_id string Не Циљани веб-сајт (подразумевано ваш примарни веб-сајт)

Одговор

{
  "success": true,
  "id": "abc-123-def",
  "title": "Return Policy",
  "chunks_created": 1
}

Пример (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/text/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Return Policy", "content": "We offer a 30-day return policy..."}'

POST /knowledge/url/

Додајте веб-страницу у своју базу знања. Садржај ће бити аутоматски преузет и извучен.

Тело захтева

{
  "url": "https://example.com/faq",
  "website_id": "123"
}
Параметар Тип Обавезно Опис
url string Да URL са ког се преузима садржај
website_id string Не Циљани веб-сајт (подразумевано ваш примарни веб-сајт)

Одговор

{
  "success": true,
  "id": "abc-123-def",
  "title": "FAQ - Example",
  "url": "https://example.com/faq",
  "chunks_created": 5
}

Пример (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/url/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/faq"}'

POST /knowledge/spreadsheet/

Отпремите CSV или Excel (.xlsx) табелу у своју базу знања. Сваки ред постаје засебна ставка знања, идеално за каталоге производа, листе честих питања, ценовнике и именике.

Захтев

Пошаљите као multipart/form-data (отпремање датотеке), не JSON.

Параметар Тип Обавезно Опис
file датотека Да .csv или .xlsx датотека. Први ред морају бити заглавља колона. Макс. редова по отпремању: Starter 500, Standard 2.000, Pro 10.000. Вишак редова се скраћује.
website_id string Не Циљани веб-сајт (подразумевано ваш примарни веб-сајт)

Одговор

{
  "success": true,
  "id": "abc-123-def",
  "title": "products.csv",
  "rows_processed": 15,
  "chunks_created": 15
}

Пример (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/spreadsheet/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@products.csv"

DELETE /knowledge/{id}/

Обришите ставку базе знања. id се може пронаћи из одговора GET /knowledge/.

Одговор

{
  "success": true,
  "message": "Knowledge base entry deleted"
}

Пример (cURL)

curl -X DELETE "https://asyntai.com/api/v1/knowledge/abc-123-def/" \
  -H "Authorization: Bearer YOUR_API_KEY"

Савет: Такође можете управљати веб-хуковима са API подешавања странице без писања било каквог кода.

GET /webhooks/

Прикажите своје регистроване веб-хукове.

Одговор

{
  "success": true,
  "webhooks": [
    {
      "id": "abc-123-def",
      "url": "https://example.com/webhook",
      "events": ["message.received", "escalation.requested"],
      "is_active": true,
      "created_at": "2024-01-15T10:30:00Z"
    }
  ]
}

Пример (cURL)

curl "https://asyntai.com/api/v1/webhooks/" \
  -H "Authorization: Bearer YOUR_API_KEY"

POST /webhooks/

Региструјте нови веб-хук за примање обавештења о догађајима у реалном времену.

Доступни догађаји

Догађај Опис
message.received Посетилац је послао поруку и примио одговор
conversation.started Нова сесија ћаскања је покренута
escalation.requested Вештачка интелигенција је покренула ескалацију ка живом агенту
takeover.started Живи агент је преузео сесију ћаскања

Тело захтева

{
  "url": "https://example.com/webhook",
  "events": ["message.received", "escalation.requested"],
  "website_id": "123"
}
Параметар Тип Обавезно Опис
url string Да HTTPS URL за примање POST захтева веб-хука
events array Да Листа догађаја на које се претплаћујете (погледајте табелу изнад)
website_id string Не Циљани веб-сајт (подразумевано ваш примарни веб-сајт)

Одговор

{
  "success": true,
  "webhook": {
    "id": "abc-123-def",
    "url": "https://example.com/webhook",
    "events": ["message.received", "escalation.requested"],
    "secret": "whsec_abc123...",
    "created_at": "2024-01-15T10:30:00Z"
  }
}

Верификација веб-хукова: Сваки веб-хук укључује secret (приказан само при креирању). Сваки POST на ваш URL укључује X-Webhook-Signature заглавље — HMAC-SHA256 тела захтева потписан вашом тајном.

Пример (cURL)

curl -X POST "https://asyntai.com/api/v1/webhooks/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/webhook", "events": ["message.received"]}'

DELETE /webhooks/{id}/

Обришите веб-хук. id се може пронаћи из одговора GET /webhooks/.

Одговор

{
  "success": true,
  "message": "Webhook deleted"
}

Пример (cURL)

curl -X DELETE "https://asyntai.com/api/v1/webhooks/abc-123-def/" \
  -H "Authorization: Bearer YOUR_API_KEY"

Одговори са грешком

Сви одговори са грешком прате овај формат:

{
  "success": false,
  "error": "Error message describing what went wrong"
}
Статусни код Опис
400 Лош захтев - Неважећи параметри или недостајућа обавезна поља
401 Неовлашћено - Неважећи или недостајући API кључ
429 Превише захтева - Достигнуто ограничење порука за ваш план
503 Услуга недоступна - AI услуга привремено недоступна

Ограничења учесталости захтева

Коришћење API-ја је ограничено вашим планом претплате:

  • Free: 100 порука/месечно
  • Starter ($39/мес.): 2.500 порука/месечно
  • Standard ($139/мес.): 15.000 порука/месечно
  • Pro ($449/мес.): 50.000 порука/месечно

Потребна вам је помоћ?

Ако имате питања или наиђете на проблеме, контактирајте нас на hello@asyntai.com.