> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sell.ia.proativia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Atualizar Conversa

> Atualiza os dados de uma conversa externa (nome, telefone, username, setor, responsável e status).

## Requisição

`PUT https://crm.wavups.com/api/v1/account-external-conversation/{id}`

<ParamField header="Token" type="string" required>
  Seu token de autenticação.
</ParamField>

<ParamField path="id" type="string" required>
  ID da conversa externa a ser atualizada.
</ParamField>

### Body Parameters

<ParamField body="contactName" type="string">
  Nome do contato da conversa.
</ParamField>

<ParamField body="contactPhone" type="string">
  Número de telefone do contato (ex: `+5511999990000`).
</ParamField>

<ParamField body="contactUsername" type="string">
  Username do contato no canal (ex: handle do Instagram ou nome de usuário no WhatsApp).
</ParamField>

<ParamField body="accountChatSectorId" type="string">
  ID do setor de chat a ser atribuído à conversa.
</ParamField>

<ParamField body="conversationOwnerId" type="string">
  ID do usuário responsável. Esta propriedade define o responsável (`leadOwner`) no objeto Lead vinculado à conversa.
</ParamField>

<ParamField body="status" type="string">
  Status da conversa. Deve ser `active` ou `inactive`.
</ParamField>

<ParamField body="state" type="string">
  Estado do atendimento da conversa. Valores aceitos: `NEW`, `AI_ANSWERING`, `NEEDS_HUMAN`, `NO_RESPONSE`, `COMPLETED`, `ARCHIVED`.
</ParamField>

***

## Resposta

Retorna o objeto da conversa atualizada, incluindo os dados do Lead e responsável vinculados.

<ResponseField name="id" type="string">
  Identificador único da conversa.
</ResponseField>

<ResponseField name="contactName" type="string">
  Nome do contato da conversa.
</ResponseField>

<ResponseField name="contactPhone" type="string | null">
  Telefone do contato.
</ResponseField>

<ResponseField name="contactUsername" type="string | null">
  Username do contato.
</ResponseField>

<ResponseField name="accountChatSectorId" type="string | null">
  ID do setor de chat ao qual a conversa pertence.
</ResponseField>

<ResponseField name="status" type="string">
  Status atualizado da conversa (`active` ou `inactive`).
</ResponseField>

<ResponseField name="state" type="string | null">
  Estado atual do atendimento da conversa. Valores possíveis:

  * `NEW`: conversa recém-criada, ainda não iniciada.
  * `AI_ANSWERING`: a IA está respondendo automaticamente ao contato.
  * `NEEDS_HUMAN`: a conversa precisa de atendimento humano.
  * `NO_RESPONSE`: o contato não respondeu.
  * `COMPLETED`: o atendimento foi concluído.
  * `ARCHIVED`: a conversa foi arquivada.
</ResponseField>

<ResponseField name="createdAt" type="string">
  Data de criação da conversa (ISO 8601).
</ResponseField>

<ResponseField name="AccountCRMLead" type="object | null">
  Dados do Lead vinculado, incluindo o responsável atualizado (`leadOwner`).
</ResponseField>

***

## Exemplos

<RequestExample>
  ```bash PUT /api/v1/account-external-conversation/{id} theme={null}
  curl --request PUT \
    --url 'https://crm.wavups.com/api/v1/account-external-conversation/clxyz123' \
    --header 'Token: SEU_TOKEN_DE_API' \
    --header 'Content-Type: application/json' \
    --data '{
      "contactName": "Maria Silva",
      "contactPhone": "+5511999990000",
      "contactUsername": "mariasilva",
      "accountChatSectorId": "csector001",
      "conversationOwnerId": "cuser789",
      "status": "inactive"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "clxyz123",
    "contactName": "Maria Silva",
    "contactPhone": "+5511999990000",
    "contactUsername": "mariasilva",
    "accountChatSectorId": "csector001",
    "status": "inactive",
    "state": "NEW",
    "createdAt": "2025-09-15T10:00:00.000Z",
    "AccountCRMLead": {
      "id": "clead456",
      "leadOwner": "cuser789",
      "LeadOwner": {
        "User": {
          "name": "João Souza"
        }
      }
    }
  }
  ```

  ```json 400 theme={null}
  {
    "error": "Invalid status. Must be 'active' or 'inactive'"
  }
  ```

  ```json 404 theme={null}
  {
    "error": "Account external conversation not found"
  }
  ```

  ```json 500 theme={null}
  {
    "error": "Error to update account external conversation"
  }
  ```
</ResponseExample>


## OpenAPI

````yaml PUT /account-external-conversation/{id}
openapi: 3.0.3
info:
  title: WavUps CRM API
  description: >-
    API pública da plataforma WavUps CRM — gerencie leads, produtos, categorias,
    atendimentos, agendamentos, conversas e pipelines de CRM.
  version: 1.0.0
servers:
  - url: https://crm.wavups.com/api/v1
    description: Servidor de produção
security:
  - Token: []
paths:
  /account-external-conversation/{id}:
    put:
      tags:
        - Conversas
      summary: Atualizar Conversa
      description: >-
        Atualiza os dados de uma conversa externa (contato, setor, responsável e
        status).
      operationId: updateConversation
      parameters:
        - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                contactName:
                  type: string
                contactPhone:
                  type: string
                  nullable: true
                contactUsername:
                  type: string
                  nullable: true
                accountChatSectorId:
                  type: string
                  nullable: true
                conversationOwnerId:
                  type: string
                  nullable: true
                  description: Define o responsável (leadOwner) no Lead associado.
                status:
                  type: string
                  enum:
                    - active
                    - inactive
      responses:
        '200':
          description: Conversa atualizada com sucesso.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conversation'
        '400':
          $ref: f0d9652f-d415-482f-99a4-828a5560976c
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
components:
  parameters:
    id:
      name: id
      in: path
      required: true
      description: Identificador único do recurso.
      schema:
        type: string
  schemas:
    Conversation:
      type: object
      properties:
        id:
          type: string
        contactName:
          type: string
          nullable: true
        contactPhone:
          type: string
          nullable: true
        accountChatSectorId:
          type: string
          nullable: true
        conversationOwnerId:
          type: string
          nullable: true
        status:
          type: string
        state:
          type: string
          enum:
            - NEW
            - AI_ANSWERING
            - NEEDS_HUMAN
            - NO_RESPONSE
            - COMPLETED
            - ARCHIVED
          nullable: true
        createdAt:
          type: string
          format: date-time
    ErrorMessage:
      type: object
      properties:
        error:
          type: string
          example: Recurso não encontrado.
  responses:
    Error404:
      description: Recurso não encontrado.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Error500:
      description: Erro interno no servidor.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
  securitySchemes:
    Token:
      type: apiKey
      in: header
      name: Token
      description: Token de autenticacao gerado na plataforma WavUps CRM.

````