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

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 com type e url 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"
}