Élever
Aperçu
Le message Élever améliore la réponse d'un agent en améliorant le ton, corrigeant les erreurs, et ajoutant du contexte. Il fournit un feedback complet et une notation sur divers aspects de la performance de l'agent.
Référence API
Point de Terminaison
- URL WebSocket :
wss://ws-{{tenant}}.oco.optave.{{tld}} - Point de Terminaison REST (POST) :
https://{{tenant}}.oco.optave.{{tld}}/message/elevate
Pour pouvoir envoyer des messages, il est nécessaire de s'authentifier d'abord.
Charge Utile de Requête
Le message elevate requiert un payload contenant l'historique de conversation (conversations), connections.threadId, connections.parentId (ID du message à améliorer), le contenu à améliorer (content), et context.organizationId (l'identifiant d'organisation spécifique à votre client). Les autres champs sont optionnels.
- REST
- WebSocket
{
session: {
sessionId: "a1b2c3d4-e5f6-7890-abcd-123456789012",
channel: { language: "en-US" },
interface: { type: "chat" }
},
request: {
requestId: "a1b2c3d4-e5f6-7890-1234-56789ab2345",
attributes: {
content: "Hello! How can I assist you today?", // REQUIS - contenu du message à améliorer
variant: "A"
},
connections: {
journeyId: "",
parentId: "9e8d7c6b-5a4f-3e2d-1c0b-0987654321ab", // REQUIS - ID du message à éditer
threadId: "9e8d7c6b-5a49-3827-1605-948372615abc" // REQUIS
},
context: { // autres champs générés par Optave
caseId: "",
departmentId: "",
operatorId: "",
organizationId: "f7e8d9c0-b1a2-3456-7890-123456789abc", // REQUIS
userId: ""
},
reference: {
ids: [
{ name: "", value: "" }
],
labels: [],
tags: []
},
resources: {
codes: [],
links: [],
offers: []
},
scope: {
conversations: [ // REQUIS
{
conversationId: "",
participants: [
{
participantId: "2c4f8a9b-1d3e-5f70-8293-456789012def",
displayName: "John Doe",
role: "user"
}
],
messages: [
{
content: "Hi, can you help me?",
participantId: "2c4f8a9b-1d3e-5f70-8293-456789012def",
timestamp: "2024-01-15T10:30:00.000Z"
}
],
metadata: {}
}
],
interactions: [
{
content: "Support ticket T12345 has been created for user John Doe",
id: "1",
name: "ticket_created",
role: "system",
timestamp: "2024-01-15T10:29:45.000Z"
}
]
}
}
}
{
headers: {
correlationId: "20e35101-61e8-46e0-926d-6af84b378d95",
tenantId: "6e3j5hdgemmjmoqih5u9b4mmqhrr",
traceId: "405101-61e8-46e0-926d-6af84b378d95",
idempotencyKey: "30e35101-61e8-46e0-926d-6af84b378d95",
identifier: "message",
action: "elevate",
schemaRef: "optave.message.v3",
sdkVersion: "3.2.1",
timestamp: "2025-09-05T16:30:00.000Z"
},
payload: {
session: {
sessionId: "a1b2c3d4-e5f6-7890-abcd-123456789012",
channel: { language: "en-US" },
interface: { type: "chat" }
},
request: {
requestId: "a1b2c3d4-e5f6-7890-1234-56789ab2345",
attributes: {
content: "Hello! How can I assist you today?", // REQUIS - contenu du message à améliorer
variant: "A"
},
connections: {
journeyId: "",
parentId: "9e8d7c6b-5a4f-3e2d-1c0b-0987654321ab", // REQUIS - ID du message à éditer
threadId: "9e8d7c6b-5a49-3827-1605-948372615abc" // REQUIS
},
context: { // autres champs générés par Optave
caseId: "",
departmentId: "",
operatorId: "",
organizationId: "f7e8d9c0-b1a2-3456-7890-123456789abc", // REQUIS
userId: ""
},
reference: {
ids: [
{ name: "", value: "" }
],
labels: [],
tags: []
},
resources: {
codes: [],
links: [],
offers: []
},
scope: {
conversations: [ // REQUIS
{
conversationId: "",
participants: [
{
participantId: "2c4f8a9b-1d3e-5f70-8293-456789012def",
displayName: "John Doe",
role: "user"
}
],
messages: [
{
content: "Hi, can you help me?",
participantId: "2c4f8a9b-1d3e-5f70-8293-456789012def",
timestamp: "2024-01-15T10:30:00.000Z"
}
],
metadata: {}
}
],
interactions: [
{
content: "Support ticket T12345 has been created for user John Doe",
id: "1",
name: "ticket_created",
role: "system",
timestamp: "2024-01-15T10:29:45.000Z"
}
]
}
}
},
action: "message"
}
Exemples
Réponses
🟢 Succès (200-201)
La réponse consiste en un superpouvoir improve_answer.
{
action: "superpower",
actionType: "improve_answer",
state: "completed",
message: {
results: [
{
response: [
{
content: "Thank you for your patience, Alice. I can confirm that your booking has been successfully processed. Your reference number is ABC123. You should receive the confirmation email within the next hour. If you don't receive it by then, please don't hesitate to contact us again, and we'll look into it right away."
}
]
}
]
}
}
Lors de l'utilisation du WebSocket, plusieurs superpouvoirs et différentes mises à jour d'état seront reçus. Chaque superpouvoir supplémentaire sera envoyé comme un message séparé avec son actionType spécifique et les résultats pertinents.
🔴 Erreur
Les messages d'erreur sont similaires en format aux messages de succès, mais contiennent un état d'erreur et un objet JSON "response" :
{
action: "superpower",
actionType: "<superpower-name>",
state: "error",
message: {
results: [
{
response: [
{
content: 'Erreur lors de la récupération des résultats'
}
]
}
]
}
}