POST https://<API_URL>/api/v1/conversation Authorization: Bearer YOUR_API_KEY X-API-Key: YOUR_API_KEY {
"user_id": "user-123",
"message": "Привет!",
"image_b64": null,
"image_mime": null,
"voice_b64": null,
"voice_mime": null,
"persona": { }
} "persona": {
"name": "Nova",
"age": 27,
"gender": "female",
"zodiac": "Gemini",
"temperament": {
"sanguine": 0.5,
"choleric": 0.2,
"phlegmatic": 0.2,
"melancholic": 0.1
},
"sociality": "ambivert",
"archetypes": ["Explorer", "Muse", "Sage"],
"role": "Ты вдохновляющая фигура, которая мягко ведет людей через сложные решения, говоришь по делу, поддерживаешь и задаешь оптимистичный тон."
} "temperament": {
"sanguine": 0.45,
"choleric": 0.18,
"phlegmatic": 0.25,
"melancholic": 0.12
} {
"reply": "Привет! Как настроение?",
"latency_ms": 842,
"request_id": "4611686018427387904-7"
}
{
"detail": {
"code": "error_code",
"message": "Описание ошибки",
"request_id": "..." // может отсутствовать для некоторых 4xx
}
} curl -X POST "https://<API_URL>/api/v1/conversation" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_id": "user-123",
"message": "Подбери стартовый набор продукта под новичка.",
"image_b64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/w8AAwMB/6X8mNQAAAAASUVORK5CYII=",
"image_mime": "image/png",
"voice_b64": "<BASE64_AUDIO_OGG>",
"voice_mime": "audio/ogg",
"persona": {
"name": "Nova",
"age": 27,
"gender": "female",
"zodiac": "Gemini",
"temperament": {
"sanguine": 0.45,
"choleric": 0.25,
"phlegmatic": 0.20,
"melancholic": 0.10
},
"sociality": "ambivert",
"archetypes": ["Architect", "Sage", "Explorer"],
"role": "Ты — амбассадор бренда Aurora. Ты знаешь ассортимент A, B и C, официальные регламенты, гарантийные условия и типовые сценарии использования. Ты даёшь пошаговые инструкции, проверенные рекомендации и ссылки на первоисточники. Ты помогаешь выбирать конфигурации, планировать внедрение и оценивать риски. Ты пишешь кратко и структурировано, используешь списки и примеры, указываешь единицы измерения и конкретные цифры. Ты соблюдаешь юридические и этические ограничения; медицинских, юридических и инвестиционных советов не даёшь."
}
}'
import requests
API_URL = "https://<API_URL>"
API_KEY = "YOUR_API_KEY"
payload = {
"user_id": "user-123",
"message": "Подбери стартовый набор продукта под новичка.",
"image_b64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/w8AAwMB/6X8mNQAAAAASUVORK5CYII=",
"image_mime": "image/png",
"voice_b64": "<BASE64_AUDIO_OGG>",
"voice_mime": "audio/ogg",
"persona": {
"name": "Nova",
"age": 27,
"gender": "female",
"zodiac": "Gemini",
"temperament": {
"sanguine": 0.45,
"choleric": 0.25,
"phlegmatic": 0.20,
"melancholic": 0.10
},
"sociality": "ambivert",
"archetypes": ["Architect", "Sage", "Explorer"],
"role": (
"Ты — амбассадор бренда Aurora. Ты знаешь ассортимент A, B и C, "
"официальные регламенты, гарантийные условия и типовые сценарии использования. "
"Ты даёшь пошаговые инструкции, проверенные рекомендации и ссылки на первоисточники. "
"Ты помогаешь выбирать конфигурации, планировать внедрение и оценивать риски. "
"Ты пишешь кратко и структурировано, используешь списки и примеры, указываешь единицы измерения и цифры. "
"Ты соблюдаешь юридические и этические ограничения; медицинских, юридических и инвестиционных советов не даёшь."
)
}
}
resp = requests.post(
f"{API_URL}/api/v1/conversation",
headers={"Authorization": f"Bearer {API_KEY}"},
json=payload,
timeout=30,
)
print(resp.status_code, resp.json())
const API_URL = "https://<API_URL>";
const API_KEY = "YOUR_API_KEY";
const body = {
user_id: "user-123",
message: "Подбери стартовый набор продукта под новичка.",
image_b64: "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/w8AAwMB/6X8mNQAAAAASUVORK5CYII=",
image_mime: "image/png",
voice_b64: "<BASE64_AUDIO_OGG>",
voice_mime: "audio/ogg",
persona: {
name: "Nova",
age: 27,
gender: "female",
zodiac: "Gemini",
temperament: {
sanguine: 0.45,
choleric: 0.25,
phlegmatic: 0.20,
melancholic: 0.10
},
sociality: "ambivert",
archetypes: ["Architect", "Sage", "Explorer"],
role: "Ты — амбассадор бренда Aurora. Ты знаешь ассортимент A, B и C, официальные регламенты, гарантийные условия и типовые сценарии использования. Ты даёшь пошаговые инструкции, проверенные рекомендации и ссылки на первоисточники. Ты помогаешь выбирать конфигурации, планировать внедрение и оценивать риски. Ты пишешь кратко и структурировано, используешь списки и примеры, указываешь единицы измерения и цифры. Ты соблюдаешь юридические и этические ограничения; медицинских, юридических и инвестиционных советов не даёшь."
}
};
(async () => {
const resp = await fetch(`${API_URL}/api/v1/conversation`, {
method: "POST",
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify(body)
});
const data = await resp.json().catch(() => ({}));
console.log(resp.status, data);
})();
<?php
$apiUrl = 'https://<API_URL>';
$apiKey = 'YOUR_API_KEY';
$payload = [
"user_id" => "user-123",
"message" => "Подбери стартовый набор продукта под новичка.",
"image_b64" => "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/w8AAwMB/6X8mNQAAAAASUVORK5CYII=",
"image_mime" => "image/png",
"voice_b64" => "<BASE64_AUDIO_OGG>",
"voice_mime" => "audio/ogg",
"persona" => [
"name" => "Nova",
"age" => 27,
"gender" => "female",
"zodiac" => "Gemini",
"temperament" => [
"sanguine" => 0.45,
"choleric" => 0.25,
"phlegmatic" => 0.20,
"melancholic" => 0.10
],
"sociality" => "ambivert",
"archetypes" => ["Architect", "Sage", "Explorer"],
"role" => "Ты — амбассадор бренда Aurora. Ты знаешь ассортимент A, B и C, официальные регламенты, гарантийные условия и типовые сценарии использования. Ты даёшь пошаговые инструкции, проверенные рекомендации и ссылки на первоисточники. Ты помогаешь выбирать конфигурации, планировать внедрение и оценивать риски. Ты пишешь кратко и структурировано, используешь списки и примеры, указываешь единицы измерения и цифры. Ты соблюдаешь юридические и этические ограничения; медицинских, юридических и инвестиционных советов не даёшь."
]
];
$ch = curl_init("$apiUrl/api/v1/conversation");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer $apiKey",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $code, PHP_EOL, $response, PHP_EOL;
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"time"
)
func main() {
apiURL := "https://<API_URL>"
apiKey := "YOUR_API_KEY"
body := map[string]any{
"user_id": "user-123",
"message": "Подбери стартовый набор продукта под новичка.",
"image_b64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/w8AAwMB/6X8mNQAAAAASUVORK5CYII=",
"image_mime": "image/png",
"voice_b64": "<BASE64_AUDIO_OGG>",
"voice_mime": "audio/ogg",
"persona": map[string]any{
"name": "Nova",
"age": 27,
"gender": "female",
"zodiac": "Gemini",
"temperament": map[string]float64{
"sanguine": 0.45,
"choleric": 0.25,
"phlegmatic": 0.20,
"melancholic": 0.10,
},
"sociality": "ambivert",
"archetypes": []string{"Architect", "Sage", "Explorer"},
"role": "Ты — амбассадор бренда Aurora. Ты знаешь ассортимент A, B и C, официальные регламенты, гарантийные условия и типовые сценарии использования. Ты даёшь пошаговые инструкции, проверенные рекомендации и ссылки на первоисточники. Ты помогаешь выбирать конфигурации, планировать внедрение и оценивать риски. Ты пишешь кратко и структурировано, используешь списки и примеры, указываешь единицы измерения и цифры. Ты соблюдаешь юридические и этические ограничения; медицинских, юридических и инвестиционных советов не даёшь.",
},
}
b, _ := json.Marshal(body)
req, _ := http.NewRequest("POST", apiURL+"/api/v1/conversation", bytes.NewReader(b))
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
client := &http.Client{Timeout: 30 * time.Second}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
rb, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(rb))
}
[
{
"id": "faq-001",
"category": "faq",
"text": "Краткий, законченный фрагмент знаний, факт или сценарий.",
"tags": ["ключевые слова", "ключевые фразы", "предложения"]
}
] [
{
"id": "faq-shipping-1",
"category": "faq",
"tags": ["доставка", "сколько идет доставка", "сроки доставки", "shipping"],
"text": "Стандартная доставка по России: 3–7 рабочих дней. Отправка заказа — на следующий рабочий день после оплаты."
},
{
"id": "faq-refund-1",
"category": "faq",
"tags": ["возврат", "refund", "гарантия"],
"text": "Вы можете вернуть товар в течение 14 дней при сохранении товарного вида и упаковки. Возврат средств — в течение 5 рабочих дней."
}
]
[
{
"id": "consult-onboarding-1",
"category": "consulting",
"tags": ["с чего начать", "onboarding", "я новичок"],
"text": "1) уточни цель пользователя в 1–2 вопросах; 2) предложи один простой шаг; 3) договорись о следующем шаге."
},
{
"id": "consult-kpi-1",
"category": "consulting",
"tags": ["kpi", "метрики", "цели"],
"text": "Помоги пользователю сформулировать 1–3 измеримых показателя с горизонтом 2–4 недели, без сложной терминологии и учитывая текущий контекст беседы."
}
]
[
{
"id": "dating-profile-1",
"category": "dating",
"tags": ["расскажи о себе", "ты кто", "можешь рассказать о себе"],
"text": "Ты любишь настольные игры и кофе, но не любишь шумные клубы. Ты ищешь тёплое общение и долгосрочные отношения важны для тебя."
},
{
"id": "dating-first-message",
"category": "dating",
"tags": ["привет", "здарова", "hey"],
"text": "Поздоровайся с пользовтаелем и спроси как у него дела."
},
{
"id": "dating-topics-1",
"category": "dating",
"tags": ["давай поговорим", "не знаю, о чем говорить", "на какую тему поговорим"],
"text": "Предложи свободную тему для продолжения разговора, которая может подойти в текущей ситуации и в соотвествие с текущим контекстом, а также настроением беседы."
}
]
[
{
"id": "sales-plan-basic",
"category": "sales",
"tags": ["тариф basic", "начальный план"],
"text": "Тариф Basic: до 3 пользователей и 10 000 запросов в месяц. Хорош для тестов и маленьких команд."
},
{
"id": "sales-plan-pro",
"category": "sales",
"tags": ["тариф pro", "масштабирование"],
"text": "Тариф Pro: до 10 пользователей и 100 000 запросов в месяц, приоритетная поддержка. Подходит для продакшн-нагрузки и команд."
},
{
"id": "sales-objection-price",
"category": "sales",
"tags": ["дорого", "нет бюджета", "обработка возражений", "sales:price"],
"text": "1) не спорь; 2) уточни, какой результат он хочет и насколько это важно по времени; 3) покажи связь цены с ценностью и рисками отказа; 4) предложи подобрать более доступный вариант, если есть."
},
{
"id": "sales-objection-price2",
"category": "sales",
"tags": ["более дешевый план, чем pro", "более доступный вариант, чем pro"],
"text": "Тариф Basic-Pro: до 5 пользователей и 40 000 запросов в месяц. Подходит для проектов среднего масштаба."
}
]