Ticket
WARNING
Os endpoints de ticket dependem das permissões de grupo e se o usuário que você está usando é um agente. Por causa disso, os tickets podem ou não estar disponíveis.
TIP
Suprimir notificações: Para criar ou atualizar um ticket sem acionar notificações de agente (email e no app), adicione o seguinte cabeçalho HTTP à sua solicitação:
X-Zammad-Suppress-Notifications: trueIsso é útil para integrações automatizadas que gerenciam tickets via webhooks ou gatilhos, para evitar loops de notificação. O cabeçalho afeta apenas contas de admin e agente, e é ignorado para clientes.
Listar
Permissão necessária: ticket.agent ou ticket.customer
Solicitação GET enviada: /api/v1/tickets
Details
// HTTP-Code 200 OK
[
{
"id": 1,
"group_id": 1,
"priority_id": 2,
"state_id": 1,
"organization_id": 1,
"number": "69001",
"title": "Welcome to Zammad!",
"owner_id": 1,
"customer_id": 2,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-03T08:52:34.556Z",
"last_contact_agent_at": null,
"last_contact_customer_at": "2025-07-03T08:52:34.556Z",
"last_owner_update_at": null,
"create_article_type_id": 5,
"create_article_sender_id": 2,
"article_count": 1,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 2,
"created_by_id": 2,
"created_at": "2025-07-03T08:52:34.343Z",
"updated_at": "2025-07-03T08:52:34.661Z",
"checklist_id": null
},
{
"id": 2,
"group_id": 3,
"priority_id": 2,
"state_id": 4,
"organization_id": null,
"number": "69002",
"title": "Refund for order 4388019",
"owner_id": 7,
"customer_id": 15,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-01-04T13:54:28.811Z",
"last_contact_agent_at": "2025-01-03T07:54:28.787Z",
"last_contact_customer_at": "2025-01-04T13:54:28.811Z",
"last_owner_update_at": null,
"create_article_type_id": 1,
"create_article_sender_id": 2,
"article_count": 3,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 15,
"created_by_id": 15,
"created_at": "2025-01-03T06:54:28.656Z",
"updated_at": "2025-07-03T08:54:28.821Z",
"checklist_id": null
},
{
"id": 3,
"group_id": 5,
"priority_id": 2,
"state_id": 2,
"organization_id": 3,
"number": "69003",
"title": "Order of 10 laptops XYX3000",
"owner_id": 14,
"customer_id": 18,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-03T08:17:28.879Z",
"last_contact_agent_at": "2025-07-03T08:17:28.879Z",
"last_contact_customer_at": "2025-07-03T07:14:28.831Z",
"last_owner_update_at": null,
"create_article_type_id": 1,
"create_article_sender_id": 2,
"article_count": 3,
"escalation_at": "2025-07-03T08:14:28.832Z",
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 14,
"created_by_id": 18,
"created_at": "2025-07-03T07:14:28.831Z",
"updated_at": "2025-07-03T08:54:28.938Z",
"checklist_id": null
},
{
"id": 4,
"group_id": 9,
"priority_id": 3,
"state_id": 2,
"organization_id": 2,
"number": "69004",
"title": "Onboarding new colleague",
"owner_id": 3,
"customer_id": 10,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-01T08:54:28.948Z",
"last_contact_agent_at": null,
"last_contact_customer_at": "2025-07-01T08:54:28.948Z",
"last_owner_update_at": null,
"create_article_type_id": 11,
"create_article_sender_id": 2,
"article_count": 1,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 10,
"created_by_id": 10,
"created_at": "2025-07-01T08:54:28.948Z",
"updated_at": "2025-07-03T08:54:29.488Z",
"checklist_id": 1
},
{
"id": 5,
"group_id": 9,
"priority_id": 3,
"state_id": 2,
"organization_id": 2,
"number": "69005",
"title": "IT | Onboarding new colleague",
"owner_id": 3,
"customer_id": 10,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-01T08:59:29.238Z",
"last_contact_agent_at": null,
"last_contact_customer_at": "2025-07-01T08:59:29.238Z",
"last_owner_update_at": null,
"create_article_type_id": 11,
"create_article_sender_id": 2,
"article_count": 1,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 10,
"created_by_id": 10,
"created_at": "2025-07-01T08:59:29.238Z",
"updated_at": "2025-07-03T08:54:29.495Z",
"checklist_id": 2
},
{
"id": 6,
"group_id": 4,
"priority_id": 2,
"state_id": 2,
"organization_id": null,
"number": "69006",
"title": "Laptop not working [Order 931529477]",
"owner_id": 6,
"customer_id": 16,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-03T08:43:29.827Z",
"last_contact_agent_at": "2025-07-03T08:43:29.827Z",
"last_contact_customer_at": "2025-07-03T08:34:29.703Z",
"last_owner_update_at": null,
"create_article_type_id": 1,
"create_article_sender_id": 2,
"article_count": 5,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 8,
"created_by_id": 16,
"created_at": "2025-07-03T08:07:29.526Z",
"updated_at": "2025-07-03T08:54:29.870Z",
"checklist_id": null
},
{
"id": 7,
"group_id": 2,
"priority_id": 1,
"state_id": 2,
"organization_id": null,
"number": "69007",
"title": "My battery is dead / order 110572",
"owner_id": 13,
"customer_id": 17,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-03T07:54:29.904Z",
"last_contact_agent_at": null,
"last_contact_customer_at": "2025-07-03T07:54:29.904Z",
"last_owner_update_at": null,
"create_article_type_id": 1,
"create_article_sender_id": 2,
"article_count": 1,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 17,
"created_by_id": 17,
"created_at": "2025-07-03T07:54:29.904Z",
"updated_at": "2025-07-03T08:54:29.958Z",
"checklist_id": null
}
]Mostrar
Permissão necessária: ticket.agent ou ticket.customer
Solicitação GET enviada: /api/v1/tickets/{ticket id}
Details
// HTTP-Code 200 OK
{
"id": 3,
"group_id": 1,
"priority_id": 2,
"state_id": 4,
"organization_id": 3,
"number": "22003",
"title": "Order 787556",
"owner_id": 3,
"customer_id": 7,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_contact_at": "2021-06-03T09:57:17.987Z",
"last_contact_agent_at": "2021-06-03T09:57:17.987Z",
"last_contact_customer_at": "2021-06-01T11:57:17.935Z",
"last_owner_update_at": null,
"create_article_type_id": 1,
"create_article_sender_id": 2,
"article_count": 2,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 4,
"created_by_id": 7,
"created_at": "2021-06-01T11:57:17.935Z",
"updated_at": "2021-11-03T11:57:17.997Z"
}Criar
Permissão necessária: ticket.agent ou ticket.customer
Solicitação POST enviada: /api/v1/tickets
TIP
Em nome de usuários
Se você quiser criar tickets em nome de outros usuários, use o atributo customer_id. Isso requer a permissão ticket.agent. Sem ela, customer_id é ignorado e o campo Customer do ticket é definido como o usuário atual. Use guess:{endereço de email} para economizar uma chamada de API se você não souber o ID do usuário ou quiser criar o usuário em questão ("customer_id": "guess:jane@doe.com").
Ao criar um ticket em nome de um cliente com um artigo inicial, você precisa definir article.sender como "Customer" explicitamente. Sem isso, o remetente assume o padrão "Agent" (com base na permissão do usuário atual). Isso afeta o create_article_sender_id do ticket e os cálculos resultantes de timestamp de contato.
O mesmo se aplica a artigos adicionados posteriormente via PUT: defina o remetente explicitamente também nesse caso, ao agir em nome de um cliente. Como o remetente de um artigo não pode ser alterado após a criação, é importante defini-lo corretamente desde o início.
Para mais detalhes sobre o atributo sender, veja articles.
TIP
Adicionar inscrição de menção imediatamente
Adicione o atributo mentions ao payload do seu ticket e forneça um array de IDs de usuário para inscrevê-los diretamente durante a criação do ticket.
Ex.: "mentions": [1, 5, 7, 8],
Details
{
"title": "Help me!",
"group": "2nd Level",
"customer": "david@example.com",
"article": {
"subject": "My subject",
"body": "I am a message!",
"type": "note",
"sender": "Customer",
"internal": false
}
}TIP
O atributo sender do artigo inicial determina o create_article_sender_id do ticket e os timestamps de contato. Para a lista completa de atributos de artigo e seu comportamento, veja articles.
Atualização
Permissão necessária: ticket.agent ou ticket.customer
Solicitação PUT enviada: /api/v1/tickets/{ticket id}
Details
{
"title": "No help for you",
"group": "Sales",
"state": "open",
"priority": "3 high",
"article": {
"subject": "Update via API",
"body": "Here's my reason for updating this ticket...",
"internal": true
}
}INFO
O exemplo acima fornece um artigo. Este artigo é um novo artigo e não afeta nenhum existente.
TIP
Adicionando anexos
Os payloads de anexo são idênticos ao método POST, apenas use PUT em vez disso.
Excluir
Permissão necessária: admin
Solicitação DELETE enviada: /api/v1/tickets/{ticket id}
DANGER
Esta é uma remoção permanente:
Observe que remover tickets não pode ser desfeito. Todos os dados (por exemplo, artigos e anexos) serão perdidos.
Details
Response:
// HTTP-Code 200 OK
{}