PicChat

Tíquetes

Listar tíquetes

GEThttps://api.picchat.com.br/v1/tickets

Lista os tíquetes da conta, paginados e ordenados por updated_at decrescente por padrão. Todos os filtros se combinam (E). Cada tíquete vem com status, contato, atendente, canal e tags. Usuário restrito a canais só vê tíquetes desses canais.

Autenticação: Bearer tokenPermissão: Inbox › ver

Parâmetros de consulta (query)

  • pageintegerpadrão 1

    Página, começando em 1. Valor ausente, inválido ou menor que 1 vira 1.

  • limitintegerpadrão 20

    Itens por página. Padrão 20, máximo 100: acima disso é reduzido para 100 sem erro; valor inválido ou menor que 1 vira 20.

  • statusstring

    Nome do status, sem diferenciar maiúsculas (ABERTOS, AGUARDANDO, EM ATENDIMENTO, RESOLVIDOS, FECHADOS — veja GET /v1/ticket-status).

  • status_idstring (uuid)

    ID do status (alternativa a `status`).

  • channel_idstring (uuid)

    Só tíquetes deste canal. Usuário com grupo de permissão e vinculado a canais só vê os desses canais; `channel_id` fora do escopo → 403 `channel_out_of_scope`.

  • contact_idstring (uuid)

    Só tíquetes deste contato.

  • user_idstring

    Só tíquetes deste atendente (UUID). Use `none` para os sem responsável.

  • tag_idstring (uuid)

    Só tíquetes com esta tag.

  • openboolean

    true = só em aberto; false = só encerrados; ausente = todos. Aceita `true`/`false` (também `1`/`0`, `yes`/`no`, `sim`/`nao`); outro valor é ignorado.

  • unreadboolean

    true = só com mensagens não lidas (`unread > 0`). false não filtra. Aceita `true`/`false` (também `1`/`0`, `yes`/`no`, `sim`/`nao`); outro valor é ignorado.

  • fromstring

    Início do período por `created_at` (inclusive), em ISO 8601 (`2026-09-01` ou `2026-09-01T03:00:00Z`). Só a data = 00:00 UTC. Valor inválido → 400.

  • tostring

    Fim do período por `created_at` (inclusive), em ISO 8601. Só a data inclui o dia inteiro (até 23:59:59.999 UTC). Valor inválido → 400.

  • updated_fromstring

    Início do período por `updated_at` (inclusive), em ISO 8601 (`2026-09-01` ou `2026-09-01T03:00:00Z`). Só a data = 00:00 UTC. Valor inválido → 400.

  • updated_tostring

    Fim do período por `updated_at` (inclusive), em ISO 8601. Só a data inclui o dia inteiro (até 23:59:59.999 UTC). Valor inválido → 400.

  • searchstring

    Busca sem diferenciar maiúsculas em nome, sobrenome e e-mail do contato e na última mensagem. Se for só dígitos, também procura o número público do tíquete (`public_id`) e o telefone do contato (DDI 55 é acrescentado quando o número tem até 11 dígitos).

  • sortstringpadrão "updated_at"

    Campo de ordenação. Valor fora da lista usa `updated_at`.

  • orderstringpadrão "desc"

    Direção da ordenação por `sort`. Qualquer outro valor usa o padrão.

Respostas

