curl -X POST "https://call.aiployees.com/api/user/ai/generate-reply" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assistant_id": 123,
"customer_identifier": "+14155551234",
"message": "Hi, I would like to schedule an appointment",
"variables": {
"customer_name": "John Smith",
"source": "whatsapp"
}
}'
const response = await fetch('https://call.aiployees.com/api/user/ai/generate-reply', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
assistant_id: 123,
customer_identifier: '+14155551234',
message: 'Hi, I would like to schedule an appointment',
variables: {
customer_name: 'John Smith',
source: 'whatsapp'
}
})
});
const data = await response.json();
console.log(data.reply);
import requests
response = requests.post(
'https://call.aiployees.com/api/user/ai/generate-reply',
headers={
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
json={
'assistant_id': 123,
'customer_identifier': '+14155551234',
'message': 'Hi, I would like to schedule an appointment',
'variables': {
'customer_name': 'John Smith',
'source': 'whatsapp'
}
}
)
data = response.json()
print(data['reply'])
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://call.aiployees.com/api/user/ai/generate-reply', [
'assistant_id' => 123,
'customer_identifier' => '+14155551234',
'message' => 'Hi, I would like to schedule an appointment',
'variables' => [
'customer_name' => 'John Smith',
'source' => 'whatsapp'
]
]);
$reply = $response->json()['reply'];
{
"success": true,
"conversation_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"customer_identifier": "+14155551234",
"reply": "Hi John! I'd be happy to help you schedule an appointment. What day and time work best for you?",
"function_calls": [],
"ai_disabled": false
}
{
"success": true,
"conversation_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"customer_identifier": "+14155551234",
"reply": "I've checked our calendar and we have availability tomorrow at 2 PM and Friday at 10 AM. Which works better for you?",
"function_calls": [
{
"name": "check_availability",
"arguments": {
"start_date": "2025-01-08",
"days": 7
},
"result": {
"slots": ["2025-01-08 14:00", "2025-01-10 10:00"]
}
}
],
"ai_disabled": false
}
{
"success": false,
"error": "Assistant not found or does not belong to you",
"error_code": "ASSISTANT_NOT_FOUND"
}
{
"success": false,
"error": "Insufficient balance. Please top up your account.",
"error_code": "INSUFFICIENT_BALANCE"
}
{
"message": "The assistant id field is required.",
"errors": {
"assistant_id": ["The assistant id field is required."]
}
}
{
"message": "Too Many Attempts.",
"retry_after": 60
}
AI
Генериране на AI Отговор
Генерирайте AI отговор използвайки асистент, идентифициран чрез външен клиентски идентификатор
POST
/
user
/
ai
/
generate-reply
curl -X POST "https://call.aiployees.com/api/user/ai/generate-reply" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assistant_id": 123,
"customer_identifier": "+14155551234",
"message": "Hi, I would like to schedule an appointment",
"variables": {
"customer_name": "John Smith",
"source": "whatsapp"
}
}'
const response = await fetch('https://call.aiployees.com/api/user/ai/generate-reply', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
assistant_id: 123,
customer_identifier: '+14155551234',
message: 'Hi, I would like to schedule an appointment',
variables: {
customer_name: 'John Smith',
source: 'whatsapp'
}
})
});
const data = await response.json();
console.log(data.reply);
import requests
response = requests.post(
'https://call.aiployees.com/api/user/ai/generate-reply',
headers={
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
json={
'assistant_id': 123,
'customer_identifier': '+14155551234',
'message': 'Hi, I would like to schedule an appointment',
'variables': {
'customer_name': 'John Smith',
'source': 'whatsapp'
}
}
)
data = response.json()
print(data['reply'])
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://call.aiployees.com/api/user/ai/generate-reply', [
'assistant_id' => 123,
'customer_identifier' => '+14155551234',
'message' => 'Hi, I would like to schedule an appointment',
'variables' => [
'customer_name' => 'John Smith',
'source' => 'whatsapp'
]
]);
$reply = $response->json()['reply'];
{
"success": true,
"conversation_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"customer_identifier": "+14155551234",
"reply": "Hi John! I'd be happy to help you schedule an appointment. What day and time work best for you?",
"function_calls": [],
"ai_disabled": false
}
{
"success": true,
"conversation_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"customer_identifier": "+14155551234",
"reply": "I've checked our calendar and we have availability tomorrow at 2 PM and Friday at 10 AM. Which works better for you?",
"function_calls": [
{
"name": "check_availability",
"arguments": {
"start_date": "2025-01-08",
"days": 7
},
"result": {
"slots": ["2025-01-08 14:00", "2025-01-10 10:00"]
}
}
],
"ai_disabled": false
}
{
"success": false,
"error": "Assistant not found or does not belong to you",
"error_code": "ASSISTANT_NOT_FOUND"
}
{
"success": false,
"error": "Insufficient balance. Please top up your account.",
"error_code": "INSUFFICIENT_BALANCE"
}
{
"message": "The assistant id field is required.",
"errors": {
"assistant_id": ["The assistant id field is required."]
}
}
{
"message": "Too Many Attempts.",
"retry_after": 60
}
Този endpoint генерира AI отговор за дадено съобщение използвайки вашия конфигуриран асистент. Той автоматично създава или използва повторно разговори въз основа на клиентския идентификатор, което го прави идеален за интегриране на AI отговори във външни платформи, CRM системи или персонализирани чат интерфейси.
Ограничена скорост — Този endpoint е ограничен до 5 заявки на минута за API токен за предотвратяване на злоупотреба.
Тяло на Заявката
integer
required
ID-то на асистента, който да се използва за генериране на отговора. Трябва да принадлежи на вашия акаунт.
string
required
Уникален идентификатор за клиента. Използва се за поддържане на контекста на разговора при множество съобщения.Примери: телефонен номер, имейл адрес, ID на контакт от CRM, Facebook потребителски ID.Максимална дължина: 255 символа.
string
required
Съобщението на клиента, на което да се отговори.
object
Опционални контекстови променливи за предаване на асистента. Те се обединяват с всички съществуващи променливи на разговора.Полезни за предаване на клиентски данни, контекст на сесията или други метаданни.
Полета в Отговора
boolean
Показва дали заявката е била успешна
string
UUID на разговора. Използвайте го за проследяване или позовавене на разговора по-късно.
string
Клиентският идентификатор предоставен в заявката
string
AI-генерираният отговор на съобщението на клиента
array
Масив от функционални извиквания направени от асистента по време на обработката на съобщението. Празен масив ако няма извикани функции.
boolean
Показва дали AI отговорите са деактивирани за този разговор (например поради ръчно поемане)
Отговори при Грешка
boolean
Ще бъде
false когато възникне грешкаstring
Съобщение за грешка описващо какво се е объркало
string
Код за грешка четим от машини. Възможни стойности:
ASSISTANT_NOT_FOUND- ID-то на асистента е невалидно или не принадлежи на вашия акаунтINSUFFICIENT_BALANCE- Баланса на вашия акаунт е твърде нисък за обработка на съобщението
curl -X POST "https://call.aiployees.com/api/user/ai/generate-reply" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assistant_id": 123,
"customer_identifier": "+14155551234",
"message": "Hi, I would like to schedule an appointment",
"variables": {
"customer_name": "John Smith",
"source": "whatsapp"
}
}'
const response = await fetch('https://call.aiployees.com/api/user/ai/generate-reply', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
assistant_id: 123,
customer_identifier: '+14155551234',
message: 'Hi, I would like to schedule an appointment',
variables: {
customer_name: 'John Smith',
source: 'whatsapp'
}
})
});
const data = await response.json();
console.log(data.reply);
import requests
response = requests.post(
'https://call.aiployees.com/api/user/ai/generate-reply',
headers={
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
json={
'assistant_id': 123,
'customer_identifier': '+14155551234',
'message': 'Hi, I would like to schedule an appointment',
'variables': {
'customer_name': 'John Smith',
'source': 'whatsapp'
}
}
)
data = response.json()
print(data['reply'])
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://call.aiployees.com/api/user/ai/generate-reply', [
'assistant_id' => 123,
'customer_identifier' => '+14155551234',
'message' => 'Hi, I would like to schedule an appointment',
'variables' => [
'customer_name' => 'John Smith',
'source' => 'whatsapp'
]
]);
$reply = $response->json()['reply'];
{
"success": true,
"conversation_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"customer_identifier": "+14155551234",
"reply": "Hi John! I'd be happy to help you schedule an appointment. What day and time work best for you?",
"function_calls": [],
"ai_disabled": false
}
{
"success": true,
"conversation_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"customer_identifier": "+14155551234",
"reply": "I've checked our calendar and we have availability tomorrow at 2 PM and Friday at 10 AM. Which works better for you?",
"function_calls": [
{
"name": "check_availability",
"arguments": {
"start_date": "2025-01-08",
"days": 7
},
"result": {
"slots": ["2025-01-08 14:00", "2025-01-10 10:00"]
}
}
],
"ai_disabled": false
}
{
"success": false,
"error": "Assistant not found or does not belong to you",
"error_code": "ASSISTANT_NOT_FOUND"
}
{
"success": false,
"error": "Insufficient balance. Please top up your account.",
"error_code": "INSUFFICIENT_BALANCE"
}
{
"message": "The assistant id field is required.",
"errors": {
"assistant_id": ["The assistant id field is required."]
}
}
{
"message": "Too Many Attempts.",
"retry_after": 60
}
Случаи на Употреба
Многоканални AI Отговори
Използвайте този endpoint за добавяне на AI отговори към всяка платформа за съобщения:- Получете съобщение от WhatsApp, Facebook, SMS или всеки друг канал
- Извикайте този endpoint със съобщението и клиентския идентификатор
- Изпратете AI отговора обратно през оригиналния канал
CRM Интеграция
Интегрирайте AI отговори в своята CRM или helpdesk система:- Използвайте ID-то на контакта от CRM като
customer_identifier - Предайте клиентски данни като
variablesза персонализирани отговори - Разговорът се запазва между сесиите използвайки същия идентификатор
Персонализирани Чат Интерфейси
Изградете свой собствен чат интерфейс захранван от вашия Aiplocalls асистент:- Генерирайте уникален идентификатор за всяка потребителска сесия
- Изпращайте съобщения чрез този endpoint
- Показвайте AI отговорите във вашия интерфейс
Запазване на Разговора
Разговорите се запазват автоматично въз основа на комбинациятаassistant_id и customer_identifier:
- Същия идентификатор: Съобщенията се добавят към съществуващия разговор, запазвайки пълния контекст
- Нов идентификатор: Създава се нов разговор за клиента
- Обединяване на променливи: Когато се предоставят променливи, те се обединяват със съществуващите променливи на разговора
Най-добри Практики
- Използвайте последователни идентификатори: Винаги използвайте същия формат за клиентски идентификатори (например винаги E.164 за телефонни номера)
- Предавайте релевантен контекст: Използвайте полето
variablesза предоставяне на клиентски данни, които помагат на AI да персонализира отговорите - Обработвайте ограниченията на скоростта: Имплементирайте логика за повторни опити с експоненциално забавяне за ограничени по скорост заявки
- Запазвайте ID-тата на разговорите: Запазете върнатото
conversation_idза по-късна справка или отстраняване на грешки - Наблюдавайте разходите: Проследявайте използването за управление на разходите, особено за високообемни интеграции

