[Resolvido] Horario de atendedimento por grupos

Bom dia! Tenho 4 equipes de atendimento com horários diferentes. Em contato com o suporte, me falaram que a unica forma de conseguir setar o horário pra todas, seria por meio de programação.
No entanto sou leigo no assunto e a falta desta funcionalidade esta me gerando muitas mensagens ativas.

Buscando solucionar esse problema pensei em utilizar o recurso de verificar atendentes online, mas no entanto, como disse anteriormente sou leigo no assunto.

Encontrei esse tópico que responde em partes minha pergunta:

Alguém consegue me informar como fica o script final?

Vocês conseguem me ajudar? Já entrei em contato com o suporte, abri chamado e não tenho nenhuma resposta. Preciso solucionar esse problema com urgência, pois isso esta gerando muitas mensagens ativas. @Caiof @Bcamarda @rafaelpa

Olá @Eduardo_Vasconcelos,

Já conseguiu resolver o problema?

2 Curtidas

Consegui sim. Mas sabe me responder como tratar os feriados? Tenho em vista que somente uma dessas 4 equipes trabalham no feriado.

@Eduardo_Vasconcelos,

Bom saber que você solucionou o problema, conta pra gente qual foi a solução aplicada :blush:

No caso dos feriados não é muito trivial. Neste caso, você pode adotar duas soluções, a primeira deles é mapear todos os feriados e horários e trata-los no script. Uma outra solução mais dinâmica seria utilizar uma API para identificar os feriados e aplicar o retorno no script para tratamento :man_technologist:t5:

1 Curtida

Utilizei o seguinte código:

function run(offset, start, end, workDays) {

inicio='08:00';
final='20:00';
inicioSabado='08:00';
finalSabado='14:00';
inicioDomingo='03:00';
finalDomingo='03:01';

offset = parseInt(offset) + DEFAULT_OFFSET;



let today = nowUTC(offset);
let day = today.getDay();
//let startDate = utcDate(start, offset);
//let endDate = utcDate(end, offset);

if (day==6){
    let startDate = utcDate(inicioSabado, offset);
    let endDate = utcDate(finalSabado, offset);
}else if(day ==0){
    let startDate = utcDate(inicioDomingo, offset);
    let endDate = utcDate(finalDomingo, offset);
}else{
    let startDate = utcDate(inicio, offset);
    let endDate = utcDate(final, offset);
}


return ((today - startDate) > 0) && ((endDate - today) > 0) && isWorkDay(today, workDays);

}

Que o mesmo siga de exemplo para auxiliar os demais usuários que tem dificuldade como eu.

3 Curtidas

@Eduardo_Vasconcelos,

Aproveitando segue uma API que pode te ajudar HolidayAPI nesta tarefa :tipping_hand_man:t5:

1 Curtida

Muito obrigado! A parte free dessa API não será suficiente pra meu bot (com certeza ultrapassaremos 10000 requisições por mês kkkk) irei analisar com calma! Obrigado novamente!

2 Curtidas

Uma dica de API gratuita pra esse caso:

1 Curtida