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

# Atualizar Ticket

> Atualiza os campos de um ticket

## Descrição

Atualiza um ou mais campos de um ticket. Todos os campos são opcionais, mas pelo menos um deve ser fornecido. Requer autenticação.

## Headers

<ParamField header="Authorization" type="string" required>
  Bearer token JWT para autenticação
</ParamField>

<ParamField header="Content-Type" type="string" required>
  `application/json`
</ParamField>

## Path Parameters

<ParamField path="id" type="number" required>
  ID do ticket
</ParamField>

## Body Parameters

<ParamField body="status" type="string">
  Novo status do ticket

  Valores aceitos:

  * `open` - Aberto
  * `in_progress` - Em atendimento
  * `resolved` - Resolvido
  * `closed` - Fechado
</ParamField>

<ParamField body="issue" type="string">
  Assunto/motivo do ticket

  Valores aceitos:

  * `Não recebi meus prêmios`
  * `Não estou recebendo a edição`
  * `Me desinscrevi e continuo recebendo`
  * `Alterações de cadastro`
  * `Não estou conseguindo indicar`
  * `Não estou conseguindo indicar o the news`
  * `Prêmio com defeito`
  * `Meus pontos no streak não estão contabilizando`
  * `Outros`
  * `Outro`
</ParamField>

<ParamField body="main" type="string">
  Categoria principal do ticket
</ParamField>

<ParamField body="newsletter" type="string">
  Newsletter relacionada ao ticket
</ParamField>

<ParamField body="replied" type="string">
  Resposta sugerida/padrão para o ticket
</ParamField>

<Note>
  Pelo menos um campo deve ser fornecido. Apenas os campos enviados serão atualizados.
</Note>

## Response

<ResponseField name="success" type="boolean" required>
  Indica se a operação foi bem-sucedida
</ResponseField>

<ResponseField name="message" type="string" required>
  Mensagem descritiva do resultado
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="Campos atualizados">
    <ResponseField name="id" type="number">
      ID do ticket
    </ResponseField>

    <ResponseField name="status" type="string">
      Status atualizado (se fornecido)
    </ResponseField>

    <ResponseField name="issue" type="string">
      Issue atualizado (se fornecido)
    </ResponseField>

    <ResponseField name="main" type="string">
      Main atualizado (se fornecido)
    </ResponseField>

    <ResponseField name="newsletter" type="string">
      Newsletter atualizada (se fornecida)
    </ResponseField>

    <ResponseField name="replied" type="string">
      Replied atualizado (se fornecido)
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash Atualizar Status theme={null}
  curl -X PATCH "https://worker.thenewscc.com/support/5082" \
    -H "Authorization: Bearer seu_token_jwt" \
    -H "Content-Type: application/json" \
    -d '{
      "status": "resolved"
    }'
  ```

  ```bash Atualizar Issue (Assunto) theme={null}
  curl -X PATCH "https://worker.thenewscc.com/support/5082" \
    -H "Authorization: Bearer seu_token_jwt" \
    -H "Content-Type: application/json" \
    -d '{
      "issue": "Não estou recebendo a edição"
    }'
  ```

  ```bash Atualizar Múltiplos Campos theme={null}
  curl -X PATCH "https://worker.thenewscc.com/support/5082" \
    -H "Authorization: Bearer seu_token_jwt" \
    -H "Content-Type: application/json" \
    -d '{
      "status": "resolved",
      "issue": "Não estou recebendo a edição",
      "replied": "Problema resolvido! Verifique sua caixa de entrada."
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "success": true,
    "message": "Ticket atualizado com sucesso",
    "data": {
      "id": 5082,
      "status": "resolved",
      "issue": "Não estou recebendo a edição",
      "replied": "Problema resolvido! Verifique sua caixa de entrada.",
      "updatedAt": "2024-01-20T18:39:59.000Z"
    }
  }
  ```

  ```json Error - Nenhum Campo theme={null}
  {
    "success": false,
    "message": "E necessario fornecer pelo menos um campo para atualizar (replied, status, issue, main, newsletter)"
  }
  ```

  ```json Error - Status Inválido theme={null}
  {
    "success": false,
    "message": "Status invalido. Valores aceitos: open, in_progress, resolved, closed"
  }
  ```

  ```json Error - Issue Inválido theme={null}
  {
    "success": false,
    "message": "Issue invalido. Valores aceitos: Não recebi meus prêmios, Não estou recebendo a edição, ..."
  }
  ```

  ```json Error - Não Encontrado theme={null}
  {
    "success": false,
    "message": "Ticket nao encontrado"
  }
  ```
</ResponseExample>
