Pular para o conteúdo principal
POST
/
v1
/
external-support
/
{projectId}
/
conversations
/
close
Close Conversation
curl --request POST \
  --url https://gateway.jelou.ai/jelouapi/v1/external-support/{projectId}/conversations/close \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "botId": "<string>",
  "userId": "<string>",
  "redirectPayload": {
    "type": "<string>",
    "text": "<string>"
  }
}
'
{
  "message": "<string>",
  "statusMessage": "<string>",
  "status": 123,
  "error": {
    "code": "<string>",
    "key": "<string>",
    "description": "<string>",
    "developerMessages": {},
    "clientMessages": {}
  },
  "validationError": {}
}

Documentation Index

Fetch the complete documentation index at: https://docs.jelou.ai/llms.txt

Use this file to discover all available pages before exploring further.

Descrição

Encerra uma conversa ativa no painel de atendimento externo. Permite especificar uma mensagem de encerramento que será enviada ao usuário e o motivo do encerramento. Ao ser executado, o Jelou emite o evento conversation.close para o webhook configurado na integração.

Endpoint

POST https://gateway.jelou.ai/jelouapi/v1/external-support/{projectId}/conversations/close

Parâmetros de rota

projectId
string
obrigatório
Identificador único do projeto Jelou a partir do qual a conversa é encerrada.

Parâmetros do corpo

botId
string
obrigatório
Identificador do bot do Jelou associado à conversa.
userId
string
obrigatório
Identificador do usuário final cuja conversa se deseja encerrar.
redirectPayload
object
Mensagem que será enviada ao usuário no momento do encerramento da conversa.
  • type — Tipo de mensagem: text ou edge.
  • text — Texto da mensagem de encerramento (quando type é text).

Autenticação

Todas as requisições devem incluir o cabeçalho x-api-key com a API key do projeto Jelou.
x-api-key: API_KEY

Exemplo de requisição

O exemplo a seguir encerra a conversa do usuário USER_ID e inclui uma mensagem de encerramento:
cURL
curl --request POST \
  --url https://gateway.jelou.ai/jelouapi/v1/external-support/PROJECT_ID/conversations/close \
  --header 'x-api-key: API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "botId": "BOT_ID",
    "userId": "USER_ID",
    "redirectPayload": {
      "type": "text",
      "text": "Mensagem de encerramento da conversa"
    }
  }'

Respostas

CódigoStatusDescrição
200OKConversa encerrada com sucesso.
401UnauthorizedCredenciais de autenticação inválidas ou ausentes.
404Not FoundBot ou usuário não encontrado.
422Unprocessable EntityOs campos enviados contêm valores inválidos ou não passam nas validações.
500Internal Server ErrorErro interno do servidor.

Exemplo de resposta

{
  "message": [
    "Conversation closed successfully"
  ],
  "statusMessage": "success",
  "status": 1,
  "data": {
    "conversationId": "CONVERSATION_ID",
    "status": "closed",
    "endedReason": "closed_by_operator"
  }
}

Evento webhook conversation.close

Ao executar este recurso, o Jelou emitirá o evento conversation.close ao webhook configurado na integração. O payload inclui o motivo do encerramento e a mensagem enviada ao usuário.
{
  "event": "conversation.close",
  "timestamp": 1777992928697,
  "field": "conversation",
  "object": "conversation_event",
  "event_type": "close",
  "project_id": "PROJECT_ID",
  "room_id": "ROOM_ID",
  "contact": {
    "id": "USER_ID",
    "name": "USER_NAME"
  },
  "conversation": {
    "id": "CONVERSATION_ID"
  },
  "bot": {
    "id": "BOT_ID",
    "name": "BOT_NAME"
  },
  "value": {
    "reason": "closed_by_operator",
    "redirectPayload": {
      "type": "text",
      "text": "Mensagem de encerramento da conversa"
    }
  }
}

Campos do payload

CampoTipoDescrição
eventstringNome do evento: conversation.close
timestampnumberMarca de tempo Unix em milissegundos do momento do evento.
project_idstringIdentificador do projeto Jelou.
room_idstringIdentificador da sala de conversa.
contact.idstringIdentificador do usuário final.
contact.namestringNome do usuário final.
conversation.idstringIdentificador único da conversa encerrada.
bot.idstringIdentificador do bot associado.
bot.namestringNome do bot associado.
value.reasonstringMotivo do encerramento: closed_by_operator.
value.redirectPayload.typestringTipo da mensagem de encerramento: text ou edge.
value.redirectPayload.textstringTexto da mensagem enviada ao usuário ao encerrar (opcional).

Autorizações

Authorization
string
header
obrigatório

Basic authentication using Base64 encoded clientId:clientSecret

Parâmetros de caminho

projectId
string
obrigatório

Unique identifier of the Jelou project

Corpo

application/json
botId
string
obrigatório
userId
string
obrigatório
redirectPayload
object

Resposta

Conversation closed successfully