Informações utilizadas para gerar os relatórios de atendimentos
A tabela reports_tables_csr armazena os atendimentos com os dados usados nos relatórios de atendimento da plataforma: canal de origem, cliente, atendente e time, bot, tempos, avaliação e encerramento. Cada linha é um atendimento, identificado por id. Com dados atualizados em H-1 (de hora em hora).
Exemplo
Um cliente chama a loja pelo WhatsApp, passa pelo bot e é atendido por uma pessoa. O atendimento abc123 fica assim:
• origin_type = Inbound e origin_channel = WhatsApp. O atendimento é criado às 10:00 (created_at).
• O bot encaminha para um time às 10:05 (bot_fowarded_at) e o atendente responde às 10:15 (replied_at), então waiting_time = 600000 (10 minutos).
• O atendimento é encerrado às 10:40 (finished_at), então total_time = 2400000 (40 minutos, de created_at até finished_at).
• O cliente dá nota 5 na avaliação: support_rate = 5.
Os tempos (waiting_time, total_time, total_attendence_time, first_response_time, TA, TE e tpr_fr) estão em milissegundos: divida por 60000 para ter minutos. waiting_time conta a partir de bot_fowarded_at quando o atendimento passou pelo bot, e a partir de created_at quando não passou. first_response_time vai de contacted_at até replied_at. As colunas TME_GERAL, TMA_GERAL e conf_trading_hours vêm vazias, e total_time_bot quase sempre vem vazia.
Um mesmo chat_id pode ter vários atendimentos ao longo do tempo: para contar atendimentos, use id. O id é o mesmo código de csr_id em dim_customer_support_request e fact_customer_support_request, que trazem o detalhe dos eventos e tempos de cada atendimento.
Atendimentos em aberto ficam com finished_at vazio. origin_type separa os atendimentos iniciados pelo cliente (Inbound) dos iniciados pela loja (Outbound), e origin_channel mostra o canal, como WhatsApp, Web App ou API. support_rate vai de 1 a 5 e só vem preenchida quando o cliente responde a avaliação.
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 date(csr.created_at) as dia
,csr.origin_type
,csr.origin_channel
,csr.origin_id
,count(csr.id) as qtd_atendimentos
from bidb.reports_tables_csr as csr
where csr.created_at >= '2025-06-01'
and csr.origin_id is not null
and csr.finished_at is not null
group by all
;
Dicionário de dados
Variável | Tipo | Descrição | Obs |
accepts_marketing | boolean | Indica se o cliente aceita disparo de mensagem de marketing |
|
address_addressLine1 | string | Endereço cadastrado do cliente |
|
address_addressLine2 | string | Complemento do endereço cadastrado do cliente |
|
address_addressState | string | UF cadastrado do cliente |
|
address_city | string | Cidade cadastrada do cliente |
|
address_country | string | Pais cadastrado do cliente |
|
address_number | string | Número do endereço |
|
address_suburb | string | Bairro do endereço do cliente |
|
address_zip | string | CEP cadastrado no endereço do cliente |
|
assigned_to_team_id | string | Código identificador do time que recebeu o atendimento | Chave estrangeira para a tabela dim_team |
assigned_to_team_name | string | Nome do time que recebeu o atendimento |
|
bot_contacted_at | timestamp | Data que o Bot capturou o atendimento |
|
bot_contacted_by | string | Código identificador do Bot que capturou o atendimento | Chave estrangeira para a tabela dim_user |
bot_fowarded_at | timestamp | Data que o Bot encaminhou o atendimento |
|
bot_fowarded_to_sales_person_id | string | Código identificador do usuário que recebeu encaminhamento de mensagem do Bot | Chave estrangeira para a tabela dim_user |
bot_fowarded_to_sales_person_name | string | Nome do usuário que recebeu encaminhamento de mensagem do Bot |
|
bot_fowarded_to_team_id | string | Código identificador do time que recebeu encaminhamento de mensagem do Bot | Chave estrangeira para a tabela dim_team |
bot_fowarded_to_team_name | string | Nome do time que recebeu encaminhamento de mensagem do Bot |
|
campaign_medium | string | Meio pelo qual a campanha é veiculada | display |
campaign_name | string | Nome da campanha publicitária | - Esse campo só é preenchido caso o atendimento seja relacionado a uma campanha Omnitracking |
campaign_source | string | Canal de origem do tráfego | - Esse campo só é preenchido caso o atendimento seja relacionado a uma campanha Omnitracking |
chat_id | string | Código identificador da conversa | Chave primária |
closing_reason | string | Motivo de finalização do atendimento assinalado pelo usuário que fez o encerramento |
|
contacted_at | timestamp | Data que a primeira pessoa atribuída assumiu o atendimento |
|
contacted_by | string | Código identificador do usuário que fez o contato com o cliente |
|
contacted_by_username | string | Username do usuário que assumiu o atendimento |
|
created_at | timestamp | Data do atendimento |
|
customer_address | string | Nome da rua do endereço do cliente |
|
customer_birth_date | timestamp | Data de nascimento do cliente do atendimento |
|
customer_business_name | string | CNPJ da empresa informado |
|
customer_business_tax_id | string | CNPJ da empresa informado |
|
customer_document_number | string | Número do documento do cliente (CPF) |
|
customer_email | string | E-mail do cliente do atendimento |
|
customer_id | string | Código identificador do cliente | Chave estrangeira para a tabela dim_customer |
customer_last_name | string | Último sobrenome do cliente do atendimento |
|
customer_name | string | Nome do cliente do atendimento |
|
customer_phone_area_code | string | Código de área (DDD) do telefone do cliente do atendimento |
|
customer_phone_number | string | Número de telefone do cliente do atendimento |
|
finished_at | timestamp | Data de finalização do atendimento |
|
finished_by_api | boolean | Indica se o atendimento foi finalizado de forma automática por API |
|
finished_by_id | string | Código identificador do usuário que fechou o atendimento | Chave estrangeira para a tabela dim_user |
finished_by_username | string | Nome de usuário do usuário que fechou o atendimento |
|
finished_id | string | Código identificador do usuário que finalizou o atendimento |
|
first_response_team_id | string | Código identificador do time que fez a primeira resposta |
|
first_response_time | bigint | Tempo até a primeira resposta ao cliente, em milissegundos |
|
first_response_time_attendence_hours | bigint | Tempo até a primeira resposta considerando só o horário de atendimento, em milissegundos |
|
first_response_user_id | string | Código identificador do usuário que fez a primeira resposta |
|
id | string | Código identificador do atendimento | Chave primária |
labels | string | Nome das etiquetas associadas à conversa | Usamos o sinal de soma (+) para indicar existência de mais de uma etiqueta na mesma conversa |
last_message | string | Código identificador da última mensagem enviada no atendimento | Chave estrangeira para a tabela dim_message |
masked_birth_date | string | Data de nascimento do cliente, mascarada para privacidade |
|
origin_channel | string | Nome do canal que deu origem ao atendimento | OMNICHAT_WEBCHAT |
origin_id | string | Código identificador do campo origin_channel | O conteúdo do campo pode ser de um dos 3 tipos abaixo: |
origin_type | string | Indica o tipo da origem do atendimento | COMMENT |
origin_url | string | Link da web para o ADS que gerou o atendimento | Quando vem de ADS |
owner_username | string | Nome do usuário que possui este cliente em sua carteira |
|
platform | string | Nome da plataforma que ocorreu a troca de mensagem |
|
platform_id | string | Número de telefone que o cliente entrou em contato |
|
platform_profile_name | string | Nome informado no perfil do cliente |
|
replied_at | timestamp | Data da primeira resposta humana ao atendimento |
|
replied_by | string | Código identificador do usuário que respondeu ao cliente |
|
replied_by_id | string | Código identificador do usuário que respondeu o atendimento | Chave estrangeira para a tabela dim_user |
replied_by_username | string | Nome do usuário que respondeu o atendimento |
|
replied_message | string | Código identificador da mensagem de resposta | Chave estrangeira para a tabela dim_message |
retailer_chat_id | string | Código identificador da conversa | Chave estrangeira para a tabela dim_customer_support_request |
retailer_created | boolean | Identifica se o atendimento foi iniciado pelo usuário ou pelo cliente, atendimento ativo ou passivo | TRUE = ativo - Iniciado pelo atendente |
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
|
support_rate | int | Nota de avaliação atribuída ao atendimento |
|
support_rate_comment | string | Comentário deixado pelo cliente a respeito da nota de avaliação dada |
|
ta | bigint | Tempo de atendimento, em milissegundos |
|
te | bigint | Tempo de espera, em milissegundos |
|
total_attendence_time | bigint | Duração atendimento após iniciado atendimento humano, em milisegundos | (finished_at - bot_forwared_at) |
total_attendence_time_attendance_hours | bigint | Duração atendimento após iniciado atendimento humano, em milissegundos, considerando horário de atendimento cadastrado |
|
total_time | double | Duração total do atendimento, em milisegundos | (FinishedAt - created_at) |
total_time_bot | double | Duração do atendimento do Bot, em milisegundos | (bot_forwared_at - bot_contacted_at) |
tpr_fr | bigint | Tempo de primeira resposta (TPR), em milissegundos |
|
updated_at | timestamp | Data e hora da última atualização do registro |
|
user_id | string | Código identificador do atendente | Chave estrangeira para a tabela tabela dim_user |
waiting_time | double | Tempo corrido que o cliente ficou em espera (em fila) durante o atendimento | (replied_at - bot_forwared_at) |
waiting_time_attendance_hours | bigint | Tempo que o cliente ficou em espera (em fila) durante o atendimento, considerando horário de atendimento cadastrado |