200OK

  • itemsarray<Ticket>obrigatório

    Registros da página.

  • items[].idstring (uuid)obrigatório

    ID do tíquete.

  • items[].public_idintegerobrigatório

    Número público sequencial do tíquete (o que aparece na inbox).

  • items[].created_atstring (date-time)obrigatório

    Criação.

  • items[].updated_atstring (date-time)obrigatório

    Última atualização.

  • items[].end_atstring (date-time) | nullobrigatório

    Quando foi encerrado.

  • items[].expiration_atstring (date-time) | nullobrigatório

    Fim da janela de atendimento de 24 h do WhatsApp oficial, quando aplicável.

  • items[].openboolean | nullobrigatório

    true = em aberto; false = encerrado.

  • items[].unreadinteger | nullobrigatório

    Quantidade de mensagens não lidas.

  • items[].fromMeboolean | nullobrigatório

    Se a última mensagem foi enviada pela conta.

  • items[].created_fromMeboolean | nullobrigatório

    Se o tíquete foi aberto pela conta (envio ativo) e não pelo contato.

  • items[].typestring | nullobrigatório

    Tipo da última mensagem.

    textimagevideoaudiodocumentlocationcontactsstickerinteractiveunsupportedreactiontemplatebuttonnull

  • items[].categorystring | nullobrigatório

    Categoria atribuída ao tíquete.

  • items[].commentstring | nullobrigatório

    Comentário/resumo do tíquete.

  • items[].last_messagestring | nullobrigatório

    Texto da última mensagem.

  • items[].last_message_datestring (date-time) | nullobrigatório

    Data da última mensagem.

  • items[].first_message_date_from_mestring (date-time) | nullobrigatório

    Data da primeira resposta da conta.

  • items[].ticket_statusobject | nullobrigatório

    Status atual.

  • items[].ticket_status.idstring (uuid)obrigatório

    ID do status.

  • items[].ticket_status.namestring | nullobrigatório

    Nome interno (ex.: ABERTOS, RESOLVIDOS).

  • items[].ticket_status.public_namestring | nullobrigatório

    Nome exibido, quando houver.

  • items[].ticket_status.colorstring | nullobrigatório

    Cor do status (token de cor do front).

  • items[].contactobject | nullobrigatório

    Contato do tíquete.

  • items[].contact.idstring (uuid)obrigatório

    ID do contato.

  • items[].contact.first_namestring | nullobrigatório

    Nome.

  • items[].contact.last_namestring | nullobrigatório

    Sobrenome.

  • items[].contact.mobilephonestring | nullobrigatório

    Telefone só com dígitos, com DDI (ex.: 5511999990000).

  • items[].contact.emailstring | nullobrigatório

    E-mail.

  • items[].contact.userNamestring | nullobrigatório

    Usuário do Instagram, quando o contato veio de lá.

  • items[].userobject | nullobrigatório

    Atendente responsável (null = sem responsável).

  • items[].user.idstring (uuid)obrigatório

    ID do usuário.

  • items[].user.namestringobrigatório

    Nome.

  • items[].user.lastNamestring | nullobrigatório

    Sobrenome.

  • items[].channelobjectobrigatório

    Canal resumido.

  • items[].channel.idstring (uuid)obrigatório

    ID do canal.

  • items[].channel.namestringobrigatório

    Nome do canal.

  • items[].channel.typestringobrigatório

    Tipo do canal.

    whatsappwhatsapp_litesmsemailwebhookchatinstagramrcs

  • items[].tagsarray<TagRef>obrigatório

    Tags aplicadas ao tíquete.

  • items[].tags[].idstring (uuid)obrigatório

    ID da tag.

  • items[].tags[].namestringobrigatório

    Nome da tag.

  • items[].tags[].colorstring | nullobrigatório

    Cor da tag.

  • totalintegerobrigatório

    Total de registros que casam com os filtros (todas as páginas).

  • pageintegerobrigatório

    Página devolvida (começa em 1).

  • limitintegerobrigatório

    Itens por página efetivamente usados (1–100).

  • pagesintegerobrigatório

    Total de páginas: `max(1, ceil(total / limit))`. Nunca é 0, mesmo sem resultados.

400Parâmetro de data (`from`, `to`, `updated_from`, `updated_to`) fora do formato ISO 8601.

403Acesso negado: usuário do token sem a permissão da rota (`permission_denied`) ou token não ligado a um usuário ativo (`token_without_user`) — para token de integração da conta isso só é aplicado quando `access.enforced` é true (veja GET /v1/me); token pessoal e JWT de sessão são sempre verificados; `channel_id` fora dos canais do usuário (`channel_out_of_scope`); `account_id` na query diferente da conta do token; conta do tipo INFRA.

498Token ausente, inválido, de outra finalidade (ex.: token do canal chat) ou revogado. Note o status não padrão 498.