# Configuração de Fila de SMS
## Introdução

>[!TIP] Definição - Fila de SMS
>Uma **fila de SMS** é um sistema ou processo que organiza e gerencia o envio de mensagens de forma sequencial e controlada. Ela é usada para otimizar o fluxo de envio, evitando sobrecarga do sistema e garantindo que as mensagens sejam enviadas de maneira ordenada e eficiente.

A ferramenta de **Fila de SMS**  no sistema tem como intuito evitar sobrecargas, garantindo uma entrega estável de mensagens, facilitando a comunicação entre o provedor e seus clientes, bem como o gerenciamento da eficiência do Gateway SMS. A **Fila de SMS** é uma ferramenta essencial para o gerenciamento e monitoramento de mensagens SMS em fila de envio. Esta funcionalidade permite aos usuários o controle da distribuição de mensagens de SMS, visualizar e atualizar informações sobre mensagens, sobre gateways e status de envio, proporcionando um controle eficaz das comunicações via SMS.

> [!NOTA] **Acesso ao Formulário**
> **Caminho:** Sistema > CRM > Mensagens > Mensagem SMS > Aba Fila SMS

### Requisitos de Uso
- Possuir uma integração de [[gateway sms|Gateway SMS]] cadastrada no sistema;
- Parametrização da funcionalidade associada à tarefa EnviarSMSFila.

## Entrega de Valor
- Promove a automatização de entrega de mensagens de SMS;
- Organização no fluxo de mensagens ao utilizar a fila para distribuir envios e evitar sobrecargas;
- Escalabilidade ao lidar com volumes variáveis de mensagens;
- Possibilidade de acompanhamento da ferramenta através do formulário de [[aba (fila sms) na mensagem sms|Aba (Fila SMS) na Mensagem SMS]].

## Estrutura da Funcionalidade
A funcionalidade de **Fila de SMS** está estruturada principalmente no [[cadastro de mensagem de sms|Cadastro de Mensagem de SMS]] e parametrização do intervalo e prioridade de envio da mensagem à [[aba (fila sms) na mensagem sms|Aba (Fila SMS) na Mensagem SMS]], no relacionamento com a [[rotina de cobranca (crm de cobranca)|Rotina de Cobrança (CRM de Cobrança)]] e configuração da [[tarefa - enviarsmsfila|Tarefa - EnviarSMSFila]].

Portanto, após a parametrização da fila, a rotina de cobrança executará e enviará as mensagens à [[aba (fila sms) na mensagem sms|Aba (Fila SMS) na Mensagem SMS]]. Com a [[tarefa - enviarsmsfila|Tarefa - EnviarSMSFila]] configurada, o sistema identificará estas mensagens armazenadas na fila e as encaminhará ao cliente final.

### Princípios de Funcionamento
A fila de SMS tem como principio de funcionando os seguintes processos:
1. Identificar as mensagens pendentes;
2. Remover cada mensagem da fila;
3. Realizar a requisição de disparo;
4. Entregar a mensagem ao destinatário;
5. Respeitar o intervalo de minutos e prioridade de envio definido na configuração.

### Etapa 1: Ativação da Fila de SMS
Para iniciar a utilização da fila de SMS, é necessário realizar sua ativação diretamente no cadastro do Gateway SMS, indicando se, quando este gateway estiver relacionado à determinada mensagem de SMS e ela for enviada através da [[rotina de cobranca (crm de cobranca)|Rotina de Cobrança (CRM de Cobrança)]], será enviada à fila de SMS. Para ativar este parâmetro, siga os passos descritos a seguir:
1. Acesse menu **Configurações**;
2. Selecione a opção **Integrações**;
3. Em seguida, clique em **Gateways SMS**;
4. Clique no botão **Editar** ou no botão **Novo** para cadastrar um novo [[gateway sms|Gateway SMS]];
5. Para ativar a fila de SMS, marque a opção **Sim** no parâmetro **Adicionar mensagens à fila**.
6. Clique em **Salvar** para validar as modificações.

### Etapa 2: Configuração do Intervalo de Envio
Faz-se necessário definir o intervalo de envio para um melhor controle da fila. Esta configuração é realizada diretamente na mensagem de SMS. Siga os passos a seguir para prosseguir com esta configuração:

1. Acesse **Menu sistema**;
2. Selecione a opção **CRM**;
3. Em seguida, clique em **Mensagens**;
4. Clique em **[[mensagens sms|Mensagens SMS]]**;
5. Selecione o botão **Editar** para ativar a fila em uma mensagem já cadastrada ou então clique no botão **Novo** para cadastrar uma nova mensagem;
6. Preencha os campos, conforme a descrição a seguir:
	  - **Prioridade:** indique qual a prioridade de envio da mensagem. Quanto menor a prioridade em número, antes a mensagem será enviada ao cliente quando for inlcuida na fila de SMS. Exemplo: uma mensagem com prioridade 1, será enviada antes da mensagem que tem prioridade 5;
	- **Intervalo de tempo:** no cadastro da mensagem, este campo é respectivo ao intervalo de tempo em que uma mensagem será enviada após a outra. Indicando o tempo em minutos, será o período que cada mensagem será enviada. Em resumo, ele controla o ritmo ou a frequência de envio das mensagens, garantindo um espaçamento uniforme e consistente entre elas;

