Prata med din AI Agent programmatiskt via realtids-endpointen Chat — perfekt för att bygga ett eget chattgränssnitt.
Realtids-endpointen Chat skickar ett besökarmeddelande till din AI Agent och returnerar AI-svaret i en enda round-trip. Det här är endpointen du vill använda när du bygger ett eget chattgränssnitt ovanpå Quickchat AI.
Den skiljer sig från de andra endpointsen på två sätt: den ligger på app.quickchat.ai/chat, utanför bas-sökvägarna /v1/api/ och /v1/api_core/, och den läser scenario_id från request-bodyn i stället för från token. Den använder samma Bearer-tokenautentisering som resten av detta API.
Send Message
Section titled “Send Message”POST https://app.quickchat.ai/chat
Request Body
| Parameter | Description |
|---|---|
scenario_id string, required | ID för din AI Agent. Måste matcha det scenario_id som Bearer-token är kopplad till |
text string, required | Användarens inmatade meddelande |
conv_id string | Konversations-ID. Utelämna i den första requesten för att starta en ny konversation, skicka sedan tillbaka det returnerade conv_id i efterföljande requests för att fortsätta den |
client_metadata object | Anpassade nyckel-värde-par (vi rekommenderar högst 5 nycklar) som kopplas till varje meddelande. Visas som datakolumner i konversationsexporten i Inbox |
En request utan conv_id startar en ny konversation, och det genererade conv_id returneras i svaret. Lagra det conv_id och skicka tillbaka det i senare requests för att bibehålla konversationskontexten över flera användarinteraktioner.
# Start a new conversation by omitting conv_idcurl -X POST https://app.quickchat.ai/chat \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "scenario_id": "<SCENARIO_ID>", "text": "Hello!"}'import requests
response = requests.post( url="https://app.quickchat.ai/chat", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "scenario_id": "<SCENARIO_ID>", "text": "Hello!", },)data = response.json()Response 200 OK
{ "conv_id": "conv-uuid-1234", "reply": "Hi there! How can I help you today?", "ord_number": 3, "src": 0}| Field | Description |
|---|---|
conv_id string | Konversationsidentifierare. Returneras alltid. Skicka tillbaka det i body-fältet conv_id för att fortsätta konversationen |
reply string | AI Agentens svar. Kan innehålla HTML som <br>-radbrytningar |
ord_number integer | Sekventiellt meddelandenummer inom konversationen |
src integer | Intern källindikator. API-klienter kan ignorera detta fält |
För att fortsätta en befintlig konversation skickar du tillbaka det conv_id du fick:
curl -X POST https://app.quickchat.ai/chat \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "scenario_id": "<SCENARIO_ID>", "conv_id": "conv-uuid-1234", "text": "What is your return policy?"}'import requests
response = requests.post( url="https://app.quickchat.ai/chat", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "scenario_id": "<SCENARIO_ID>", "conv_id": "conv-uuid-1234", "text": "What is your return policy?", },)data = response.json()Client Metadata
Section titled “Client Metadata”Chat-endpointen accepterar en valfri client_metadata-parameter: anpassade attribut som tilldelas varje nytt meddelande och visas som datakolumner i konversationsexporten i Inbox. Du kan koppla samma attribut via widgeten. Vi rekommenderar att du skickar högst 5 nycklar åt gången, till exempel {"userId": 12, "website": "mywebsite.com"}. Detta är en riktlinje, inte en gräns som API:et tvingar fram.
curl -X POST https://app.quickchat.ai/chat \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "scenario_id": "<SCENARIO_ID>", "conv_id": "conv-uuid-1234", "text": "Hello!", "client_metadata": {"userId": 12, "website": "mywebsite.com"}}'import requests
response = requests.post( url="https://app.quickchat.ai/chat", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "scenario_id": "<SCENARIO_ID>", "conv_id": "conv-uuid-1234", "text": "Hello!", "client_metadata": {"userId": 12, "website": "mywebsite.com"}, },)data = response.json()Knowledge Base Tag Filtering
Section titled “Knowledge Base Tag Filtering”Du kan lägga till taggar på Knowledge Base-artiklar och använda dem för att begränsa vilka artiklar AI:n utgår från, så att den svarar baserat på endast en delmängd av Knowledge Base. Denna filtrering stöds för närvarande endast via API:et.
För att filtrera efter tagg lägger du till en kb_topic-nyckel i client_metadata. Nyckeln kb_topic måste finnas med i varje request i konversationen, inklusive den request som startar den. Värdet kan ändras mellan requests, men själva nyckeln måste finnas med genom hela konversationen för att filtret ska gälla.
I exemplet nedan inkluderas varje artikel som är taggad your-topic, eller helt saknar tagg, i kandidatpoolen av kunskap för svaret.
json={ "scenario_id": "<SCENARIO_ID>", "conv_id": "conv-uuid-1234", "text": "Hello!", "client_metadata": {"kb_topic": "your-topic"},}Errors
Section titled “Errors”Chat-endpointen returnerar ett felmeddelande i klartext med en lämplig HTTP-statuskod.
| Status | Description | Action |
|---|---|---|
400 | Saknat scenario_id eller inga autentiseringsuppgifter angivna | Inkludera scenario_id i bodyn och en giltig Authorization: Bearer <API_TOKEN>-header |
400 | Ogiltigt conv_id (Conversation conv_id <id> is not valid.) | Utelämna conv_id för att starta en ny konversation, eller skicka ett conv_id som returnerats av ett tidigare svar |
401 | Ogiltiga autentiseringsuppgifter (Unauthorized.) | Kontrollera att din Bearer-token eller API-nyckel är giltig för detta scenario_id |
404 | Okänt scenario_id (No implementation found for scenario_id <id>) | Verifiera scenario_id och att din Bearer-token är kopplad till det |
500 | Internt serverfel | Ett problem på vår sida. Vänligen kontakta supporten |
503 | Service unavailable | Servrarna är tillfälligt överbelastade eller under underhåll. Om problemet kvarstår, vänligen kontakta supporten |