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

# Filas

> Consultar e gerenciar filas de mensagens e operações com o SDK Go

Use `client.Queues` para monitorar mensagens e operações pendentes de uma instância.

Campos comuns em toda chamada:

| Campo           | Tipo     | Obrigatório | Descrição           |
| --------------- | -------- | ----------- | ------------------- |
| `InstanceID`    | `string` | Sim         | ID da instância.    |
| `InstanceToken` | `string` | Sim         | Token da instância. |

## `Queues.ListMessages(ctx, req)`

Lista a fila de mensagens pendentes.

```go theme={null}
messages, err := client.Queues.ListMessages(ctx, vzaps.QueueRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
})
fmt.Printf("%#v\n", messages)
```

**Retorno:** envelope `{ code, success, data }` com `count` e `messages[]` (`id`, `type`, `status`, etc.).

## `Queues.RemoveMessage(ctx, req)`

Remove uma mensagem específica da fila.

```go theme={null}
_, err := client.Queues.RemoveMessage(ctx, vzaps.QueueMessageRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
	MessageID: "queue-message-id",
})
```

**Retorno:** envelope `{ code, success, data }` com `message_id`, `count`, `details`.

## `Queues.PurgeMessages(ctx, req)`

<Warning>
  Remove todos os itens pendentes da fila de mensagens. Use apenas quando tiver certeza.
</Warning>

```go theme={null}
_, err := client.Queues.PurgeMessages(ctx, vzaps.QueueRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
})
```

**Retorno:** envelope `{ code, success, data }` com `count` de itens removidos.

## `Queues.ListOperations(ctx, req)`

Lista a fila de operações pendentes.

```go theme={null}
operations, err := client.Queues.ListOperations(ctx, vzaps.QueueRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
})
fmt.Printf("%#v\n", operations)
```

**Retorno:** envelope `{ code, success, data }` com fila de operacoes pendentes.

## `Queues.RemoveOperation(ctx, req)`

Remove uma operação específica da fila.

```go theme={null}
_, err := client.Queues.RemoveOperation(ctx, vzaps.QueueMessageRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
	MessageID: "queue-operation-id",
})
```

**Retorno:** envelope `{ code, success, data }` com `message_id`, `count`, `details`.

## `Queues.PurgeOperations(ctx, req)`

<Warning>
  Remove todos os itens pendentes da fila de operações. Use apenas quando tiver certeza.
</Warning>

```go theme={null}
_, err := client.Queues.PurgeOperations(ctx, vzaps.QueueRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
})
```

**Retorno:** envelope `{ code, success, data }` com `count` de itens removidos.
