> ## 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.

# Consultar conversación

> Consulta el estado y detalles de una conversación específica

<Note>
  Este endpoint no emite ningún evento al webhook. Es una consulta de solo lectura para obtener el estado actual de una conversación.
</Note>

## Descripción

Consulta los detalles y el estado actual de una conversación específica. Devuelve información del usuario, el bot asociado, las fechas de inicio y cierre, y la razón de finalización si aplica.

## Endpoint

```
GET https://gateway.jelou.ai/platform/v1/external-support/{projectId}/conversations/{conversationId}
```

## Parámetros de ruta

<ParamField path="projectId" type="string" required>
  Identificador único del proyecto de Jelou al que pertenece la conversación.
</ParamField>

<ParamField path="conversationId" type="string" required>
  Identificador único de la conversación que se desea consultar.
</ParamField>

## Autenticación

Todas las peticiones deben incluir el encabezado `x-api-key` con la API key del proyecto de Jelou.

```
x-api-key: API_KEY
```

## Ejemplo de solicitud

El siguiente ejemplo consulta los detalles de la conversación `CONVERSATION_ID` dentro del proyecto `PROJECT_ID`:

```bash cURL theme={null}
curl --request GET \
  --url https://gateway.jelou.ai/platform/v1/external-support/PROJECT_ID/conversations/CONVERSATION_ID \
  --header 'x-api-key: API_KEY'
```

## Respuestas

| Código | Estado                | Descripción                                                        |
| ------ | --------------------- | ------------------------------------------------------------------ |
| 200    | OK                    | Conversación encontrada. Devuelve los detalles de la conversación. |
| 401    | Unauthorized          | Credenciales de autenticación inválidas o faltantes.               |
| 404    | Not Found             | Conversación no encontrada para los identificadores indicados.     |
| 500    | Internal Server Error | Error interno del servidor.                                        |

## Ejemplo de respuesta

```json theme={null}
{
  "message": [
    "Conversation retrieved successfully"
  ],
  "statusMessage": "success",
  "status": 1,
  "data": {
    "_id": "CONVERSATION_ID",
    "roomId": "ROOM_ID",
    "state": "closed",
    "startAt": "2026-01-15T10:30:00.000Z",
    "endAt": "2026-01-15T10:45:00.000Z",
    "endedReason": "closed_by_operator",
    "User": {
      "id": "USER_ID",
      "names": "USER_NAME",
      "referenceId": "USER_REFERENCE_ID",
      "createdAt": "2025-01-28T20:54:25.572Z"
    },
    "Bot": {
      "id": "BOT_ID",
      "name": "BOT_NAME",
      "type": "Whatsapp"
    }
  }
}
```

## Estructura de la respuesta

| Campo                   | Tipo   | Descripción                                                            |
| ----------------------- | ------ | ---------------------------------------------------------------------- |
| `data._id`              | string | Identificador único de la conversación.                                |
| `data.roomId`           | string | Identificador de la sala de conversación.                              |
| `data.state`            | string | Estado de la conversación: `active` o `closed`.                        |
| `data.startAt`          | date   | Fecha y hora de inicio de la conversación.                             |
| `data.endAt`            | date   | Fecha y hora de cierre. Presente solo si la conversación está cerrada. |
| `data.endedReason`      | string | Razón del cierre: `closed_by_operator`.                                |
| `data.User.id`          | string | Identificador del usuario final.                                       |
| `data.User.names`       | string | Nombre del usuario final.                                              |
| `data.User.referenceId` | string | Identificador de referencia externo del usuario.                       |
| `data.Bot.id`           | string | Identificador del bot que atendió la conversación.                     |
| `data.Bot.name`         | string | Nombre del bot.                                                        |
| `data.Bot.type`         | string | Canal del bot (por ejemplo: `Whatsapp`).                               |


## OpenAPI

````yaml GET /v1/external-support/{projectId}/conversations/{conversationId}
openapi: 3.1.0
info:
  title: Jelou API
  description: >-
    API for the Jelou platform. Send messages, manage campaigns, handle
    conversations, users, databases, and widgets.
  version: 1.0.0
servers:
  - url: https://api.jelou.ai
    description: Production server
security:
  - basicAuth: []
tags:
  - name: Messages
    description: Send messages to users
  - name: Campaigns
    description: HSM campaigns and templates
  - name: Conversations
    description: Chat history and metrics
  - name: Users
    description: User state and cache management
  - name: Resources
    description: Media resource management
  - name: Datum
    description: Database CRUD operations
  - name: Widget
    description: Widget and room management
  - name: PMA Custom
    description: External support panel integration
paths:
  /v1/external-support/{projectId}/conversations/{conversationId}:
    servers:
      - url: https://gateway.jelou.ai/platform
        description: External Support Panel API
    get:
      tags:
        - External Support Panel
      summary: Get Conversation
      description: >-
        Retrieve the details of a specific conversation in the external support
        panel.
      operationId: getExternalConversation
      parameters:
        - name: projectId
          in: path
          required: true
          description: Unique identifier of the Jelou project
          schema:
            type: string
        - name: conversationId
          in: path
          required: true
          description: Unique identifier of the conversation
          schema:
            type: string
      responses:
        '200':
          description: Conversation retrieved successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - apiKey: []
components:
  responses:
    Unauthorized:
      description: Unauthorized - Invalid authentication credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Not found - Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        message:
          oneOf:
            - type: string
            - type: array
              items:
                type: string
        statusMessage:
          type: string
        status:
          type: integer
        error:
          type: object
          properties:
            code:
              type: string
            key:
              type: string
            description:
              type: string
            developerMessages:
              type: object
            clientMessages:
              type: object
        validationError:
          type: object
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Basic authentication using Base64 encoded clientId:clientSecret
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API key del proyecto de Jelou

````