Você pode testar esta rota diretamente em nossa documentação interativa.

Atualiza campos de tickets existentes e move entre estágios do pipeline. Suporta atualização de campos, movimentação de estágio ou ambas — a movimentação ocorre após a atualização quando solicitadas juntas.

Endpoint

POST /api/externalAPIs/public/tickets/updateTicket

Parâmetros

ticketId
string
required

UUID do ticket a ser atualizado.

subject
string

Assunto do ticket.

description
string

Descrição detalhada do problema.

definitionOfDone
string

Definição de pronto (DOD).

status
object

Status do ticket.

importance
object

Importância do ticket.

assignedUser
object

Usuário responsável.

closed
boolean

Status de fechamento do ticket.

newLevel
string

Nome, nível ou UUID do nível de destino para movimentação.

reason
string

Motivo da movimentação (cria evento de auditoria).

conversationId
string

UUID da conversa para registrar eventos no chat.

isAutomaticMove
boolean
default: "false"

Indica se a movimentação é automática.

authUserId
string

UUID do usuário autenticado para vincular eventos.

globalData
object

Contexto adicional da requisição.

Exemplo

curl -X POST {BASE_URL}/api/externalAPIs/public/tickets/updateTicket \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "ticketId": "b8c9f8c4-0b6a-4b2a-8f8f-0c9d9e2f5a1a",
    "newLevel": "Concluído",
    "reason": "Entregue ao cliente"
  }'

Resposta

{
  "success": true,
  "message": "Ticket atualizado e movido com sucesso",
  "data": {
    "ticketId": "b8c9f8c4-0b6a-4b2a-8f8f-0c9d9e2f5a1a",
    "operationsPerformed": {
      "updated": true,
      "moved": true
    },
    "updateResult": {
      "id": "b8c9f8c4-0b6a-4b2a-8f8f-0c9d9e2f5a1a",
      "protocol": "ABCD-1234",
      "subject": "Orçamento aprovado",
      "description": "Cliente solicitou revisão do escopo",
      "status": {
        "name": "Em Progresso",
        "level": 2,
        "color": "#F6AD55",
        "isClosed": false
      },
      "importance": 3,
      "importanceColor": "#F6AD55",
      "assignedUser": {
        "id": "4a6b9f6e-0f2f-4e2b-9a77-98b0d64c4d11",
        "name": "João Silva"
      }
    },
    "moveResult": {
      "data": {
        "ticketId": "b8c9f8c4-0b6a-4b2a-8f8f-0c9d9e2f5a1a",
        "previousLevel": {
          "name": "Em Progresso",
          "level": 2,
          "id": "3fb2a9f0-5aa3-4f6d-8d37-c2a0b1d7b9a2"
        },
        "newLevel": {
          "name": "Concluído",
          "level": 3,
          "id": "4fb2a9f0-5aa3-4f6d-8d37-c2a0b1d7b9a3",
          "color": "#68D391",
          "external_id": "completed"
        }
      }
    }
  }
}

Campos da Resposta

success
boolean
Indica se a operação foi bem-sucedida.
message
string
Mensagem de status.
data.ticketId
string
UUID do ticket atualizado.
data.operationsPerformed
object

Indica quais operações foram executadas.

data.updateResult
object
Resultado da atualização com o ticket atualizado.
data.moveResult
object
Resultado da movimentação com níveis anterior e novo.

A movimentação é executada após a atualização quando ambas operações são solicitadas na mesma requisição.

Use status.tickets_levels_id para mudanças de status mais precisas em integrações automatizadas.

Forneça sempre um ticketId válido. IDs inexistentes resultam em erro 404.

Erros

CódigoDescrição
400ticketId ausente ou nenhuma operação especificada (atualização ou newLevel)
403Credenciais inválidas
404Ticket não encontrado
500Erro interno na atualização ou movimentação