Passar para o conteúdo principal

dim_chat

Cadastro dos chats

P
Escrito por Produto Omnichat

Cadastro dos chats

A tabela dim_chat armazena as conversas da loja com cada consumidor e mostra a situação atual de cada uma: em que estado está, com quem está, qual foi a última mensagem e os dados do contato. Cada linha é uma conversa, identificada pela coluna chat_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

Um consumidor que já foi atendido no mês passado volta a falar e hoje está com uma atendente. A conversa chat789 continua sendo uma linha só, que é atualizada a cada mudança:


• created_at mostra quando a conversa foi aberta pela primeira vez, no mês passado; updated_at e last_message_date mostram a última movimentação, hoje às 10:05.


• internal_state = USER, sales_person_id = atendente e csr_id = abc123, o atendimento em aberto.


• Quando a atendente finaliza, a mesma linha passa para internal_state = FINISHED e csr_id fica vazio.


• meta = {"name": "Maria", "phone": "5511900000000"}, com os dados do contato.


internal_state traz INITIAL (ainda sem atendente nem time), USER (com um atendente, indicado em sales_person_id), TEAM (na fila de um time, indicado em team_id), UNASSIGNED e FINISHED. As colunas csr_id, sales_person_id e team_id só ficam preenchidas enquanto há um atendimento em aberto: numa conversa finalizada elas vêm vazias. Para o histórico de atendimentos da conversa, use a dim_customer_support_request pelo chat_id.


A tabela guarda só a foto mais recente da conversa, não o histórico: uma conversa antiga com mensagem nova aparece com updated_at recente. A coluna meta é um texto em JSON com dados do contato, como name e phone; leia com get_json_object (ex.: get_json_object(tb.meta, '$.name')). Ela pode vir vazia ou com só parte das chaves.


Esta tabela tem as mesmas colunas da dim_chat_labels, sem as etiquetas. Use a dim_chat para contar conversas (uma linha por chat_id) e a dim_chat_labels quando precisar das etiquetas.


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 '-3:00';

SELECT tb.chat_id

,tb.platform

,tb.last_message_date

FROM dim_chat AS tb

;

Dicionário de dados

Variável

Tipo

Descrição

Obs

chat_id

string

Código identificador do chat

Chave primária

customer_cel_number

string

Número de telefone do cliente no chat

created_at

timestamp

Data de criação do chat

updated_at

timestamp

Data da última atualização do chat

retailer_id

string

Código identificador da loja. Em contas com mais de uma loja, separa os registros de cada uma

Chave estrangeira para a tabela dim_retailer

order_id

string

Código identificador do pedido vinculado ao chat

Chave estrangeira para a tabela dim_orders

customer_id

string

Código identificador do consumidor

Chave estrangeira para a tabela dim_customer

csr_id

string

Código identificador do atendimento atual do chat. Registros mais antigos podem vir vazios

Chave estrangeira para a tabela dim_customer_support_request

campaign_omni_id

string

Código identificador da última campanha enviada no chat

Chave estrangeira para a tabela dim_campaign

last_finished_by

string

Código identificador do último usuário que finalizou atendimento no chat

Chave estrangeira para a tabela dim_user

last_message_id

string

Código identificador da última mensagem do chat

Chave estrangeira para a tabela dim_message

origin_team_id

string

Código identificador do time de origem do chat

Chave estrangeira para a tabela dim_team

contact_owner

string

Código identificador do usuário responsável pelo contato (carteira)

Chave estrangeira para a tabela dim_user

pipeline_stage

string

Código identificador da etapa do funil em que o chat está

Chave estrangeira para a tabela dim_funnel_stage

sales_person_id

string

Código identificador do atendente responsável pelo chat

Chave estrangeira para a tabela dim_user

team_id

string

Código identificador do time do chat

Chave estrangeira para a tabela dim_team

first_unanswered_message_date

timestamp

Data da primeira mensagem do cliente ainda sem resposta

snoozed_until_date

timestamp

Data até quando a contagem do tempo de atendimento está adiada

last_message_date

timestamp

Data da última mensagem do chat

expires_at

timestamp

Data de expiração do chat

client_platform

string

Plataforma do cliente (ex.: Android, iOS, web)

fb_messenger_id

string

Código do Facebook Messenger associado ao chat

internal_state

string

Situação do chat (ex.: INITIAL, USER, TEAM, FINISHED)

last_message_client_platform

string

Plataforma de onde veio a última mensagem do cliente

platform

string

Canal do chat (ex.: WAB-OMNICHAT para WhatsApp, FBMESSENGER para Messenger)

retailer_chat_id

string

Código identificador da integração (canal/número) da loja usada no chat

unread_messages_count

int

Quantidade de mensagens não lidas no chat

is_replied

boolean

Indica se o chat já foi respondido

meta

string

Dados do contato no canal, em JSON (ex.: nome e identificador do usuário no WhatsApp)

Respondeu à sua pergunta?