Passar para o conteúdo principal

dim_message

Mensagens enviadas e recebidas

Escrito por Caroline Silva

Mensagens enviadas e recebidas

A tabela dim_message armazena as mensagens das conversas: as que o consumidor envia, as que a loja envia (atendente, bot, campanha ou template), as anotações internas e os avisos do sistema, como transferências e finalizações. Cada linha é uma mensagem, identificada pela coluna message_id. Com dados atualizados de hora em hora, entre 6h e 22h (horário de Brasília); de madrugada não há atualização.


​Exemplo

Em um atendimento em que o consumidor pergunta, a atendente assume e responde, a conversa chat789 ganha estas linhas, todas com o mesmo csr_id = abc123:


• type = TEXT e status = INCOMING_READ às 10:00: a pergunta do consumidor, já lida pela loja.


• type = ROUTING e system_message_type = Pickup às 10:05: o aviso do sistema de que a atendente assumiu o atendimento.


• type = TEXT, status = OUTGOING_READ e user_id da atendente às 10:06: a resposta, que chegou e foi lida (delivered_at e read_at preenchidos).


• type = TEXT e is_annotation = true às 10:07: uma anotação interna, que o consumidor não vê.


O status junta direção e situação: INCOMING_ para mensagens do consumidor e OUTGOING_ para mensagens da loja (CREATED, SENT, DELIVERED, READ, ERROR). OUTGOING_SILENT marca registros internos, que não são enviados ao consumidor: avisos do sistema, resumos, anotações e adiamentos (snooze). Quando há falha no envio, error_code e error_description explicam o motivo.


Para contar mensagens trocadas, tire os avisos do sistema (type = ROUTING, com o evento em system_message_type), os resumos (type = SUMMARY) e as anotações (is_annotation = true). Nos avisos do sistema, is_annotation vem vazio, não false. Mensagens de campanha têm campaign_id preenchido; templates têm template_id e os valores das variáveis em template_tokens.


Uma conversa (chat_id) pode ter vários atendimentos; o csr_id liga cada mensagem ao atendimento e vem vazio em parte das mensagens, como os disparos de campanha feitos fora de um atendimento. As colunas billing_category e is_billable indicam a categoria cobrada pela Meta quando a mensagem é cobrável.


Atenção: Os registros desta tabela utilizam o fuso horário UTC, ou seja, para que as datas sejam referentes ao fuso horário brasileiro, é preciso inserir nas queries o fuso horário brasileiro.

SET TIME ZONE '-03:00';


SELECT tb.status

,tb.type

,count(tb.message_id) AS qtd_mensagens

FROM dim_message AS tb

WHERE tb.created_at >= '2025-04-01'

AND tb.is_annotation = FALSE

AND tb.campaign_id IS NULL

GROUP BY ALL

;

Dicionário de dados

Variável

Tipo

Descrição

Obs

assisted_by_feature

string

Funcionalidade que auxiliou na geração ou no envio da mensagem. Vazio quando não se aplica

assistedbyfeature

string

Mesmo conteúdo de assisted_by_feature (coluna duplicada)

attachment_caption

string

Legenda do anexo. Vazio quando não há legenda

attachment_name

string

Nome do anexo enviado

attachment_url

string

Link da web que o anexo foi armazenado

billing_category

string

Categoria de cobrança da mensagem (ex.: service, marketing). Vazio quando não disponível

campaign_id

string

Id da campanha que essa mensagem está vinculada (Pode ser vinculada com outras tabelas pela coluna campaign_id).

Chave estrangeira para a tabela dim_campaign

chat_id

string

Id do chat que essa mensagem faz parte (Pode ser vinculada com outras tabelas pela coluna chat_id)

Chave estrangeira para a tabela dim_customer_support_request

content

string

Texto da mensagem.

created_at

timestamp

Data da criação desse registro

csr_id

string

Represents the customer support request associated with the message, allowing tracking of customer support issues.

Chave estrangeira para a tabela dim_customer_support_request

delivered_at

timestamp

Horário da entrega realizada

error_code

string

Código do erro caso tenha acontecido

error_description

string

Descrição do erro caso tenha acontecido

The requested phone number has been deleted. User phone number is part of an experiment from Meta for user experience and engagement. The error is related to usage or engament policies. Please, check the usage terms and policies. Length of the parameters and the template text exceeds the allowed length of 1024. The payload sent to the broker problably has wrong parameters. The integration is misconfigured or the broker changed something that started to crash for one or more accounts. Broker returning 5XX error. Problem with customer equipment, too old, update required, not compatible. The media trying to be sent is not supported. Too many requests. Message not supported or too long. Template is disabled. Unknown error. Template is paused.

is_annotation

boolean

Flag para controle se essa mensagem é uma anotação

is_billable

boolean

Indica se a mensagem é cobrada. Vazio quando não disponível

message_id

string

Id interno da mensagem, utilizado para vincular à outras tabelas (pela coluna message_id das mesmas)

platform

string

Indica o canal que ocorreu a troca de mensagem

read_at

timestamp

Data da leitura da mensagem

replied_at

string

Data da resposta da mensagem

retailer_id

string

Id interno do cliente

status

string

Status da mensagem

INCOMING_READ, OUTGOING_CREATED, OUTGOING_READ, INCOMING_DELETED, OUTGOING_SENT, OUTGOING_SILENT, OUTGOING_DELIVERED, EXTERNAL_OUTGOING_SILENT, INCOMING_RECEIVED, OUTGOING_ERROR

structured_data

string

Apresentação dos dados estruturados

structuredData

string

O campo structuredData foi criado fora do padrão, esse será removido até 28/11/2025, favor utilizar o campo structured_data

system_message_type

string

Tipo da mensagem de sistema (ex.: Route, Finish). Vazio quando não é mensagem de sistema

template_id

string

Id do template utilizado nessa mensagem (Pode ser vinculada com outras tabelas pela coluna template_id)

Chave estrangeira para a tabela dim_templates

template_tokens

string

Variáveis utilizadas na mensagem substituem {{1}} no texto.

type

string

Tipo da mensagem

GROUPED, AUDIO, STICKER, VARIANT, LOCATION, VCARD, SNOOZE_END, PAYMENT_REQUEST, IMAGE, ROUTING, REACTION, SNOOZE_START, BUTTON, ORDER_STATUS, INTERACTIVE, TEMPLATE, VIDEO, ORDER_PREVIEW, TEXT, COLLECTION, FILE, SUMMARY, DOCUMENT

updated_at

timestamp

Data da ultima atualização desse registro

user_id

string

Id do atendente responsável por aquela mensagem (pode ser vinculada a outras tabelas pela coluna user_id)

Chave estrangeira para a tabela dim_user

Respondeu à sua pergunta?