Endpoint Tolky Reasoning
Documentação da API que processa perguntas utilizando a inteligência do Tolky, mantendo o contexto das conversas.
Este endpoint processa perguntas enviadas pelo usuário utilizando a inteligência do Tolky, registrando e mantendo o contexto das conversas.
Índice
- Descrição Geral
- Autenticação
- Contexto e Sessões
- Parâmetros e Payload
- Exemplo de Requisição
- Resposta
- Erros e Tratamento
- Tópicos Adicionais
Descrição Geral
Este endpoint é responsável por:
- Receber uma pergunta do usuário.
- Processar a resposta com base no contexto da conversa.
- Registrar e manter o histórico das interações.
Autenticação
- Token de Autenticação:
Enviar um bearer token válido no header da requisição:
--header 'Authorization: Bearer {your-bearer-token}
Observação: Consulte o administrador para obter seu token e a base url.
Contexto e Sessões
Para manter a continuidade do diálogo, é obrigatório enviar:
- sessionId:
- Identificador único da sessão do usuário.
- Observação: Envie-o vazio na primeira requisição, se for o caso.
- conversationId:
- Identificador único da conversa, utilizado para agrupar os metadados do diálogo.
Importante:
- O Tolky gerencia automaticamente o histórico a partir do
conversationId
. - Não são suportadas conversas simultâneas provenientes de múltiplos dispositivos; mensagens enviadas fora do contexto não serão consideradas.
Parâmetros e Payload
Parâmetros de Entrada
-
question
(string, obrigatório)Texto com a pergunta ou mensagem do usuário. Caso inclua arquivos/imagens, insira a URL correspondente.
-
sessionId
(string, obrigatório)ID da sessão corrente. Utilize-o vazio na primeira requisição.
-
conversationId
(string, obrigatório)ID da conversa atual.
-
originalDIalogue
(array, opcional)Histórico de mensagens no formato definido. Se não enviado, uma nova conversa será iniciada.
-
contextData
(string, opcional)Dados contextuais da conversa, como informações sobre o cliente ou contexto da interação. Estas informações serão utilizadas para enriquecer o diálogo e não serão gravadas.
Retorno
assistantResponse
: Objeto contendo a resposta do tolky com variações de formato.assistantResponse.string
: Formato padrão de texto utilizando markdown.assistantResponse.media
: Array de objetos comtype
eurl
organizando as mídias.conversation
: array de objetos conforme estão sendo salvos no banco de dados.sessionId
: uuid da sessão que está concatenando esta e outras conversas do mesmo usuário. Duas ou mais conversas podem ser abertas em uma mesma sessão, permitindo que esta “usuário” seja reconhecido e seu contexto seja compartilhado entre as conversas.conversationId
: Elemento que agrupa os meta dados de uma conversa.leadId
: Elemento que define um usuário, com seus dados pessoais e conversas tidas com um determinado avatar.tokensControl
: array de objetos que registram cada requisição feita em uma jornada de resposta com o consumo de tokens de cada uma delas.
Exemplos
cURL
curl --location '{base-url}/api/externalAPIs/public/tolkyReasoning' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {valid-bearer-token}' \
--data '{
"question": "desculpe, perdi a mensagem anterior?",
"originalDIalogue": [],
"sessionId": "e5ae90gt-588e-4cbe-bccb-98f681409d0d",
"conversationId": "34f73bgt-d22a-4c5a-af7c-2dd4e135f348",
"contextData": "O cliente tem um plano de 800megas com um ponto adicional de wifi.",
"userData": {
"externalUserId": "24664",
"tolkyUserId": "",
"tolkyLeadId": "",
"userName": "",
"email": "",
"phone": ""
}
}'
retorno
{
"code":200,"data":{
"assistantResponse":{
"string":"Ah, eu sou uma IA desenvolvida para tornar as conversas mais humanas e próximas, mesmo no mundo digital. Estou sempre aprendendo com as interações para oferecer um atendimento personalizado e acolhedor. E você, como posso te ajudar hoje? Alguma dúvida específica ou algo em que eu possa te auxiliar?"
"media": [
{
"type": "img",
"url": ""
}
]
},
"tokensControl": [
{
"model": "gpt-4-1106-preview",
"tokens": 679
},
{
"model": "gpt-4o-mini",
"tokens": 611
},
{
"model": "gpt-4o-mini",
"tokens": 588
},
{
"model": "gpt-4o-mini",
"tokens": 543
},
{
"model": "gpt-4o-mini",
"tokens": 535
},
{
"model": "gpt-4o-mini",
"tokens": 355
}
],
"sessionId":"47ae7cc2-3863-4e27-86a2-3b6e382410ab",
"conversationId":"4b94c9a1-9333-48dc-a8cd-11c466145f5e",
"sessionId": "0fc19f67-23e6-4fa9-a344-d4877438a8f4", // send it empty the first time
"leadId": "db8989b6-84fe-426a-a232-6a31144b6035",
"tickets": [
{
"id": ""
}
]
},
"message":"OK"
}