A integração da ClaudIA com a Zendesk foi projetada com foco em alta performance e prevenção de exaustão de recursos.
Para alcançar esse objetivo, adotamos:
-
Lógica de tratamento de Rate Limit: Implementamos uma estratégia de backoff exponencial para espaçar as requisições e permitir que a API se recupere antes de novas tentativas, evitando erros de limite.
-
Desligamento controlado: Mantemos a capacidade de desativar a ClaudIA de forma simples, caso seja necessário reduzir imediatamente a carga sobre os serviços externos.
Estrutura de Integração e detalhamento do uso de requests
Nossa integração explora os endpoints do Zendesk/Sunshine de modo otimizado, reduzindo ao máximo a necessidade de requisições. Isso assegura que a ClaudIA utilize apenas as chamadas realmente essenciais para seu correto funcionamento.
Chamadas de API
Abaixo, descrevemos as principais chamadas de API que a ClaudIA efetua durante sua interação com a Zendesk:
-
Enviar mensagem
-
Descrição: Envia uma mensagem da ClaudIA para o usuário final
-
Frequência: 1 requisição para cada mensagem
-
-
Resolver ticket
-
Descrição: Marca o ticket como resolvido
-
Frequência: 2 requisições por ticket (acontecem no momento da finalização do ticket)
-
-
Reassign ticket (Handover para humanos)
-
Descrição: Reatribui o ticket para um agente humano quando necessário.
-
Frequência: 1 requisição por ticket, apenas na finalização (ocorre entre 20 a 50% dos casos, dependendo do projeto)
-
Cálculo de Uso Mensal (60k tickets como base)
Considerando uma média de 3 mensagens enviadas pela ClaudIA para cada ticket, temos o seguinte cenário para 60 mil tickets ao mês:
-
Enviar mensagem:
-
3 mensagens por ticket
-
3 × 60.000 = 180.000 requisições
-
-
Resolver ticket:
-
2 requisições por ticket
-
2 × 60.000 = 120.000 requisições
-
-
Reassign ticket (Handover):
-
0,5 requisição por ticket (pois ocorre em menos de 50% dos casos)
-
0,5 × 60.000 = 30.000 requisições
-
Total estimado: 180.000 + 120.000 + 30.000 = 330k requisições mensais.
Distribuição de Requisições (RPM)
Para ilustrar o pico de requisições, considere a seguinte hipótese:
-
Todo o volume de 60.000 tickets é distribuído apenas em 20 dias úteis (é uma estimativa pessimista, dado que também chegam tickets nos fins de semana)
-
Todos estes tickets chegam apenas em 8 horas de expediente diárias (business hours)
O cálculo de RPM (Requests Por Minuto) fica:
Total de requisições mensais: 330k
Dias úteis no mês: 20
Horas de expediente por dia: 8
Minutos por hora: 60
RPM médio = 330.000 ÷ 20 ÷ 8 ÷ 60 ≈ 34 requests/minuto
Recentemente adicionamos uma funcionalidade chamada Split message Quebra automática de mensagens: como funciona e como configurar. Ela aumenta a quantidade de requests por minuto que a ClaudIA e Eddie consomem.
Comparação com o Limite da Zendesk
O RPM padrão de limite da Zendesk. Ele pode atualizar, então sugerimos checar essa página: https://support.zendesk.com/hc/en-us/articles/4408836402074-Managing-API-usage-in-your-Zendesk-account
Você pode conferir seu status atual na seguinte página: https://{{CLIENTE}}.zendesk.com/admin/apps-integrations/apis/api-analytics
OU
https://{{CLIENTE}}.zendesk.com/admin/account/usage/api
O que fazer se atingir o Rate Limit?
Caso você atinja o Rate Limit nós sugerimos 4 possíveis caminhos pra ação:
1 - entrar em contato com o Zendesk para sondar um aumento de API
2 - Desativar alguma das funcionalidades que consome muito request (ou mudar pra ela só rodar fora de horário)
3 - Desativar o split messages ou deixar ele com um MAX characters maior (cada mensagem enviada é uma chamada na API). Se vocês possuem um Eddie no início, ele faz o split message também, isso pode impactar e talvez seja melhor desativar.
4 - Upgrade de plano do zendesk