API референца
Направите прилагођене интеграције са Asyntai REST 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, табела) подлежу дневном ограничењу карактера на основу вашег плана. Ово се односи на укупан садржај отпремљен преко свих крајњих тачака базе знања дневно.
| План | Карактера/дан |
|---|---|
| Starter | 100.000 |
| Standard | 500.000 |
| Pro | 2.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.