Pular para o conteúdo
Decoding Chat API

Índices de pesquisa

Essas rotas reconstroem índices de pesquisa a partir de dados atuais e relatam o progresso. As reconstruções aparecem em Jobs como refreshSearchIndex.

Ambas as rotas requerem a ACL guild:lookup.

index_name é um dos seguintes valores. Um valor fora do conjunto falha na validação do caminho.

ValorEscopoDescrição
guildsToda a instânciaTodos os servidores (guilds), respaldando a pesquisa administrativa de servidores
usersToda a instânciaTodas as contas, respaldando a pesquisa administrativa de usuários
reportsToda a instânciaTodos os relatórios, respaldando a pesquisa administrativa de relatórios
audit_logsToda a instânciaTodas as entradas de auditoria do Admin, respaldando a pesquisa administrativa de auditorias
discovery1Toda a instânciaMetadados de descoberta escritos nos documentos de servidor de listagens aprovadas
channel_messages2Um servidorMensagens de todos os canais em um servidor, requerendo guild_id
guild_members3Um servidorMembros de um servidor, requerendo guild_id
favorite_memes4Um usuárioMemes favoritados de um usuário, requerendo user_id

1 Atualiza a descrição, categoria, idioma principal e tags de listagens de descoberta aprovadas sem remover servidores da pesquisa

2 Limpa o índice de mensagens do servidor e enfileira jobs indexChannelMessages para seus canais. A conclusão do job pai não significa que esses jobs terminaram

3 Limpa primeiro o índice de membros do servidor e atualiza members_indexed_at após a conclusão

4 A reconstrução deste índice não é suportada. A solicitação é aceita, mas o job falha sem relatar o progresso

Todo nome que abrange toda a instância, exceto discovery, exclui seus documentos antes que o primeiro lote seja gravado, portanto a pesquisa nesse índice fica incompleta durante toda a execução.

Uma reconstrução discovery, em vez disso, atualiza os documentos de servidor existentes no local, de forma que esses documentos permanecem pesquisáveis durante toda a execução.

Um recibo para uma reconstrução enfileirada.

CampoTipoDescrição
successbooleanSempre verdadeiro (true)
job_id1stringO ID da reconstrução enfileirada, usado para ler seu progresso

1 O valor é um snowflake renderizado como uma string. Ele endereça o registro de progresso que Obter atualização do índice de pesquisa lê. Difere do job_id da entrada no registro de Jobs para a mesma reconstrução, e aparece lá apenas dentro do payload daquela entrada

{
"success": true,
"job_id": "1501314428688998182"
}

Objeto de progresso da atualização do índice de pesquisa

Seção intitulada “Objeto de progresso da atualização do índice de pesquisa”

Progresso para uma reconstrução enfileirada. A forma do objeto é selecionada por status.

CampoTipoDescrição
statusstringSempre not_found
CampoTipoDescrição
statusstringUm entre in_progress, completed ou failed
index_typestringO nome do índice de pesquisa sendo reconstruído
total?1numberO número de documentos esperados, presente enquanto a reconstrução relata progresso e quando ela é concluída
indexed?2numberO número de documentos gravados até agora
started_at?3ISO8601 timestampA hora em que a reconstrução relatou progresso pela última vez
completed_at?ISO8601 timestampA hora em que a reconstrução terminou, presente apenas quando status é completed
failed_at?ISO8601 timestampA hora em que a reconstrução falhou, presente apenas quando status é failed
error?stringO texto da falha, presente apenas quando status é failed

1 total é o mesmo valor que indexed enquanto a reconstrução é executada e se torna o total real na conclusão. A reconstrução discovery relata a contagem de listagens aprovadas a partir de seu primeiro lote

2 Cada documento que a reconstrução grava conta como um. Uma reconstrução channel_messages conta os canais que ela enfileirou

3 Reescrito em cada relatório de progresso, então seu valor avança enquanto a reconstrução é executada

Um resultado com falha inclui status, index_type, error e failed_at, mas nem total nem indexed.

{
"status": "in_progress",
"index_type": "guilds",
"total": 3000,
"indexed": 3000,
"started_at": "2026-08-31T09:12:44.118Z"
}
POST/v1/admin/search/indexes/{index_name}/refreshesAudit reason

Enfileira uma reconstrução do índice nomeado. Requer guild:lookup. Retorna um objeto de atualização do índice de pesquisa em caso de sucesso.

CampoTipoDescrição
index_namestringO nome do índice de pesquisa para reconstruir

Todo campo é opcional. O Decoding Chat lê um corpo ausente ou vazio como um objeto vazio, então uma reconstrução de toda a instância pode enviar nenhum corpo. Um corpo que não seja um JSON parseável retorna 400 INVALID_FORM_BODY com o código de validação INVALID_FORMAT no caminho body.

CampoTipoDescrição
guild_id?1snowflakeO ID do servidor (guild) cujos documentos no índice são reconstruídos
user_id?2snowflakeO ID do usuário cujos documentos no índice são reconstruídos

1 Obrigatório para channel_messages e guild_members. Qualquer outro nome de índice o ignora

2 Obrigatório para favorite_memes. Qualquer outro nome de índice o ignora

O Decoding Chat registra ambos os valores na entrada de auditoria sempre que são fornecidos, incluindo em um nome de índice que os ignora.

StatusCorpoCondição
200objeto de atualização do índice de pesquisaA reconstrução foi enfileirada
400resposta de erroINVALID_FORM_BODY porque o ID de escopo que o nome do índice requer está ausente, ou o corpo não é um JSON parseável
403resposta de erroMISSING_PERMISSIONS sem admin:authenticate, ou MISSING_ACL sem guild:lookup
500resposta de erroO job não pôde ser enfileirado

Um ID de escopo ausente nomeia guild_id ou user_id em errors. O Decoding Chat não enfileira nenhum job e não registra nenhuma entrada de auditoria para essa falha.

Uma reconstrução no escopo de servidor para um servidor desconhecido produz um índice vazio.

Uma reconstrução que falhou não é tentada novamente de forma automática.

O Decoding Chat registra uma entrada de auditoria de Admin com a ação queue_refresh_index, o tipo de destino search_index e o ID de destino 0. Seus metadados contêm index_type, job_id e o que foi fornecido entre guild_id e user_id na solicitação. O Decoding Chat não emite nenhum Gateway Dispatch.

200 solicitações por minuto para cada usuário autenticado, no bucket admin:lookup.

GET/v1/admin/search/index-refreshes/{job_id}

Retorna o objeto de progresso da atualização do índice de pesquisa para uma reconstrução enfileirada. Requer guild:lookup.

CampoTipoDescrição
job_id1stringO identificador retornado por Atualizar índice de pesquisa

1 O valor é limitado de 1 a 128 caracteres depois que o Decoding Chat remove cada caractere form feed (U+000C) e substituição da direita para a esquerda (right-to-left override) (U+202E) e apara (trims) os espaços em branco de ambas as extremidades. Não precisa ser um snowflake

StatusCorpoCondição
2001objeto de progresso da atualização do índice de pesquisaUm registro de progresso foi retornado, incluindo a forma de não encontrado
403resposta de erroMISSING_PERMISSIONS sem admin:authenticate, ou MISSING_ACL sem guild:lookup

1 Um identificador desconhecido responde 200 com status definido como not_found, que também é a resposta para um registro expirado e para uma reconstrução que falhou antes de gravar seu primeiro registro

A operação não registra nenhuma entrada de auditoria de Admin.

200 solicitações por minuto para cada usuário autenticado, no bucket admin:lookup.