7. Após preencher os campos citados, clique em **Salvar** para validar as modificações e finalizar o cadastro da mensagem.

>[!INFO] **Importante:** 
>Configure esta mensagem na [[rotina de cobranca (crm de cobranca)|Rotina de Cobrança (CRM de Cobrança)]] para inclusão na fila. Ajuste os [[parametros de cobranca|Parâmetros de Cobrança]] para operação adequada. Para mais detalhes, consulte o manual: **[[rotina de cobranca (crm de cobranca)|Rotina de Cobrança (CRM de Cobrança)]]**.

### Etapa 3: Configuração da Tarefa EnviarSMSFila
Para o funcionamento eficaz da fila de SMS, é essencial cadastrar a tarefa **EnviarSMSFila**. O processo inicia-se com a configuração das mensagens de SMS nos [[parametros de cobranca|Parâmetros de Cobrança]]. Em seguida, a [[tarefa - atualizar cobrancas|Tarefa - Atualizar cobranças]] executa e envia essas mensagens para a fila de SMS. A tarefa EnviarSMSFila é então responsável por processar esta fila, garantindo que as mensagens sejam efetivamente enviadas aos destinatários.

Para realizar a configuração da tarefa, siga os passos abaixo:

>[!TIP] Dica:
>Recomendável que a tarefa esteja configurada para executar em horário comercial, devido ao envio de mensagens de cunho financeiro.

1. Acesse o formulário de **Agenda de tarefas** através do caminho: Ferramentas > Ferramentas > Agenda de tarefas;
2. Clique no botão **Novo** para cadastrar a tarefa;
3. No campo **Tarefa**, selecione a opção **EnviarSMSFila**;
4. Na seção Minuto, no campo **Tipo**, marque a opção **Valor**. Indique a mesma quantidade definida no intervalo definido no [[cadastro de mensagem de sms|Cadastro de Mensagem de SMS]]. No campo **Valor**, insira o número de minutos na seguinte estrutura: `*/2` (exemplo);
5. Nos demais campos, nas seções **Hora**, **Dia do mês**, **Mês** e **Dia da semana**, marque a opção **Todos**. Configurando desta forma, o sistema sempre atualizará os dados de rastreamento a cada 2 minutos;
6. Clique em **Salvar** para validar a criação da tarefa. A partir desta configuração, o sistema já irá iniciar a execução da tarefa.

Após a configuração da tarefa, ela seguirá executando automaticamente e irá identificar as mensagens armazenadas na fila de SMS, respeitando o intervalo definido no cadastro da mensagem de SMS e no intervalo da tarefa de SMS.

## Funcionalidades Principais

### Atualização das mensagens na fila
- O formulário permite atualizar a lista de mensagens na fila assim que um novo envio é realizado, garantindo que os usuários tenham acesso às informações mais recentes.

### Gerenciamento da fila de SMS
- O formulário apresenta de forma geral, todas as informações competentes ao envio da mensagem e seu registro na fila, como o status de envio, prioridade e o telefone de envio, promovendo uma gestão eficiente sobre o uso da fila de SMS.

## Fluxo de utilização

```mermaid
sequenceDiagram
	participant CRM
	participant Sistema
	participant FilaSMS
	participant GatewaySMS
	participant Cliente
	CRM->>Sistema: Dispara mensagem
	Sistema->>FilaSMS: Adiciona mensagem à fila
		loop Processamento da Fila
		FilaSMS->>FilaSMS: Verifica prioridades e tempo de envio
		FilaSMS->>GatewaySMS: Envia mensagem
		GatewaySMS->>Cliente: Entrega SMS
	end
```

## Considerações Finais
O uso da ferramenta de fila de SMS no sistema representa uma solução eficiente para a comunicação com clientes. Seus principais benefícios incluem a otimização do processo de cobrança, a melhoria na entrega de informações importantes e uma operação eficiente do uso de [[gateway sms|Gateway SMS]]. A implementação adequada desta ferramenta pode resultar em maior engajamento dos clientes, redução de inadimplência e aumento da satisfação geral.

## Etiquetas
#Integracao #Integracoes #GatewaySMS #MensagemDeSMS #FilaSMS #RotinaDeCobranca 

## Leia Também
- [[integracoes|Integrações]]
- [[sup - suporte integracoes gerais|SUP - Suporte Integrações Gerais]]
- [[rotina de cobranca (crm de cobranca)|Rotina de Cobrança (CRM de Cobrança)]]
- [[parametros de cobranca|Parâmetros de Cobrança]]
- [[mensagens sms|Mensagens SMS]]
- [[cadastro de mensagem de sms|Cadastro de Mensagem de SMS]]
- [[gateway sms|Gateway SMS]]
- [[aba (fila sms) na mensagem sms|Aba (Fila SMS) na Mensagem SMS]]
- [[tarefa - enviarsmsfila|Tarefa - EnviarSMSFila]]
- [[log sms|Log SMS]]