API uzziņu rokasgrāmata
Veidojiet pielāgotas integrācijas ar Asyntai REST API
Nepieciešams maksas plāns: API piekļuve ir pieejama Starter, Standard un Pro plānos. Skatīt cenas
Pārskats
Asyntai API ļauj integrēt MI vadītu klientu atbalstu jebkurā lietotnē. Sūtiet ziņojumus un saņemiet inteliģentas atbildes, kas apmācītas uz jūsu vietnes satura un zināšanu bāzes.
Autentifikācija
Visiem API pieprasījumiem ir nepieciešama autentifikācija, izmantojot jūsu API atslēgu. Jūs varat iegūt savu API atslēgu API iestatījumu lapā.
Iekļaujiet savu API atslēgu pieprasījumos, izmantojot kādu no šīm metodēm:
- Authorization galvene (ieteicams):
Authorization: Bearer YOUR_API_KEY - X-API-Key galvene:
X-API-Key: YOUR_API_KEY
Neizpaudiet savu API atslēgu. Jebkurš, kam ir jūsu atslēga, var piekļūt jūsu kontam caur API. Nekad neatklājiet to klienta puses kodā.
Bāzes URL
https://asyntai.com/api/v1/
Galapunkti
POST /chat/
Nosūtiet ziņojumu un saņemiet MI ģenerētu atbildi.
Pieprasījuma pamatteksts
{
"message": "What are your business hours?",
"session_id": "user_123", // optional
"website_id": 1 // optional
}
| Parametrs | Tips | Obligāts | Apraksts |
|---|---|---|---|
message |
string | Jā | Lietotāja ziņojums, kas jānosūta MI |
session_id |
string | Nē | Unikāls sarunas identifikators. Izmantojiet to pašu session_id, lai saglabātu sarunas vēsturi. |
website_id |
integer | Nē | Konkrēts vietnes ID. Ja nav norādīts, tiek izmantota jūsu galvenā vietne. |
Atbilde
{
"success": true,
"response": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
"session_id": "user_123"
}
Piemērs (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"}'
Piemērs (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"])
Piemērs (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/
Uzskaitiet visas ar jūsu kontu saistītās vietnes.
Atbilde
{
"success": true,
"websites": [
{
"id": 1,
"name": "My Website",
"domain": "example.com",
"is_primary": true
}
]
}
Piemērs (cURL)
curl https://asyntai.com/api/v1/websites/ \
-H "Authorization: Bearer YOUR_API_KEY"
GET /conversations/
Izgūstiet sarunas vēsturi konkrētai sesijai.
Vaicājuma parametri
| Parametrs | Tips | Obligāts | Apraksts |
|---|---|---|---|
session_id |
string | Jā | Sesijas ID, kurai izgūt vēsturi |
limit |
integer | Nē | Maksimālais atgriežamo ziņojumu skaits (noklusējums: 50, maks.: 100) |
Atbilde
{
"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"
}
]
}
Piemērs (cURL)
curl "https://asyntai.com/api/v1/conversations/?session_id=user_123&limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
GET /sessions/
Uzskaitiet savas nesenās tērzēšanas sesijas. Izmantojiet šo, lai atklātu sesiju ID, ko pēc tam varat nodot /conversations/, lai izgūtu pilnu ziņojumu vēsturi.
Vaicājuma parametri
| Parametrs | Tips | Obligāts | Apraksts |
|---|---|---|---|
limit |
integer | Nē | Atgriežamo neseno sesiju skaits (noklusējums: 20, maks.: 100) |
website_id |
string | Nē | Filtrēt sesijas pēc konkrēta vietnes ID |
source |
string | Nē | Filtrēt pēc sesijas avota: widget, api, whatsapp, instagram, messenger, gorgias, freshchat, zapier |
Atbilde
{
"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"
}
]
}
Piemērs (cURL)
curl "https://asyntai.com/api/v1/sessions/?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
GET /leads/
Iegūt savāktos potenciālos klientus — e-pasta adreses un tālruņu numurus, ko apmeklētāji iesniedza tērzēšanas sarunu laikā.
Vaicājuma parametri
| Parametrs | Tips | Obligāts | Apraksts |
|---|---|---|---|
limit |
integer | Nē | Atgriežamo potenciālo klientu skaits (noklusējums: 50, maks.: 100) |
website_id |
string | Nē | Filtrēt potenciālos klientus pēc konkrēta vietnes ID |
Atbilde
{
"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"
}
]
}
| Lauks | Tips | Apraksts |
|---|---|---|
session_id |
string | Tērzēšanas sesijas ID. Nododiet to /conversations/, lai apskatītu pilnu tērzēšanas vēsturi. |
email |
virkne vai null | Apmeklētāja norādītā e-pasta adrese vai null, ja netika savākta |
phone |
virkne vai null | Apmeklētāja norādītais tālruņa numurs vai null, ja netika savākts |
page_url |
virkne vai null | Lapas URL, kurā apmeklētājs tērzēja |
started_at |
string | ISO 8601 laika zīmogs par tērzēšanas sesijas sākumu |
Piemērs (cURL)
curl "https://asyntai.com/api/v1/leads/?limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Piemērs (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/
Iegūstiet sava konta informāciju un lietošanas statistiku.
Atbilde
{
"success": true,
"account": {
"email": "you@example.com",
"plan": "starter",
"messages_used": 150,
"messages_limit": 2500
}
}
Piemērs (cURL)
curl https://asyntai.com/api/v1/account/ \
-H "Authorization: Bearer YOUR_API_KEY"
Vairākas vietnes? Zināšanu bāzes galapunkti pēc noklusējuma izmanto jūsu galveno vietni. Ja jums ir vairākas vietnes, nododiet website_id lai atlasītu konkrētu vietni. Jūs varat atrast savu vietņu ID, izmantojot GET /websites/.
Ikdienas augšupielādes ierobežojumi: Zināšanu bāzes augšupielādēm (teksts, URL, izklājlapa) ir noteikts ikdienas rakstzīmju ierobežojums atkarībā no jūsu plāna. Tas attiecas uz kopējo saturu, kas augšupielādēts visos zināšanu bāzes galapunktos dienā.
| Plāns | Rakstzīmes/dienā |
|---|---|
| Starter | 100 000 |
| Standard | 500 000 |
| Pro | 2 000 000 |
GET /knowledge/
Uzskaitiet savus zināšanu bāzes ierakstus. Tie ir satura avoti, ko jūsu MI tērzēšanas robots izmanto, lai atbildētu uz jautājumiem.
Vaicājuma parametri
| Parametrs | Tips | Obligāts | Apraksts |
|---|---|---|---|
limit |
integer | Nē | Atgriežamo ierakstu skaits (noklusējums: 50, maks.: 100) |
website_id |
string | Nē | Filtrēt pēc vietnes ID (noklusējums - jūsu galvenā vietne) |
Atbilde
{
"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"
}
]
}
Piemērs (cURL)
curl "https://asyntai.com/api/v1/knowledge/?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /knowledge/text/
Pievienojiet pielāgotu teksta saturu savai zināšanu bāzei. MI izmantos to, lai atbildētu uz apmeklētāju jautājumiem.
Pieprasījuma pamatteksts
{
"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"
}
| Parametrs | Tips | Obligāts | Apraksts |
|---|---|---|---|
title |
string | Jā | Nosaukums šim zināšanu bāzes ierakstam |
content |
string | Jā | Teksta saturs (min. 10 rakstzīmes) |
website_id |
string | Nē | Mērķa vietne (noklusējums - jūsu galvenā vietne) |
Atbilde
{
"success": true,
"id": "abc-123-def",
"title": "Return Policy",
"chunks_created": 1
}
Piemērs (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/
Pievienojiet tīmekļa lapu savai zināšanu bāzei. Saturs tiks iegūts un izvilkts automātiski.
Pieprasījuma pamatteksts
{
"url": "https://example.com/faq",
"website_id": "123"
}
| Parametrs | Tips | Obligāts | Apraksts |
|---|---|---|---|
url |
string | Jā | URL, no kura iegūt saturu |
website_id |
string | Nē | Mērķa vietne (noklusējums - jūsu galvenā vietne) |
Atbilde
{
"success": true,
"id": "abc-123-def",
"title": "FAQ - Example",
"url": "https://example.com/faq",
"chunks_created": 5
}
Piemērs (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/
Augšupielādējiet CSV vai Excel (.xlsx) izklājlapu savā zināšanu bāzē. Katra rinda kļūst par atsevišķu zināšanu ierakstu - ideāli piemērots produktu katalogiem, BUJ sarakstiem, cenu tabulām un direktorijām.
Pieprasījums
Sūtiet kā multipart/form-data (faila augšupielāde), nevis JSON.
| Parametrs | Tips | Obligāts | Apraksts |
|---|---|---|---|
file |
file | Jā | .csv vai .xlsx fails. Pirmajai rindai jābūt kolonnu virsrakstiem. Maks. rindu skaits vienā augšupielādē: Starter 500, Standard 2 000, Pro 10 000. Liekās rindas tiek nogrieztas. |
website_id |
string | Nē | Mērķa vietne (noklusējums - jūsu galvenā vietne) |
Atbilde
{
"success": true,
"id": "abc-123-def",
"title": "products.csv",
"rows_processed": 15,
"chunks_created": 15
}
Piemērs (cURL)
curl -X POST "https://asyntai.com/api/v1/knowledge/spreadsheet/" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@products.csv"
DELETE /knowledge/{id}/
Dzēsiet zināšanu bāzes ierakstu. id var atrast no GET /knowledge/ atbildes.
Atbilde
{
"success": true,
"message": "Knowledge base entry deleted"
}
Piemērs (cURL)
curl -X DELETE "https://asyntai.com/api/v1/knowledge/abc-123-def/" \
-H "Authorization: Bearer YOUR_API_KEY"
Padoms: Jūs varat arī pārvaldīt tīmekļa āķus no API iestatījumi lapas bez jebkāda koda rakstīšanas.
GET /webhooks/
Uzskaitiet savus reģistrētos tīmekļa āķus.
Atbilde
{
"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"
}
]
}
Piemērs (cURL)
curl "https://asyntai.com/api/v1/webhooks/" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /webhooks/
Reģistrējiet jaunu tīmekļa āķi, lai saņemtu reāllaika notikumu paziņojumus.
Pieejamie notikumi
| Notikums | Apraksts |
|---|---|
message.received |
Apmeklētājs nosūtīja ziņojumu un saņēma atbildi |
conversation.started |
Jauna tērzēšanas sesija tika uzsākta |
escalation.requested |
MI aktivizēja eskalāciju uz cilvēka aģentu |
takeover.started |
Cilvēka aģents pārņēma tērzēšanas sesiju |
Pieprasījuma pamatteksts
{
"url": "https://example.com/webhook",
"events": ["message.received", "escalation.requested"],
"website_id": "123"
}
| Parametrs | Tips | Obligāts | Apraksts |
|---|---|---|---|
url |
string | Jā | HTTPS URL tīmekļa āķa POST pieprasījumu saņemšanai |
events |
array | Jā | Notikumu saraksts, uz kuriem abonēt (skatiet tabulu augstāk) |
website_id |
string | Nē | Mērķa vietne (noklusējums - jūsu galvenā vietne) |
Atbilde
{
"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"
}
}
Tīmekļa āķu verificēšana: Katrs tīmekļa āķis ietver secret (redzams tikai izveidošanas brīdī). Katrs POST uz jūsu URL ietver X-Webhook-Signature galvene — pieprasījuma pamatteksta HMAC-SHA256, parakstīts ar jūsu noslēpumu.
Piemērs (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}/
Dzēsiet tīmekļa āķi. id var atrast no GET /webhooks/ atbildes.
Atbilde
{
"success": true,
"message": "Webhook deleted"
}
Piemērs (cURL)
curl -X DELETE "https://asyntai.com/api/v1/webhooks/abc-123-def/" \
-H "Authorization: Bearer YOUR_API_KEY"
Kļūdu atbildes
Visas kļūdu atbildes seko šim formātam:
{
"success": false,
"error": "Error message describing what went wrong"
}
| Statusa kods | Apraksts |
|---|---|
400 |
Nederīgs pieprasījums - Nederīgi parametri vai trūkstoši obligātie lauki |
401 |
Neautorizēts - Nederīga vai trūkstoša API atslēga |
429 |
Pārāk daudz pieprasījumu - Sasniegts jūsu plāna ziņojumu ierobežojums |
503 |
Pakalpojums nav pieejams - MI pakalpojums īslaicīgi nav pieejams |
Ātruma ierobežojumi
API lietošana ir ierobežota ar jūsu abonēšanas plānu:
- Free: 100 ziņojumu/mēnesī
- Starter ($39/mēn.): 2500 ziņojumu/mēnesī
- Standard ($139/mēn.): 15 000 ziņojumu/mēnesī
- Pro ($449/mēn.): 50 000 ziņojumu/mēnesī
Nepieciešama palīdzība?
Ja jums ir jautājumi vai rodas problēmas, sazinieties ar mums hello@asyntai.com.