Mudanças entre as edições de "SMS"
Linha 2: | Linha 2: | ||
Para utilização do envio de SMS pelo sistema Tek-System ERP 4G será necessário a liberação da funcionalidade na Licença do cliente. | Para utilização do envio de SMS pelo sistema Tek-System ERP 4G será necessário a liberação da funcionalidade na Licença do cliente. | ||
== Envio de SMS == | == Envio de SMS == |
Edição das 18h55min de 12 de abril de 2023
Liberação da Funcionalidade
Para utilização do envio de SMS pelo sistema Tek-System ERP 4G será necessário a liberação da funcionalidade na Licença do cliente.
Envio de SMS
Os envios de SMS podem ser realizados através de processamentos específicos, agendamentos, gatilhos, entre outros.
Serão enviados apenas para pessoas que possuem telefones do tipo igual a C = Celular.
INTEGRACAO SMS: Enviar Mensagem
Envio de mensagem SMS informada pelo usuário através do processamento específico INTEGRACAO SMS: Enviar Mensagem para filtros de pessoas.
Ao executar o processamento será apresentado a tela com os filtros:
No campo de mensagem, o usuário poderá informar a mensagem que deseja enviar.
Não deve ser utilizado quebra de linha através do ENTER.
Utilize a tag <br> para quebra de linha na mensagem.
Utilize a tag <RAZAO_PESSOA> para substituir pelo nome da pessoa encontrada nos filtros.
Ao executar, irá apresentar uma tela para selecionar quais pessoas irão receber as mensagens.
Após confirmação dos filtros, será enviado as mensagens SMS.
INTEGRACAO SMS: Enviar Status dos Documentos
Envio de mensagem SMS através do processamento específico INTEGRACAO SMS: Enviar Status dos Documentos para documentos que tiveram alteração de Status na data atual.
Ao executar o processamento será apresentado a tela com os filtros:
No campo de mensagem, o usuário poderá informar a mensagem que deseja enviar. Caso não informe uma mensagem, será utilizado a mensagem padrão:
A mensagem deve ter no máximo 160 caracteres.
Alteracao de status <br> <TIPODOCUMENTO>: <DOCUMENTO> <br> Status: <CODIGO_STATUS> - <DESCRICAO_STATUS> <br> Data: <DATA_ALTERACAO>
Não deve ser utilizado quebra de linha através do ENTER.
Tags disponíveis:
<br> para quebra de linha na mensagem.
<CODIGO_PESSOA> para substituir pelo código da pessoa encontrada nos filtros.
<RAZAO_PESSOA> para substituir pelo nome da pessoa encontrada nos filtros.
<EMPRESA> para substituir pelo nome da empresa.
<DOCUMENTO> para substituir pelo número do documento.
<CODIGO_STATUS> para substituir pelo código do último status atualizado.
<DESCRICAO_STATUS> para substituir pelo descrição do último status atualizado.
<DATA_ALTERACAO> para substituir pela data do último status atualizado.
Ao executar, irá apresentar uma tela para selecionar quais pessoas irão receber as mensagens.
Após confirmação dos filtros, será enviado as mensagens SMS.
INTEGRACAO SMS: Enviar Cobrança
Envio de mensagem SMS através do processamento específico INTEGRACAO SMS: Enviar Cobrança para duplicatas e cheques de cobrança.
Ao executar o processamento será apresentado a tela com os filtros:
No campo de mensagem, o usuário poderá informar a mensagem que deseja enviar. Caso não informe uma mensagem, será utilizado a mensagem padrão:
A mensagem deve ter no máximo 160 caracteres.
Ola! Nao identificamos o pagamento do titulo <DOCUMENTO>. Entre em contato para chegarmos juntos a melhor solucao.<br> <EMPRESA>
Não deve ser utilizado quebra de linha através do ENTER.
Tags disponíveis:
<br> para quebra de linha na mensagem.
<CODIGO_PESSOA> para substituir pelo código da pessoa encontrada nos filtros.
<RAZAO_PESSOA> para substituir pelo nome da pessoa encontrada nos filtros.
<EMPRESA> para substituir pelo nome da empresa.
<DOCUMENTO> para substituir pelo número do documento.
<SEQUENCIA> para substituir pelo código da sequencia da duplicata ou cheque.
<DTEMISSAO> para substituir pela data de emissão da duplicata ou cheque.
<DTVENCIMENTO> para substituir pela data de vencimento da duplicata ou cheque.
<VALOR> para substituir pelo valor da duplicata ou cheque.
<VALOR_ABERTO> para substituir pelo valor aberto da duplicata ou cheque.
<VALOR_PAGO> para substituir pelo valor pago da duplicata ou cheque.
Ao executar, irá apresentar uma tela para selecionar quais pessoas irão receber as mensagens.
Após confirmação dos filtros, será enviado as mensagens SMS.
Agendamento de SMS
Ao acessar o cadastro de Agendamentos no módulo BI - Gerador de Relatórios, o usuário poderá verificar o exemplo de utilização do agendamento de SMS.
Menu -> Relatórios -> Agendamentos
Selecionar a opção de Condição para Execução, Exemplo de Envio de SMS.
Envio de Status de Documentos
Exemplo de configuração para agendamento de envio de status dos documentos.
Configuração padrão, filtros vazios:
- Será enviado SMS para todas pessoas que possuem telefone do tipo C= Celular, e que tenham a marcação de envia Mala Direta em seu cadastro.
- Será considerado todos documentos que tiveram atualização de Status no dia.
- IgnorarEcommerces: Indica que o processamento irá ignorar pedidos referente E-Commerces, pois geralmente as notificações já são tratadas pelas integrações.
- A mensagem a ser enviada deverá respeitar o limite de 160 caracteres.
Condição para Execução:
unit ProcessarEnvioSMS; uses TEK_INTEGRACAO_SMS_PROC_STATUS_DOCUMENTOS; const IgnorarEcommerces = True; Filtros = ''; function Main: OleVariant; var Mensagem: String; begin Mensagem := 'Alteracao de status <br> <TIPODOCUMENTO>: <DOCUMENTO> <br> Status: <CODIGO_STATUS> - <DESCRICAO_STATUS> <br> Data: <DATA_ALTERACAO>'; TEK_INTEGRACAO_SMS_PROC_STATUS_DOCUMENTOS.DefinirMensagemPadrao(Mensagem); TEK_INTEGRACAO_SMS_PROC_STATUS_DOCUMENTOS.ProcessarAgendamento(Filtros, IgnorarEcommerces); Result := True; end; end.
Para utilizar filtros diferentes do padrão será necessário preencher as constantes Filtros.
Exemplo:
Considerar apenas pedidos de venda da empresa, com status alterados na data atual, e pessoas com telefone igual ao tipo C= Celular e marcação de Envia Mala Direta.
const Filtros = ' and DOCUMENTO_FATURA.TIPO_DOCFAT = 1 ' + #13 + ' and DOCUMENTO_STATUS.DATAHORAALTERACAO_DOCSTA >= ' + DataSQL(HOJE, 1) + #13 + ' and DOCUMENTO_FATURA.EMPRESA_DOCFAT = ' + IntToStr(Codigo_Empresa_Atual) + #13 + ' and PESSOA_TELEFONE.TIPOTELEFONE_PESSOA_TEL = ''C''' + #13 + ' and PESSOA.MALADIRETA_PESSOA = ''S''';
Envio de Cobrança
Exemplo de configuração para agendamento de envio de cobrança por SMS.
Configuração padrão, filtros vazios:
- Será enviado SMS para todas pessoas que possuem telefone do tipo C= Celular, e que tenham a marcação de envia Mala Direta em seu cadastro.
- Será considerado todas duplicatas abertas com vencimento anterior a dois dias da data atual.
- Será considerado todos cheques devolvidos abertos com vencimento anterior a dois dias da data atual.
- A mensagem a ser enviada deverá respeitar o limite de 160 caracteres.
Condição para Execução:
unit ProcessarEnvioSMS; uses TEK_INTEGRACAO_SMS_PROC_COBRANCA; const FiltrosDup = ''; FiltrosChe = ''; function Main: OleVariant; var Mensagem: String; begin Mensagem := 'Ola! Nao identificamos o pagamento do titulo <DOCUMENTO>. Entre em contato para chegarmos juntos a melhor solucao.<br> <EMPRESA>'; TEK_INTEGRACAO_SMS_PROC_COBRANCA.DefinirMensagemPadrao(Mensagem); TEK_INTEGRACAO_SMS_PROC_COBRANCA.ProcessarAgendamento(FiltrosDup, FiltrosChe); Result := True; end; end.
Para utilizar filtros diferentes do padrão será necessário preencher as constantes FiltrosDup(Para Duplicatas) e/ou FiltrosChe(Para Cheques).
Exemplo:
Duplicatas com vencimento no ano anterior.
const FiltrosDup := ' and DUPLICATA.VENCIMENTO_DUP between ' + DataSQL(INICIO_ANO_ANTERIOR, 1) + ' and ' + DataSQL(FIM_ANO_ANTERIOR, 2) + #13 + ' and DUPLICATA.SUBSTITUIDA_DUP = ''N''' + #13 + ' and DUPLICATA.DESCONSIDERADA_DUP = ''N''' + #13 + ' and PESSOA_TELEFONE.TIPOTELEFONE_PESSOA_TEL = ''C''' + #13 + ' and PESSOA.MALADIRETA_PESSOA = ''S''' + #13 + ' and DUPLICATA.EMPRESA_DUP = ' + IntToStr(Codigo_Empresa_Atual) + #13; FiltrosChe := '';
Desconsiderar cheques para envio:
const FiltrosDup = ''; FiltrosChe = 'and CHEQUE.AUTOINC_CHE = -1';
Contatos Efetivados
Gatilhos
Exemplo de utilização de envio de SMS através de gatilhos.
Enviar SMS notificando ao cliente sempre que houver alteração do Status do Documento.
Incluir cadastro de Gatilho para a tabela DOCUMENTO_FATURA e utilizar opção de Evento como 2 - Ao aplicar(Cliente - BeforeApplyUpdates).
Para testar, entre em um cadastro de pedido de venda e altere o Status. Irá enviar um SMS para o cliente caso ele tenha um número de Celular cadastrado.
unit GatilhoDocumento; const cSistema = 86; var CDSCad, CDSTemp: TClientDataSet; Documento, Mensagem, Celular, Status, DescStatus, Sql: String; procedure Main; begin if OldValue('STATUS_DOCFAT') <> Value('STATUS_DOCFAT') then begin CDSCad := FonteDeDados('CDSCadastro'); CDSTemp := TClientDataSet.Create; try Sql := 'select PESSOA_TELEFONE.TELEFONE_PESSOA_TEL' + #13 + 'from PESSOA' + #13 + 'left join PESSOA_TELEFONE on (PESSOA_TELEFONE.PESSOA_PESSOA_TEL = PESSOA.CODIGO_PESSOA)' + #13 + 'where PESSOA.MALADIRETA_PESSOA = ''S''' + #13 + ' and PESSOA_TELEFONE.TIPOTELEFONE_PESSOA_TEL = ''C''' + #13 + ' and PESSOA_TELEFONE.TELEFONE_PESSOA_TEL is not null' + #13 + ' and PESSOA.CODIGO_PESSOA = ' + CDSCad.FieldByName('CLIENTE_DOCFAT').AsString; CDSTemp.Data := ExecuteReader(Sql); Documento := CDSCad.FieldByName('CODIGO_DOCFAT').AsString; Status := CDSCad.FieldByName('STATUS_DOCFAT').AsString; DescStatus := CDSCad.FieldByName('DESCRICAO_STATUS').AsString; Mensagem := 'Alteracao de status <br> Pedido: ' + Documento + ' <br> Status: ' + Status + ' - ' + DescStatus + ' <br> Data: ' + DateTimeToStr(Hoje); if not CDSTemp.IsEmpty then CarregarUnitDinamicamente('TEK_INTEGRACAO_SMS'); CDSTemp.First; while not CDSTemp.Eof do begin Celular := CDSTemp.FieldByName('TELEFONE_PESSOA_TEL').AsString; EnviarSimplesSms(cSistema, Documento, Celular, Mensagem, '', '', Hoje); CDSTemp.Next; end; finally CDSTemp.Free; end; end; end; end.