Skip to main content

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 @BrunoC @rafaelpa


Olá @Eduardo_Vasconcelos,



Já conseguiu resolver o problema?


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 😊



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 👨‍💻


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.


@Eduardo_Vasconcelos,



Aproveitando segue uma API que pode te ajudar HolidayAPI nesta tarefa 💁🏿‍♂️


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!


Uma dica de API gratuita pra esse caso:




Comente