API संदर्भ
Asyntai REST API के साथ कस्टम इंटीग्रेशन बनाएं
सशुल्क प्लान आवश्यक: API पहुँच Starter, Standard और Pro प्लान पर उपलब्ध है। मूल्य निर्धारण देखें
अवलोकन
Asyntai API आपको किसी भी एप्लिकेशन में AI-संचालित ग्राहक सहायता इंटीग्रेट करने की अनुमति देता है। संदेश भेजें और अपनी वेबसाइट सामग्री और ज्ञान आधार पर प्रशिक्षित बुद्धिमान प्रतिक्रियाएँ प्राप्त करें।
प्रमाणीकरण
सभी 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/
एक संदेश भेजें और AI-जनित प्रतिक्रिया प्राप्त करें।
अनुरोध बॉडी
{
"message": "What are your business hours?",
"session_id": "user_123", // optional
"website_id": 1 // optional
}
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
message |
string | हाँ | AI को भेजने के लिए उपयोगकर्ता का संदेश |
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 | नहीं | एक विशिष्ट वेबसाइट आईडी द्वारा लीड फ़िल्टर करें |
प्रतिक्रिया
{
"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 | चैट सत्र आईडी। पूर्ण चैट इतिहास देखने के लिए इसे /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, स्प्रेडशीट) आपके Free, Starter, Standard या Pro प्लान के आधार पर दैनिक वर्ण सीमा के अधीन हैं। यह प्रति दिन सभी ज्ञान आधार एंडपॉइंट्स पर अपलोड की गई कुल सामग्री पर लागू होता है।
| प्लान | वर्ण/दिन |
|---|---|
| Starter | 1,00,000 |
| Standard | 5,00,000 |
| Pro | 20,00,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/
अपने ज्ञान आधार में कस्टम टेक्स्ट सामग्री जोड़ें। AI इसका उपयोग विज़िटर प्रश्नों का उत्तर देने के लिए करेगा।
अनुरोध बॉडी
{
"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) स्प्रेडशीट अपलोड करें। प्रत्येक पंक्ति एक अलग ज्ञान प्रविष्टि बन जाती है, जो उत्पाद कैटलॉग, FAQ सूचियों, मूल्य तालिकाओं और निर्देशिकाओं के लिए आदर्श है।
अनुरोध
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 |
AI ने मानव एजेंट तक एस्केलेशन ट्रिगर किया |
takeover.started |
एक मानव एजेंट ने चैट सत्र अपने हाथ में लिया |
अनुरोध बॉडी
{
"url": "https://example.com/webhook",
"events": ["message.received", "escalation.requested"],
"website_id": "123"
}
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
url |
string | हाँ | वेबहुक POST अनुरोध प्राप्त करने के लिए HTTPS URL |
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 (केवल निर्माण पर दिखाया जाता है)। आपके URL पर हर POST में एक शामिल होता है X-Webhook-Signature header — आपके secret से साइन किया गया request body का 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 |
Bad Request - अमान्य पैरामीटर या आवश्यक फ़ील्ड गायब हैं |
401 |
अनधिकृत - अमान्य या अनुपस्थित API कुंजी |
429 |
Too Many Requests - आपकी plan के लिए संदेश सीमा पूरी हो गई |
503 |
सेवा अनुपलब्ध - AI सेवा अस्थायी रूप से अनुपलब्ध |
दर सीमाएँ
API उपयोग आपके subscription plan द्वारा सीमित है:
- Free: 100 संदेश/माह
- Starter ($39/माह): 2,500 संदेश/माह
- Standard ($139/माह): 15,000 संदेश/माह
- Pro ($449/माह): 50,000 संदेश/माह
मदद चाहिए?
यदि आपके कोई प्रश्न हैं या कोई समस्या आती है, तो हमसे hello@asyntai.com पर संपर्क करें।