Passar para o conteúdo principal

bot_fact_external_api_metric

Chamadas do bot a APIs externas

P
Escrito por Produto Omnichat

Chamadas do bot a APIs externas

A tabela bot_fact_external_api_metric armazena as chamadas que os bots fazem a serviços externos durante os atendimentos, como integrações da loja, consulta de CEP e serviços do Google, com o resultado e o tempo de resposta de cada chamada. Cada linha é uma chamada. Com dados atualizados a cada 20 minutos, aproximadamente.


​Exemplo

Um bot que consulta o status de um pedido na integração da loja três vezes no mesmo atendimento gera três linhas:


• request_type = web, type = integration, status_code = 200, duration_ms = 850: a integração respondeu em menos de 1 segundo às 10:00.


• request_type = cache, type = integration, status_code = 200, duration_ms = 3: a mesma consulta, às 10:01, foi respondida pelo cache, sem chamar o serviço externo.


• request_type = web, type = integration, event_name = ExternalAPIError, status_code = 408, duration_ms = 8000, timeout = 8000: às 10:05 o serviço não respondeu dentro do limite de 8 segundos.


Use event_name para achar as falhas: ele vem como ExternalAPIError quando a chamada não retorna 200 e fica vazio quando dá certo. duration_ms e timeout estão em milissegundos; para ver em segundos, divida por 1000.


Para medir o tempo real dos serviços externos, filtre request_type = web. As linhas com request_type = cache foram respondidas pelo cache e levam poucos milissegundos. type separa o tipo de serviço: integration, cep e googleapi. Nas consultas de cep e googleapi, message_id, endpoint_id e timeout ficam vazios.


Cruze customer_support_request com csr_id da dim_customer_support_request, message_id com a dim_message e bot_id com a dim_bot. As colunas body, headers e response_data trazem o conteúdo enviado e recebido, que pode incluir dados do cliente; use com cuidado.


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.domain_name

,tb.status_code

,tb.duration_ms

,tb.created_at

FROM bot_fact_external_api_metric AS tb

;

Dicionário de dados

Variável

Tipo

Descrição

Obs

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

approximate_arrival_date

date

Data em que o registro chegou à base

bot_id

string

Código identificador do bot que fez a chamada

Chave estrangeira para a tabela dim_bot

chat_id

string

Código identificador do chat

Chave estrangeira para a tabela dim_chat

message_id

string

Código identificador da mensagem ligada à chamada

Chave estrangeira para a tabela dim_message

customer_support_request

string

Código identificador do atendimento

Chave estrangeira para a tabela dim_customer_support_request

domain_name

string

Domínio do serviço externo chamado

endpoint_id

string

Código identificador do endpoint chamado

event_name

string

Nome do evento registrado na chamada

request_type

string

Tipo de requisição (ex.: cache, web)

type

string

Categoria da chamada (ex.: integration, cep, googleapi)

status_code

bigint

Código de status HTTP devolvido pela API

duration_ms

double

Duração da chamada, em milissegundos

timeout

bigint

Tempo limite configurado para a chamada, em milissegundos

body

string

Conteúdo enviado na chamada

headers

string

Cabeçalhos HTTP enviados na chamada

response_data

string

Dados devolvidos pela API

created_at

timestamp

Data e hora da chamada

Respondeu à sua pergunta?